diff --git a/DumpClasses.java b/DumpClasses.java index fa9dcac24dd4291417210d49dbca750267aa6eca..c567efdc6acf933ba15474425bfa23543e1bb40f 100644 --- a/DumpClasses.java +++ b/DumpClasses.java @@ -10,7 +10,7 @@ import AST.Start; public class DumpClasses extends Parser { public static void main(String args[]) { - Start ast = parse(args); + Start ast = parse(args[0]); // Dump the AST // ast.dumpTree(" ", System.out); diff --git a/GenCompiler.java b/GenCompiler.java index c98a1da1ac11f09b14d2d59223067324818a2e3d..a54b665389c9abb0a46ff8f66c6c3f1b69992a60 100644 --- a/GenCompiler.java +++ b/GenCompiler.java @@ -14,10 +14,14 @@ public class GenCompiler extends Parser { public static void main(String args[]) { String name = "default"; + String dirName = "default"; String owlFile = ""; int i = 0; while (i<args.length) { if (args[i].equals("-d")) { + dirName = args[++i]; + i++; + } else if (args[i].equals("-n")) { name = args[++i]; i++; } else { @@ -27,7 +31,7 @@ public class GenCompiler extends Parser { Start ast = parse(owlFile); - File siarasDir = new File(name); + File siarasDir = new File(dirName); if (!siarasDir.isDirectory()) { siarasDir.mkdir(); } @@ -35,17 +39,17 @@ public class GenCompiler extends Parser { String fileName = null; try { // Generate JastAdd abstract grammar - fileName = name+"/"+name+".ast"; + fileName = dirName+"/"+name+".ast"; PrintStream pStream = new PrintStream(new File(fileName)); ast.genAbsGrammar(pStream); // Generate Parser.java - fileName = name+"/Parser.java"; + fileName = dirName+"/Parser.java"; pStream = new PrintStream(new File(fileName)); ast.genParser(pStream); // Generate aspects - fileName = name+"/GeneratedAspects.jrag"; + fileName = dirName+"/GeneratedAspects.jrag"; pStream = new PrintStream(new File(fileName)); ast.genAspects(pStream); diff --git a/Types.jrag b/Types.jrag index 40fb63d7874ac46b839133b5d7a11c3f5d1bdbac..e8c6181b0aea750306956cacbb743f3b9ff309df 100644 --- a/Types.jrag +++ b/Types.jrag @@ -31,6 +31,7 @@ aspect Types { eq OwlClassUse.decl() { ComplexElement top = getTopElement(); for (int i=0; i<top.getNumElement(); i++) { +// System.out.println(getId()+" == "+((ComplexElement) top.getElement(i)).getId()); if ((top.getElement(i) instanceof ComplexElement) && getId().equals(((ComplexElement) top.getElement(i)).getId())) { return (OwlClassDecl) top.getElement(i);