diff --git a/src/main/jastadd/AddEmptyDeclaration.jrag b/src/main/jastadd/AddEmptyDeclaration.jrag index ef477bd61cc82be6019b1ac208b5b6db312e0a81..1e0ffa83f8daebd5061bf0df8d3fff707219cc31 100644 --- a/src/main/jastadd/AddEmptyDeclaration.jrag +++ b/src/main/jastadd/AddEmptyDeclaration.jrag @@ -1,18 +1,12 @@ aspect AddEmptyDeclaration { - syn GrammarFile GrammarFile.addEmptyDecl() { + public GrammarFile GrammarFile.addEmptyDecl() { Declaration emptyDecl = new EmptyDeclaration(); SingleLineComment slc = new SingleLineComment(); - slc.setText("// DO NOT EDIT. Automatically generated using RoleAST.jar"); + slc.setText("// DO NOT EDIT. Automatically generated using RoleAST.jar\n"); emptyDecl.addComment(slc); - JastAddList declList = new JastAddList(); - declList.add(emptyDecl); - for (Declaration decl : this.getDeclarationList()) { - declList.add(decl); - } - - this.setDeclarationList(declList); + this.getDeclarationList().insertChild(emptyDecl, 0); //this.addDeclaration(emptyDecl); return this; diff --git a/src/main/java/org/jastadd/preprocessor/Main.java b/src/main/java/org/jastadd/preprocessor/Main.java index 66005eb99cec83a048ab953474f81a799f7132c5..da34a4ad1e971c84bfb2a4c8dec6f10ea77b23dd 100644 --- a/src/main/java/org/jastadd/preprocessor/Main.java +++ b/src/main/java/org/jastadd/preprocessor/Main.java @@ -109,7 +109,8 @@ public class Main extends org.jastadd.relast.compiler.RelAstProcessor { printMessage("Writing output file " + grammarFile.getFileName()); // TODO decide and document what the file name should be, the full path or a simple name? grammarFile.addEmptyDecl(); - writeToFile(outputBasePath.resolve(inputBasePath.relativize(Paths.get(grammarFile.getFileName()))), grammarFile.generateAbstractGrammar()); + System.out.println(grammarFile.getFileName()); + writeToFile(outputBasePath.resolve(grammarFile.getFileName()), grammarFile.generateAbstractGrammar()); }