fix missing productions in demo.g and math.g
[sbp.git] / src / edu / berkeley / sbp / misc / TestAstGenerator.java
1 // Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
2
3 package edu.berkeley.sbp.misc;
4
5 import edu.berkeley.sbp.*;
6 import edu.berkeley.sbp.chr.*;
7 import edu.berkeley.sbp.misc.*;
8 import edu.berkeley.sbp.meta.*;
9 import edu.berkeley.sbp.util.*;
10 import java.util.*;
11 import java.io.*;
12
13 public class TestAstGenerator {
14
15     public static GrammarAST.ImportResolver resolver = new GrammarAST.ImportResolver() {
16             public InputStream getImportStream(String importname) {
17                 try {
18                     return new FileInputStream("tests/"+importname);
19                 } catch (IOException e) {
20                     throw new RuntimeException(e);
21                 }
22             }
23         };
24
25     public static void main(String[] s) throws Exception {
26
27         Parser metaGrammarParser   = new CharParser(GrammarAST.getMetaGrammar());
28         Tree<String> parsedGrammar = metaGrammarParser.parse(new CharInput(new FileInputStream(s[0]))).expand1();
29         PrintWriter pw = new PrintWriter(System.out);
30         GrammarAST.emitCode(pw, parsedGrammar, "Expr", resolver);
31         pw.flush();
32     }
33
34 }