1 // Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
3 package edu.berkeley.sbp.misc;
4 import edu.berkeley.sbp.*;
5 import edu.berkeley.sbp.util.*;
8 import java.lang.reflect.*;
10 public abstract class StringWalker extends TreeWalker<String> {
11 public void walk(String tag) { }
12 public Object walk(Tree<String> tree) {
13 Object o = tree.head();
14 if (!(o instanceof String)) o = null; /* FIXME */
16 return super.walk(tree);
18 public Object walk(String tag, Object[] tokens) {
19 if (tokens.length==0) return tag;
20 if (tag==null) return null;
21 throw new Error("walker error: couldn't walk tag " + tag + " with " + tokens.length + " children");