X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FDemo2.java;h=c31a9df52ea3f4a70da8564e92d955430c112e82;hp=fbe0ecfe78861b2b6bd2e682993b17d1ecd6e025;hb=dc9bb3a45ed306e2e35549076842b3e74efecb48;hpb=2c1c0293545f3d12c23220fd05c663e6aa3f3de1 diff --git a/src/edu/berkeley/sbp/misc/Demo2.java b/src/edu/berkeley/sbp/misc/Demo2.java index fbe0ecf..c31a9df 100644 --- 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.*; @@ -21,14 +23,14 @@ public class Demo2 { 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'))); - 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+"\""); @@ -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("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())); + } } }