From c314fd21a696e91cba12c8d8f352060a9ffe7a81 Mon Sep 17 00:00:00 2001
From: Anders Nilsson <anders.nilsson@cs.lth.se>
Date: Mon, 14 Jul 2008 12:33:50 +0200
Subject: [PATCH] Can now parse the RoSta_new.owl ontology as of todays date

---
 owl.ast |  26 +++++++
 owl.jjt | 229 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 250 insertions(+), 5 deletions(-)

diff --git a/owl.ast b/owl.ast
index 8524e48..9ec8f76 100644
--- a/owl.ast
+++ b/owl.ast
@@ -14,6 +14,10 @@ XmlHeader ::= Attribute*;
 
 abstract Element;
 abstract ComplexElement : Element ::= Attribute* Element*;
+J0First : ComplexElement;
+J0Rest : ComplexElement;
+J1KIFCondition : ComplexElement;
+J1ExpressionData : ComplexElement;
 RdfDeclaration : ComplexElement;
 RdfDescription : ComplexElement;
 RdfFirst : ComplexElement;
@@ -48,6 +52,26 @@ OwlRestriction : ComplexElement;
 OwlSomeValuesFrom : OwlValuesFrom;
 OwlTransitiveProperty : ComplexElement;
 OwlUnionOf : ComplexElement;
+P1AnyOrder : ComplexElement;
+P1Components : ComplexElement;
+P1ComposedOf : ComplexElement;
+P1ControlConstructBag : ComplexElement;
+P1ControlConstructList : ComplexElement;
+P1Else : ComplexElement;
+P1HasInput : ComplexElement;
+P1HasOutput : ComplexElement;
+P1IfCondition : ComplexElement;
+P1IfThenElse : ComplexElement;
+P1Input : ComplexElement;
+P1Output : ComplexElement;
+P1ParameterType : ComplexElement;
+P1Perform : ComplexElement;
+P1Process : ComplexElement;
+P1RepeatUntil : ComplexElement;
+P1Sequence : ComplexElement;
+P1Then : ComplexElement;
+P1UntilProcess : ComplexElement;
+P1UntilCondition : ComplexElement;
 
 abstract SimpleElement : Element;
 StringElement : SimpleElement ::= <LITERAL>;
@@ -65,6 +89,8 @@ XmlBase : Attribute;
 Xmlns : Attribute;
 XmlnsDaml : Attribute;
 XmlnsDc : Attribute;
+XmlnsJ0 : Attribute;
+XmlnsJ1 : Attribute;
 XmlnsOwl : Attribute;
 XmlnsP1 : Attribute;
 XmlnsProtege : Attribute;
