X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Ftib%2FTibDoc.java;h=347f59eab54d4a794e92061c702a101545363037;hp=b44678f961f8f8f958d8d68def302cb4af12f979;hb=7fbee73b4dd985cb5b217ed297710c00fd9d7004;hpb=18dfe61f848a447940ddc58852929f9d00948ab5 diff --git a/src/edu/berkeley/sbp/tib/TibDoc.java b/src/edu/berkeley/sbp/tib/TibDoc.java index b44678f..347f59e 100644 --- a/src/edu/berkeley/sbp/tib/TibDoc.java +++ b/src/edu/berkeley/sbp/tib/TibDoc.java @@ -14,14 +14,26 @@ public class TibDoc { public static void main(String[] s) throws Exception { System.out.println("parsing " + s[0]); - Tree res = new Parser(MetaGrammar.make(), CharToken.top()).parse1(new CharToken.Stream(new FileInputStream(s[0]))); + Tree res = new CharToken.CharToStringParser(MetaGrammar.make()).parse1(new CharToken.Stream(new FileInputStream(s[0]))); MetaGrammar gram = (MetaGrammar)new Tib.Grammar().walk(res); //System.out.println(gram); Union mg = gram.done(); System.out.println("\nparsing " + s[1]); - res = new Parser(mg, CharToken.top()).parse1(new Tib(new FileInputStream(s[1]))); - System.out.println(res); + res = new CharToken.CharToStringParser(mg).parse1(new Tib(new FileInputStream(s[1]))); + System.out.println(((Tree)walk(res)).toString(0, 0, 120)); + } + + public static Tree walk(Tree tree) { + String head = tree.head(); + if ("stringify".equals(head)) { + String ret = ""; + for(Tree t : tree.child(0)) ret += t; + return new Tree(null, ret); + } + Tree[] children = new Tree[tree.numChildren()]; + for(int i=0; i(null, head, children); }