public abstract class TreeWalker<T> {
public abstract Object walk(T head, Object[] args);
+ public Object walk(Tree<T> tree, int idx) {
+ return walk(tree.child(idx));
+ }
+ public void walkChildren(Tree<T> tree) {
+ for(Tree<T> child : tree.children()) walk(child);
+ }
public Object walk(Tree<T> tree) {
Object[] args = new Object[tree.numChildren()];
int i = 0;