-// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+// Copyright 2006-2007-2007 all rights reserved; see LICENSE file for BSD-style license
package edu.berkeley.sbp;
-import edu.berkeley.sbp.*;
import edu.berkeley.sbp.util.*;
-import edu.berkeley.sbp.Sequence.Position;
-import java.io.*;
import java.util.*;
-/** if ambiguity checking is enabled, this exception is thrown to signal that the parse was ambiguous */
+/** thrown to signal that a parse was ambiguous */
public class Ambiguous extends Exception {
- final Forest<?> ambiguity;
- private final HashSet<Tree<?>> ht;
+ private final Forest<?> ambiguity;
+ private final HashSet<Tree<?>> possibilities;
/**
- * @param ht a specially-constructed set of trees with shared nodes replaced by '*'
+ * @param possibilities is a specially-constructed set of trees with shared nodes replaced by '*'
*/
- Ambiguous(Forest<?> ambiguity, HashSet<Tree<?>> ht) {
+ Ambiguous(Forest<?> ambiguity, HashSet<Tree<?>> possibilities) {
this.ambiguity = ambiguity;
- this.ht = ht;
+ this.possibilities = possibilities;
}
- public Forest<?> getAmbiguity() { return ambiguity; }
-
- /** WARNING: this method is not considered part of the "stable API"; it may be removed in the future */
- public Input.Region getRegion() { return ambiguity.getRegion(); }
+ public Forest<?> getForest() { return ambiguity; }
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("unresolved ambiguity at "+ambiguity.getRegion()+"; shared subtrees are shown as \"*\" ");
- for(Tree<?> result : ht) {
+ for(Tree<?> result : possibilities) {
sb.append("\n possibility: ");
StringBuffer sb2 = new StringBuffer();
result.toPrettyString(sb2);