// package programs; import AST.Start; import java.io.File; import java.io.PrintStream; public class GenCompiler extends Parser { public static void main(String args[]) { Start ast = parse(args); // Dump the AST // ast.dumpTree(" ", System.out); File siarasDir = new File("siaras"); if (!siarasDir.isDirectory()) { siarasDir.mkdir(); } String fileName = null; try { // Generate JastAdd abstract grammar fileName = "siaras/Siaras.ast"; PrintStream pStream = new PrintStream(new File(fileName)); ast.genAbsGrammar(pStream); // Generate JavaCC configuration // fileName = "siaras/Siaras.jjt"; // pStream = new PrintStream(new File(fileName)); // ast.genJavaCC(pStream); // Generate Parser.java fileName = "siaras/Parser.java"; pStream = new PrintStream(new File(fileName)); ast.genParser(pStream); // Generate Rewrites fileName = "siaras/Rewrites.jrag"; pStream = new PrintStream(new File(fileName)); ast.genRewrites(pStream); // Generate PrettyPrinter fileName = "siaras/PrettyPrinter.jrag"; pStream = new PrintStream(new File(fileName)); ast.genPrettyPrinter("",pStream); } catch (java.io.FileNotFoundException e) { System.out.println("Could not create file: "+fileName); e.printStackTrace(); } } }