diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag index 2b6c25346171a0b75082654cd2b10e104f9c972d..8cc005500c8f1fe86b5219a199c194f390e9c4bd 100644 --- a/CompilerGeneration.jrag +++ b/CompilerGeneration.jrag @@ -26,7 +26,9 @@ aspect AbsGrammarGeneration { } void OwlRestriction.genAbsGrammar(PrintStream pStream) { - pStream.print(getRestrictionPropertyId()); +// pStream.print(getRestrictionPropertyId()); + pStream.print(getRestrictionClassId().substring(0,1).toLowerCase()+ + getRestrictionClassId().substring(1)); pStream.print(":"); pStream.print(getRestrictionClassId()); if (allValuesFrom()) { @@ -66,3 +68,30 @@ aspect AbsGrammarGeneration { } + + +aspect JavaCCGen { + + public void ASTNode.genJavaCC(PrintStream pStream) { + for (int i=0; i<getNumChild(); i++) { + getChild(i).genAbsGrammar(pStream); + } + } + + public void Start.genJavaCC(PrintStream pStream) { + pStream.println("options {"); + pStream.println(" MULTI = true;"); + pStream.println(" VISITOR = true;"); + pStream.println(" NODE_DEFAULT_VOID = true;"); + pStream.println(" NODE_SCOPE_HOOK = false;"); + pStream.println(" NODE_PREFIX = \"\";"); + pStream.println(" JAVA_UNICODE_ESCAPE = true;"); + pStream.println(" STATIC = false;"); + pStream.println("} "); + pStream.println("PARSER_BEGIN(OwlParser)"); + pStream.println("package AST;"); + pStream.println("public class OwlParser {"); + pStream.println("}"); + pStream.println("PARSER_END(OwlParser)"); + } +} diff --git a/GenCompiler.java b/GenCompiler.java index 6ab52a888135d5b67fd02b0b570da951f224835a..cb769cbcf076b77516a3b4ee65b9c1613024eaf7 100644 --- a/GenCompiler.java +++ b/GenCompiler.java @@ -12,5 +12,6 @@ public class GenCompiler extends Parser { // Should be generated to a file when sufficiently // implemented. AndersN 060210 ast.genAbsGrammar(System.out); + ast.genJavaCC(System.out); } -} \ No newline at end of file +}