projects
/
sbp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
partition states into doomed and non-doomed
[sbp.git]
/
src
/
edu
/
berkeley
/
sbp
/
Ambiguous.java
diff --git
a/src/edu/berkeley/sbp/Ambiguous.java
b/src/edu/berkeley/sbp/Ambiguous.java
index
37a857c
..
bd87fd9
100644
(file)
--- a/
src/edu/berkeley/sbp/Ambiguous.java
+++ b/
src/edu/berkeley/sbp/Ambiguous.java
@@
-1,3
+1,5
@@
+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
package edu.berkeley.sbp;
import edu.berkeley.sbp.*;
import edu.berkeley.sbp.util.*;
package edu.berkeley.sbp;
import edu.berkeley.sbp.*;
import edu.berkeley.sbp.util.*;
@@
-7,8
+9,13
@@
import java.util.*;
/** if ambiguity checking is enabled, this exception is thrown to signal that the parse was ambiguous */
public class Ambiguous extends Exception {
/** if ambiguity checking is enabled, this exception is thrown to signal that the parse was ambiguous */
public class Ambiguous extends Exception {
+
final Forest<?> ambiguity;
private final HashSet<Tree<?>> ht;
final Forest<?> ambiguity;
private final HashSet<Tree<?>> ht;
+
+ /**
+ * @param ht a specially-constructed set of trees with shared nodes replaced by '*'
+ */
Ambiguous(Forest<?> ambiguity, HashSet<Tree<?>> ht) {
this.ambiguity = ambiguity;
this.ht = ht;
Ambiguous(Forest<?> ambiguity, HashSet<Tree<?>> ht) {
this.ambiguity = ambiguity;
this.ht = ht;
@@
-16,13
+23,14
@@
public class Ambiguous extends Exception {
public Forest<?> getAmbiguity() { return ambiguity; }
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 String toString() {
public String toString() {
- // FIXME: print the input region that was ambiguously matched
StringBuffer sb = new StringBuffer();
sb.append("unresolved ambiguity at "+ambiguity.getRegion()+"; shared subtrees are shown as \"*\" ");
StringBuffer sb = new StringBuffer();
sb.append("unresolved ambiguity at "+ambiguity.getRegion()+"; shared subtrees are shown as \"*\" ");
- //sb.append("\noffending text: ");
for(Tree<?> result : ht) {
for(Tree<?> result : ht) {
- sb.append("\n possibility: ");
+ sb.append("\n possibility: ");
StringBuffer sb2 = new StringBuffer();
result.toPrettyString(sb2);
sb.append(StringUtil.indent(sb2.toString(), 15));
StringBuffer sb2 = new StringBuffer();
result.toPrettyString(sb2);
sb.append(StringUtil.indent(sb2.toString(), 15));