From 28742f3a1198f05edcb5527108f654f8c4387c02 Mon Sep 17 00:00:00 2001 From: Anders Nilsson <anders.nilsson@cs.lth.se> Date: Wed, 25 Jun 2008 12:17:53 +0200 Subject: [PATCH] Having problems with top-level classes no longer explicitly declaring themselves on top level --- DumpClasses.java | 2 +- GenCompiler.java | 12 ++++++++---- Types.jrag | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/DumpClasses.java b/DumpClasses.java index fa9dcac..c567efd 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 c98a1da..a54b665 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 40fb63d..e8c6181 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); -- GitLab