X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FAmbiguous.java;h=394aab6b27482a11aedd0d840df615e608b81e55;hp=1f7cc3880dc2906b6a4b81ccebcbcf0275d516e0;hb=1b5d6cf8ab6963d50c168c9daeb7887b45a343ea;hpb=a26089cd0d7c95cad657b745e836cb4cba35a97a diff --git a/src/edu/berkeley/sbp/Ambiguous.java b/src/edu/berkeley/sbp/Ambiguous.java index 1f7cc38..394aab6 100644 --- a/src/edu/berkeley/sbp/Ambiguous.java +++ b/src/edu/berkeley/sbp/Ambiguous.java @@ -7,13 +7,19 @@ import java.util.*; /** if ambiguity checking is enabled, this exception is thrown to signal that the parse was ambiguous */ public class Ambiguous extends Exception { - public final Forest ambiguity; - public Ambiguous(Forest ambiguity) { this.ambiguity = ambiguity; } + public final Forest ambiguity; + public Ambiguous(Forest ambiguity) { + this.ambiguity = ambiguity; + } public String toString() { // FEATURE: more legible printout desperately needed StringBuffer sb = new StringBuffer(); sb.append("unresolved ambiguity "); - for(Tree result : ambiguity.expand(false)) { + HashSet hf = new HashSet(); + ambiguity.gather(hf); + HashSet ht = new HashSet(); + ambiguity.expand(ht, hf, new Tree(null, "...", null, false)); + for(Tree result : ht) { sb.append("\n\n"); result.toPrettyString(sb); }