projects
/
sbp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
abort if only remaining nodes are doomed
[sbp.git]
/
src
/
edu
/
berkeley
/
sbp
/
misc
/
Demo2.java
diff --git
a/src/edu/berkeley/sbp/misc/Demo2.java
b/src/edu/berkeley/sbp/misc/Demo2.java
index
fbe0ecf
..
c31a9df
100644
(file)
--- a/
src/edu/berkeley/sbp/misc/Demo2.java
+++ b/
src/edu/berkeley/sbp/misc/Demo2.java
@@
-1,3
+1,5
@@
+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
package edu.berkeley.sbp.misc;
import edu.berkeley.sbp.*;
package edu.berkeley.sbp.misc;
import edu.berkeley.sbp.*;
@@
-21,14
+23,14
@@
public class Demo2 {
Sequence multSequence = Sequence.create("mult", mult, null, false);
// uncomment this line to disambiguate
Sequence multSequence = Sequence.create("mult", mult, null, false);
// uncomment this line to disambiguate
- multSequence = multSequence.andnot(Sequence.create("add", add, null, false));
+ //multSequence = multSequence.andnot(Sequence.create("add", add, null, false));
expr.add(Sequence.create(paren, 1));
expr.add(addSequence);
expr.add(multSequence);
expr.add(Sequence.create(atom('0', '9')));
expr.add(Sequence.create(paren, 1));
expr.add(addSequence);
expr.add(multSequence);
expr.add(Sequence.create(atom('0', '9')));
- String input = "8+(1+3)*7";
+ edu.berkeley.sbp.chr.CharInput input = new edu.berkeley.sbp.chr.CharInput("(1+3*8)*7");
System.out.println("input: \""+input+"\"");
System.out.println("input: \""+input+"\"");
@@
-37,7
+39,12
@@
public class Demo2 {
System.out.println("grammar: \n"+sb);
Forest f = new edu.berkeley.sbp.chr.CharParser(expr).parse(input);
System.out.println("grammar: \n"+sb);
Forest f = new edu.berkeley.sbp.chr.CharParser(expr).parse(input);
- System.out.println("output: "+f.expand1().toPrettyString());
+ try {
+ System.out.println("output: "+f.expand1().toPrettyString());
+ } catch (Ambiguous a) {
+ System.err.println(a.toString());
+ System.err.println(" ambiguous text: " + input.showRegion(a.getForest().getRegion()));
+ }
}
}
}
}