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