diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag index c277c988ab50d84806ec0a67450a41b9ab0783cb..6880ef7ab9004ea3fedb44141f5ab98badd0e92b 100644 --- a/CompilerGeneration.jrag +++ b/CompilerGeneration.jrag @@ -95,7 +95,7 @@ aspect AbsGrammarGeneration { pStream.print(name()); pStream.print(" : "+getSuperClass().name()); pStream.print(" ::="); - getProperties().genAbsGrammar(pStream); + // getProperties().genAbsGrammar(pStream); pStream.println(";"); } diff --git a/Names.jrag b/Names.jrag index 100864c39e72df494169797ff445b598ce2f08aa..0a9289e4f9efb0668402f45a4138050d1635e6d2 100644 --- a/Names.jrag +++ b/Names.jrag @@ -25,7 +25,7 @@ aspect Names { eq OwlProperty.name() = getId(); eq OwlRestriction.name() = getRestrictionClassId(); eq Declaration.name() = getElement(0).name(); - eq Clazz.name() = iri().name(); + eq Clazz.name() = iri().trim(); eq NamedIndividual.name() = iri().trim(); diff --git a/Rewrites.jrag b/Rewrites.jrag index 48169f591f9465ce271c5a895a72473c7f73acc2..210a876d0cdb42ec137ef2dc5dee8c34af7a0824 100644 --- a/Rewrites.jrag +++ b/Rewrites.jrag @@ -60,6 +60,7 @@ aspect MiscUtilities { } } return false; + } boolean ComplexElement.hasRdfAbout() { diff --git a/Types.jrag b/Types.jrag index e6e457a369250e84dfdb53908b9b6cec715f30e2..95f400fc9ed459625b58c8268d1cadfe105d97c9 100644 --- a/Types.jrag +++ b/Types.jrag @@ -22,6 +22,27 @@ import java.util.ArrayList; aspect Types { + syn lazy Declaration Declaration.getSuperClass() = null; + eq ClassDeclaration.getSuperClass() { + return goStart().getSuperClass(name()); + } + + syn Declaration ASTNode.getSuperClass(String name) = null; + eq Start.getSuperClass(String name) = + getSpecification().getSuperClass(name); + eq Specification.getSuperClass(String name) = + getOntoDeclaration().getSuperClass(name); + eq ComplexElement.getSuperClass(String name) { + for (Element e : getElementList()) { + Declaration d = e.getSuperClass(name); + if (d != null) { + return d; + } + } + return null; + } + + syn lazy OClass OClass.getSuperClass(); eq OwlClassDecl.getSuperClass() { for (int i=0; i<getNumElement(); i++) { diff --git a/WorkArounds.jrag b/WorkArounds.jrag new file mode 100644 index 0000000000000000000000000000000000000000..45088ce0e77c91d1a0c9888f480448607e2c7696 --- /dev/null +++ b/WorkArounds.jrag @@ -0,0 +1,27 @@ +/* -*-Java-*- */ + +/* + * Copyright (C) 2011 Anders Nilsson <anders.nilsson@control.lth.se> + * + * This file is part of OntologyCompiler. + * + * OntologyCompiler is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + + * OntologyCompiler is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with OntologyCompiler. If not, see <http://www.gnu.org/licenses/>. + */ + +aspect Fixes { + int ASTNode.numChildren; + int ASTNode.numChildren() {return jjtGetNumChildren();} + int List.getNumNoTransformChild() {return getNumChildNoTransform();} + int Opt.getNumChildNoTransfrom() {return getNumChildNoTransform();} +} \ No newline at end of file diff --git a/tools/jastadd2.jar b/tools/jastadd2.jar index 2c96386291530abd4e514113a523dc9507ad35ee..8856a41c394d8ba30e293a0e1ceb2814bb1a96bc 100644 Binary files a/tools/jastadd2.jar and b/tools/jastadd2.jar differ