X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FDemo.java;h=dbe62666eea7a2def2f2664eb76da1edcfc68bf1;hp=b6c05241d23d2b8c6a94484fe38f931de1cc8918;hb=80a840adb5df31ba5edd20ecac23086ad09a5ca1;hpb=117f3082281baf893dd183c0d50d809b147f2f1c diff --git a/src/edu/berkeley/sbp/misc/Demo.java b/src/edu/berkeley/sbp/misc/Demo.java index b6c0524..dbe6266 100644 --- a/src/edu/berkeley/sbp/misc/Demo.java +++ b/src/edu/berkeley/sbp/misc/Demo.java @@ -89,23 +89,7 @@ public class Demo { return false; } public Object repeatTag() { - return new Functor,Object>() { - public String toString() { return ""; } - public Object invoke(Iterable t) { - ArrayList ret = new ArrayList(); - for(Tree tc : t) { - if (tc.head() != null && tc.head() instanceof Functor) - ret.add(((Functor,Object>)tc.head()).invoke(tc.children())); - else if (tc.numChildren() == 0) - ret.add(tc.head()); - else { - System.err.println("FIXME: don't know what to do about " + tc); - ret.add(null); - } - } - return ret.toArray(new Object[0]); - } - }; + return new Tree.ArrayBuildingTreeFunctor(); } public Sequence tryResolveTag(String tag, String nonTerminalName, Element[] els, Object[] labels, boolean[] drops) { Production p = new Production(tag, nonTerminalName, els, labels, drops);