X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FForest.java;h=1b92a764458515ed750fb3fbe2d604f61944c717;hb=628b3a8eaafdbe8507e841076051bff42aadf5ee;hp=bfa4eccfe6ece7964f4fc623510705a4656d8b92;hpb=45d799349e635f1a99e3974e4504a43d5a7aaf33;p=sbp.git diff --git a/src/edu/berkeley/sbp/Forest.java b/src/edu/berkeley/sbp/Forest.java index bfa4ecc..1b92a76 100644 --- a/src/edu/berkeley/sbp/Forest.java +++ b/src/edu/berkeley/sbp/Forest.java @@ -7,7 +7,10 @@ import java.util.*; import java.lang.reflect.*; /** an efficient representation of a collection of trees (Tomita's shared packed parse forest) */ -public abstract class Forest /*extends PrintableTree>*/ implements Visitable>, IntegerMappable, GraphViz.ToGraphViz { +public abstract class Forest /*extends PrintableTree>*/ + implements Visitable>, + IntegerMappable, + GraphViz.ToGraphViz { private static int master_idx = 0; private final int idx = master_idx++; @@ -35,10 +38,10 @@ public abstract class Forest /*extends PrintableTree>*/ impl public InnerAmbiguous(Forest f) { this.f = f; } } - public static interface TreeConsumer { + static interface TreeConsumer { public void addTree(Tree t); } - public static class HashSetTreeConsumer extends HashSet> implements TreeConsumer { + static class HashSetTreeConsumer extends HashSet> implements TreeConsumer { public void addTree(Tree t) { super.add(t); } @@ -156,6 +159,7 @@ public abstract class Forest /*extends PrintableTree>*/ impl * viewed, it becomes immutable */ static class Ref extends Forest { + public HashSet parents = new HashSet(); public boolean ambiguous() { if (hp.size()==0) return false; if (hp.size()==1) return hp.iterator().next().ambiguous();