checkpoint
[sbp.git] / src / edu / berkeley / sbp / tib / TibDoc.java
index f519729..347f59e 100644 (file)
@@ -21,7 +21,19 @@ public class TibDoc {
         
         System.out.println("\nparsing " + s[1]);
         res = new CharToken.CharToStringParser(mg).parse1(new Tib(new FileInputStream(s[1])));
-        System.out.println(res);
+        System.out.println(((Tree)walk(res)).toString(0, 0, 120));
+    }
+
+    public static Tree<String> walk(Tree<String> tree) {
+        String head = tree.head();
+        if ("stringify".equals(head)) {
+            String ret = "";
+            for(Tree<String> t : tree.child(0)) ret += t;
+            return new Tree<String>(null, ret);
+        }
+        Tree<String>[] children = new Tree[tree.numChildren()];
+        for(int i=0; i<children.length; i++) children[i] = walk(tree.child(i));
+        return new Tree<String>(null, head, children);
     }