X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FTestAstGenerator.java;fp=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FTestAstGenerator.java;h=4ccbdc73c53861ba4b0fe4c7d2edb47e2265ea18;hp=0000000000000000000000000000000000000000;hb=fe1771360b47a8b7202cf0ee296d89ad9b4adf37;hpb=681e48fd761e0095f4694d8586244f67b31845ac diff --git a/src/edu/berkeley/sbp/misc/TestAstGenerator.java b/src/edu/berkeley/sbp/misc/TestAstGenerator.java new file mode 100644 index 0000000..4ccbdc7 --- /dev/null +++ b/src/edu/berkeley/sbp/misc/TestAstGenerator.java @@ -0,0 +1,34 @@ +// Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license + +package edu.berkeley.sbp.misc; + +import edu.berkeley.sbp.*; +import edu.berkeley.sbp.chr.*; +import edu.berkeley.sbp.misc.*; +import edu.berkeley.sbp.meta.*; +import edu.berkeley.sbp.util.*; +import java.util.*; +import java.io.*; + +public class TestAstGenerator { + + public static GrammarAST.ImportResolver resolver = new GrammarAST.ImportResolver() { + public InputStream getImportStream(String importname) { + try { + return new FileInputStream("tests/"+importname); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }; + + public static void main(String[] s) throws Exception { + + Parser metaGrammarParser = new CharParser(GrammarAST.getMetaGrammar()); + Tree parsedGrammar = metaGrammarParser.parse(new CharInput(new FileInputStream(s[0]))).expand1(); + PrintWriter pw = new PrintWriter(System.out); + GrammarAST.emitCode(pw, parsedGrammar, "Expr", resolver); + pw.flush(); + } + +}