ae150e6150518cd6bc8e5e4b53f7606e6dce1fa7
[sbp.git] / src / edu / berkeley / sbp / misc / StringWalker.java
1 package edu.berkeley.sbp.misc;
2 import edu.berkeley.sbp.*;
3 import edu.berkeley.sbp.util.*;
4 import java.io.*;
5 import java.util.*;
6 import java.lang.reflect.*;
7
8 public abstract class StringWalker extends TreeWalker<String> {
9     public void   walk(String tag) { }
10     public Object walk(Tree<String> tree) {
11         walk(tree.head());
12         return super.walk(tree);
13     }
14     public Object walk(String tag, Object[] tokens) {
15         if (tokens.length==0) return tag;
16         if (tag==null) return null;
17         throw new Error("walker error: couldn't walk tag " + tag + " with " + tokens.length + " children");
18     }
19 }