diff --git a/owl.jjt b/owl.jjt
index c7c19ab..d7dca3c 100644
--- a/owl.jjt
+++ b/owl.jjt
@@ -66,7 +66,11 @@ SPECIAL_TOKEN : /* COMMENTS */
 
 <DEFAULT, BOUNDS> TOKEN : /* RESERVED WORDS AND LITERALS */
 {
-    < OWL_ALLVALUESFROM     : "owl:allValuesFrom" >
+    < J0_FIRST              : "j.0:first" >
+  | < J0_REST               : "j.0:rest" >
+  | < J1_KIFCONDITION       : "j.1:KIF-Condition" >
+  | < J1_EXPRESSIONDATA     : "j.1:expressionData" >
+  | < OWL_ALLVALUESFROM     : "owl:allValuesFrom" >
   | < OWL_ALLDIFFERENT      : "owl:AllDifferent" >
   | < OWL_CARDINALITY        : "owl:cardinality" >
   | < OWL_CLASS             : "owl:Class" >
@@ -89,10 +93,30 @@ SPECIAL_TOKEN : /* COMMENTS */
   | < OWL_SOMEVALUESFROM    : "owl:someValuesFrom" >
   | < OWL_TRANSITIVEPROPERTY : "owl:TransitiveProperty" >
   | < OWL_UNIONOF           : "owl:unionOf" >
-  | < RDF_RDF            : "rdf:RDF"      >
-  | < RDF_ABOUT          : "rdf:about" >
+  | < P1_ANYORDER           : "p1:Any-Order" >
+  | < P1_COMPONENTS         : "p1:components" >
+  | < P1_COMPOSEDOF         : "p1:composedOf" >
+  | < P1_CONTROLCONSTRUCTBAG : "p1:ControlConstructBag" >
+  | < P1_CONTROLCONSTRUCTLIST : "p1:ControlConstructList" >
+  | < P1_ELSE               : "p1:else" >
+  | < P1_HASINPUT           : "p1:hasInput" >
+  | < P1_HASOUTPUT          : "p1:hasOutput" >
+  | < P1_IFCONDITION        : "p1:ifCondition" >
+  | < P1_IFTHENELSE         : "p1:If-Then-Else" >
+  | < P1_INPUT              : "p1:Input" >
+  | < P1_OUTPUT             : "p1:Output" >
+  | < P1_PARAMETERTYPE      : "p1:parameterType" >
+  | < P1_PERFORM            : "p1:Perform" >
+  | < P1_PROCESS            : "p1:process" >
+  | < P1_REPEATUNTIL        : "p1:Repeat-Until" >
+  | < P1_SEQUENCE           : "p1:Sequence" >
+  | < P1_THEN               : "p1:then" >
+  | < P1_UNTILCONDITION     : "p1:untilCondition" >
+  | < P1_UNTILPROCESS       : "p1:untilProcess" >
+  | < RDF_RDF               : "rdf:RDF"      >
+  | < RDF_ABOUT             : "rdf:about" >
   | < RDF_DATATYPE          : "rdf:datatype" >
-  | < RDF_DESCRIPTION        : "rdf:Description" >
+  | < RDF_DESCRIPTION       : "rdf:Description" >
   | < RDF_ID                : "rdf:ID" >
   | < RDF_FIRST             : "rdf:first" >
   | < RDF_PROPERTY          : "rdf:Property" >
@@ -111,6 +135,8 @@ SPECIAL_TOKEN : /* COMMENTS */
   | < XMLNS                 : "xmlns" >	 
   | < XMLNS_DAML            : "xmlns:daml" >	 
   | < XMLNS_DC              : "xmlns:dc" >	 
+  | < XMLNS_J0              : "xmlns:j.0" >	 
+  | < XMLNS_J1              : "xmlns:j.1" >	 
   | < XMLNS_P1              : "xmlns:p1" >	 
   | < XMLNS_OWL             : "xmlns:owl" >	 
   | < XMLNS_PROTEGE         : "xmlns:protege" >	 
@@ -332,8 +358,10 @@ void ElementList() #List : {}
 
 void Element() : {}
 {
-    ( "<" ( OwlElement()
+    ( "<" ( JElement()
+		| OwlElement()
 	    | RdfElement()
+	    | P1Element()
 		| DiscardedElement()
 	    ))
 	| SimpleElement()
@@ -410,6 +438,40 @@ String getData() {
 // 	{jjtThis.setIDENTIFIER(t.image);}
 // }
 
+void JElement(): {}
+{
+	J0First()
+	| J0Rest()
+	| J1KIFCondition()
+	| J1ExpressionData()
+}
+
+void J0First() #J0First : {}
+{
+    <J0_FIRST> AttributeList() 
+	(">" ElementList() "</" <J0_FIRST> ">" | ElementList() "/>")
+}
+
+void J0Rest() #J0Rest : {}
+{
+    <J0_REST> AttributeList() 
+	(">" ElementList() "</" <J0_REST> ">" | ElementList() "/>")
+}
+
+
+void J1KIFCondition() #J1KIFCondition : {}
+{
+    <J1_KIFCONDITION> AttributeList() 
+	(">" ElementList() "</" <J1_KIFCONDITION> ">" | ElementList() "/>")
+}
+
+
+void J1ExpressionData() #J1ExpressionData : {}
+{
+    <J1_EXPRESSIONDATA> AttributeList() 
+	(">" ElementList() "</" <J1_EXPRESSIONDATA> ">" | ElementList() "/>")
+}
+
 void OwlElement() : {}
 {
     OwlOntology()
@@ -575,6 +637,151 @@ void OwlUnionOf () #OwlUnionOf  : {}
 	(">" ElementList() "</" <OWL_UNIONOF> ">" | ElementList() "/>")
 }
 
+void P1Element() : {}
+{
+    P1AnyOrder()
+    | P1Components()
+    | P1ComposedOf()
+	| P1ControlConstructBag()
+	| P1ControlConstructList()
+	| P1Else()
+	| P1HasInput()
+	| P1HasOutput()
+	| P1IfCondition()
+	| P1IfThenElse()
+	| P1Input()
+	| P1Output()
+	| P1ParameterType()
+	| P1Perform()
+	| P1Process()
+	| P1RepeatUntil()
+	| P1Sequence()
+	| P1Then()
+	| P1UntilCondition()
+	| P1UntilProcess()
+}
+
+void P1AnyOrder() #P1AnyOrder : {}
+{
+    <P1_ANYORDER> AttributeList() 
+	(">" ElementList() "</" <P1_ANYORDER> ">" | ElementList() "/>")
+}
+
+void P1Components() #P1Components : {}
+{
+    <P1_COMPONENTS> AttributeList() 
+	(">" ElementList() "</" <P1_COMPONENTS> ">" | ElementList() "/>")
+}
+
+void P1ComposedOf() #P1ComposedOf : {}
+{
+    <P1_COMPOSEDOF> AttributeList() 
+	(">" ElementList() "</" <P1_COMPOSEDOF> ">" | ElementList() "/>")
+}
+
+void P1ControlConstructBag() #P1ControlConstructBag : {}
+{
+    <P1_CONTROLCONSTRUCTBAG> AttributeList() 
+	(">" ElementList() "</" <P1_CONTROLCONSTRUCTBAG> ">" | ElementList() "/>")
+}
+
+void P1ControlConstructList() #P1ControlConstructList : {}
+{
+    <P1_CONTROLCONSTRUCTLIST> AttributeList() 
+	(">" ElementList() "</" <P1_CONTROLCONSTRUCTLIST> ">" | ElementList() "/>")
+}
+
+void P1Else() #P1Else : {}
+{
+    <P1_ELSE> AttributeList() 
+	(">" ElementList() "</" <P1_ELSE> ">" | ElementList() "/>")
+}
+
+void P1HasInput() #P1HasInput : {}
+{
+    <P1_HASINPUT> AttributeList() 
+	(">" ElementList() "</" <P1_HASINPUT> ">" | ElementList() "/>")
+}
+
+void P1HasOutput() #P1HasOutput : {}
+{
+    <P1_HASOUTPUT> AttributeList() 
+	(">" ElementList() "</" <P1_HASOUTPUT> ">" | ElementList() "/>")
+}
+
+void P1IfCondition() #P1IfCondition : {}
+{
+    <P1_IFCONDITION> AttributeList() 
+	(">" ElementList() "</" <P1_IFCONDITION> ">" | ElementList() "/>")
+}
+
+void P1IfThenElse() #P1IfThenElse : {}
+{
+    <P1_IFTHENELSE> AttributeList() 
+	(">" ElementList() "</" <P1_IFTHENELSE> ">" | ElementList() "/>")
+}
+
+void P1Input() #P1Input : {}
+{
+    <P1_INPUT> AttributeList() 
+	(">" ElementList() "</" <P1_INPUT> ">" | ElementList() "/>")
+}
+
+void P1Output() #P1Output : {}
+{
+    <P1_OUTPUT> AttributeList() 
+	(">" ElementList() "</" <P1_OUTPUT> ">" | ElementList() "/>")
+}
+
+void P1ParameterType() #P1ParameterType : {}
+{
+    <P1_PARAMETERTYPE> AttributeList() 
+	(">" ElementList() "</" <P1_PARAMETERTYPE> ">" | ElementList() "/>")
+}
+
+void P1Perform() #P1Perform : {}
+{
+    <P1_PERFORM> AttributeList() 
+	(">" ElementList() "</" <P1_PERFORM> ">" | ElementList() "/>")
+}
+
+void P1Process() #P1Process : {}
+{
+    <P1_PROCESS> AttributeList() 
+	(">" ElementList() "</" <P1_PROCESS> ">" | ElementList() "/>")
+}
+
+void P1RepeatUntil() #P1RepeatUntil : {}
+{
+    <P1_REPEATUNTIL> AttributeList() 
+	(">" ElementList() "</" <P1_REPEATUNTIL> ">" | ElementList() "/>")
+}
+
+void P1Sequence() #P1Sequence : {}
+{
+    <P1_SEQUENCE> AttributeList() 
+	(">" ElementList() "</" <P1_SEQUENCE> ">" | ElementList() "/>")
+}
+
+void P1Then() #P1Then : {}
+{
+    <P1_THEN> AttributeList() 
+	(">" ElementList() "</" <P1_THEN> ">" | ElementList() "/>")
+}
+
+void P1UntilCondition() #P1UntilCondition : {}
+{
+    <P1_UNTILCONDITION> AttributeList() 
+	(">" ElementList() "</" <P1_UNTILCONDITION> ">" | ElementList() "/>")
+}
+
+void P1UntilProcess() #P1UntilProcess : {}
+{
+    <P1_UNTILPROCESS> AttributeList() 
+	(">" ElementList() "</" <P1_UNTILPROCESS> ">" | ElementList() "/>")
+}
+
+
 void RdfElement() : {}
 {
     RdfType()
@@ -716,6 +923,8 @@ void XmlnsAttribute() : {}
     Xmlns()
 	| XmlnsDaml()
 	| XmlnsDc()
+	| XmlnsJ0()
+	| XmlnsJ1()
 	| XmlnsOwl()
 	| XmlnsP1()
 	| XmlnsProtege()
@@ -742,6 +951,16 @@ void XmlnsDc() #XmlnsDc : {}
     <XMLNS_DC> <ASSIGN> Value()
 }
 
+void XmlnsJ0() #XmlnsJ0 : {}
+{
+    <XMLNS_J0> <ASSIGN> Value()
+}
+
+void XmlnsJ1() #XmlnsJ1 : {}
+{
+    <XMLNS_J1> <ASSIGN> Value()
+}
+
 void XmlnsP1() #XmlnsP1 : {}
 {
     <XMLNS_P1> <ASSIGN> Value()
-- 
GitLab