diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag
index 138ff1e4dbf9fd9c49f0256a700de7efdb7a0573..1e4f9193e8bdd3e6e2a0fdd97688ecbd0f1fe18c 100644
--- a/CompilerGeneration.jrag
+++ b/CompilerGeneration.jrag
@@ -10,7 +10,7 @@ aspect AbsGrammarGeneration {
     }
 
     public void Start.genAbsGrammar(PrintStream pStream) {
-		pStream.println("Start ::= Device*");
+		pStream.println("Start ::= Device*;");
 		pStream.println("abstract Thing ::=;");
 		super.genAbsGrammar(pStream);
     }
diff --git a/GenCompiler.java b/GenCompiler.java
index cb769cbcf076b77516a3b4ee65b9c1613024eaf7..513ebdccd6dba09f2d679371eef50167e59df110 100644
--- a/GenCompiler.java
+++ b/GenCompiler.java
@@ -1,6 +1,8 @@
 // package programs;
 
 import AST.Start;
+import java.io.File;
+import java.io.PrintStream;
 
 public class GenCompiler extends Parser {
 	public static void main(String args[]) {
@@ -9,9 +11,25 @@ public class GenCompiler extends Parser {
 		// Dump the AST
 // 		ast.dumpTree("  ", System.out);
 
-		// Should be generated to a file when sufficiently
-		// implemented. AndersN 060210
-		ast.genAbsGrammar(System.out);
-		ast.genJavaCC(System.out);
+
+		File siarasDir = new File("siaras");
+		if (!siarasDir.isDirectory()) {
+			siarasDir.mkdir();
+		}
+
+		try {
+			PrintStream absGrammarStream = new PrintStream(new File("siaras/Siaras.ast"));
+			ast.genAbsGrammar(absGrammarStream);
+		} catch (java.io.FileNotFoundException e) {
+			System.out.println("Could not create file for generated abstract grammar");
+			e.printStackTrace();
+		}
+		try {
+			PrintStream javaCCStream = new PrintStream(new File("siaras/Siaras.jjt"));
+			ast.genJavaCC(javaCCStream);
+		} catch (java.io.FileNotFoundException e) {
+			System.out.println("Could not create file for generated JavaCC grammar");
+			e.printStackTrace();
+		}
 	}
 }
diff --git a/JavaCCChunks.jrag b/JavaCCChunks.jrag
index 61786fcd81b66eaa837ce1fc788d8d0ac751f338..9579c2a415a500924d6b2b0c5e435ad7569aa924 100644
--- a/JavaCCChunks.jrag
+++ b/JavaCCChunks.jrag
@@ -13,7 +13,7 @@ aspect JavaCCChunks {
 		pStream.println("} ");
 		pStream.println();
 		pStream.println("PARSER_BEGIN(SiarasParser)");
-		pStream.println("    package siaras;");
+		pStream.println("    package siaras.AST;");
 		pStream.println("    public class SiarasParser {");
 		pStream.println("}");
 		pStream.println("PARSER_END(SiarasParser)");
diff --git a/build.xml b/build.xml
index a0c5b6c232e466edf94c10170b9e0015897d0416..7277ff82a0ad659790b9852185caaf26418cb7de 100644
--- a/build.xml
+++ b/build.xml
@@ -37,9 +37,9 @@
 <!--     <jastadd package="${package}" rewrite="true" beaver="true" novisitcheck="true"> -->
     <jastadd package="${package}" grammar="${parser.name}" rewrite="true" jjtree="true">
       <fileset dir=".">
-	<include name="**/*.ast"/>
-	<include name="**/*.jrag"/>
-	<include name="**/*.jadd"/>
+	<include name="*.ast"/>
+	<include name="*.jrag"/>
+	<include name="*.jadd"/>
       </fileset>
     </jastadd>
     <jjtree