+ public Object walk(Tree<String> tree) {
+ String head = tree.head();
+ if (tree.numChildren()==0) return super.walk(tree);
+ if ("\\n".equals(head)) return new Character('\n');
+ else if ("\\r".equals(head)) return new Character('\r');
+ else if ("grammar".equals(head)) { for(Tree<String> t : tree.children()) walk(t); return this; }
+ else return super.walk(tree);
+ }
+