X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FAmbiguous.java;h=1f7cc3880dc2906b6a4b81ccebcbcf0275d516e0;hb=aaa5d101e054dc548e7ef7831b1fcb7913a4d4d4;hp=56e1af7a53099b30a27c88582c6e6e8faedc2945;hpb=a22c5074e705e3ffcf03e9f9d174aed8ef79fc91;p=sbp.git diff --git a/src/edu/berkeley/sbp/Ambiguous.java b/src/edu/berkeley/sbp/Ambiguous.java index 56e1af7..1f7cc38 100644 --- a/src/edu/berkeley/sbp/Ambiguous.java +++ b/src/edu/berkeley/sbp/Ambiguous.java @@ -6,14 +6,17 @@ import java.io.*; import java.util.*; /** if ambiguity checking is enabled, this exception is thrown to signal that the parse was ambiguous */ -public class Ambiguous extends RuntimeException { - public final Forest ambiguity; - public Ambiguous(Forest ambiguity) { this.ambiguity = ambiguity; } +public class Ambiguous extends Exception { + 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 "/*"at " + ambiguity.getLocation() + ":"*/); - for(Object result : ambiguity.expand(false)) - sb.append("\n " + result); + sb.append("unresolved ambiguity "); + for(Tree result : ambiguity.expand(false)) { + sb.append("\n\n"); + result.toPrettyString(sb); + } return sb.toString(); } }