From: adam Date: Wed, 5 Jul 2006 00:26:49 +0000 (-0400) Subject: checkpoint X-Git-Tag: tag_for_25-Mar~227 X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=117f3082281baf893dd183c0d50d809b147f2f1c checkpoint darcs-hash:20060705002649-5007d-dedd077450906dd2a768f21fd7c63235444e4691.gz --- diff --git a/src/edu/berkeley/sbp/misc/Demo.java b/src/edu/berkeley/sbp/misc/Demo.java index 2b99ffb..b6c0524 100644 --- a/src/edu/berkeley/sbp/misc/Demo.java +++ b/src/edu/berkeley/sbp/misc/Demo.java @@ -89,13 +89,13 @@ public class Demo { return false; } public Object repeatTag() { - return new Reducer() { + return new Functor,Object>() { public String toString() { return ""; } - public Object reduce(Iterable t) { + public Object invoke(Iterable t) { ArrayList ret = new ArrayList(); for(Tree tc : t) { - if (tc.head() != null && tc.head() instanceof Reducer) - ret.add(((Reducer)tc.head()).reduce(tc.children())); + 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 { @@ -242,7 +242,7 @@ public class Demo { public abstract Object plant(Object[] fields, int[] map); public boolean isRaw() { return false; } public Object invokeRaw(Iterable t) { return null; } - public class TargetReducer implements Reducer { + public class TargetReducer implements Functor,Object> { private Production p; private int[] map; private String name; @@ -252,12 +252,12 @@ public class Demo { this.name = name; } public String toString() { return name; } - public Object reduce(Iterable t) { + public Object invoke(Iterable t) { if (isRaw()) return invokeRaw(t); ArrayList ret = new ArrayList(); for(Tree tc : t) { - if (tc.head() != null && tc.head() instanceof Reducer) - ret.add(((Reducer)tc.head()).reduce(tc.children())); + 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 { @@ -271,10 +271,6 @@ public class Demo { } } - public static interface Reducer { - public Object reduce(Iterable t); - } - public static class TargetClass extends Target { public final Class _class; public TargetClass(Class _class) { this._class = _class; } @@ -485,8 +481,8 @@ public class Demo { } public static Union make(Tree t, String s) { return make(t, s, new ReflectiveMeta()); } public static Union make(Tree t, String s, ReflectiveMeta rm) { - Reducer red = (Reducer)t.head(); - MG.Grammar g = (MG.Grammar)red.reduce(t.children()); + Functor,Object> red = (Functor,Object>)t.head(); + MG.Grammar g = (MG.Grammar)red.invoke(t.children()); Context cx = new Context(g,rm); Union u = null; for(MG.NonTerminal nt : g.nonterminals) { @@ -785,8 +781,8 @@ public class Demo { } public Context(Tree t, ReflectiveMeta rm) { this.rm = rm; - Reducer red = (Reducer)t.head(); - this.grammar = (MG.Grammar)red.reduce(t.children()); + Functor,Object> red = (Functor,Object>)t.head(); + this.grammar = (MG.Grammar)red.invoke(t.children()); } public Union peek(String name) { return map.get(name); } public void put(String name, Union u) { map.put(name, u); } diff --git a/src/edu/berkeley/sbp/misc/RegressionTests.java b/src/edu/berkeley/sbp/misc/RegressionTests.java index dc52644..02a5eee 100644 --- a/src/edu/berkeley/sbp/misc/RegressionTests.java +++ b/src/edu/berkeley/sbp/misc/RegressionTests.java @@ -59,7 +59,7 @@ public class RegressionTests { System.err.println("expanding..."); Tree t = r2.expand1(); - TestCase[] expanded = (TestCase[])((Demo.Reducer)t.head()).reduce(t.children()); + TestCase[] expanded = (TestCase[])((Functor)t.head()).invoke(t.children()); System.err.println("executing..."); for(TestCase tc : expanded) { tc.execute(); diff --git a/src/edu/berkeley/sbp/tib/TibDoc.java b/src/edu/berkeley/sbp/tib/TibDoc.java index 00ef9ce..a32c529 100644 --- a/src/edu/berkeley/sbp/tib/TibDoc.java +++ b/src/edu/berkeley/sbp/tib/TibDoc.java @@ -522,8 +522,7 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix Tree t = new CharParser(tibgram).parse(new Tib(new FileInputStream(s[1]))).expand1(); System.out.println("tree:\n" + t.toPrettyString()); - Reducer red = (Reducer)t.head(); - Object result = red.reduce(t); + Object result = ((Functor)t.head()).invoke(t); System.out.println((TD.Doc)result); /* System.out.println("parsing " + s[0]);