X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fmisc%2FDemo2.java;h=ed1d3d89f6b7529c2d791197f171dd8b46c9c47e;hb=731f00e92c8a8e205678900bc038a8c24cf9b2ae;hp=60bd6ee437c79bd03dcd37da07badfdffb4849ae;hpb=3ee451bce342d4bb61ad6235ba57bdf817bfdd1a;p=sbp.git diff --git a/src/edu/berkeley/sbp/misc/Demo2.java b/src/edu/berkeley/sbp/misc/Demo2.java index 60bd6ee..ed1d3d8 100644 --- a/src/edu/berkeley/sbp/misc/Demo2.java +++ b/src/edu/berkeley/sbp/misc/Demo2.java @@ -1,4 +1,4 @@ -// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license +// Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license package edu.berkeley.sbp.misc; @@ -19,8 +19,8 @@ public class Demo2 { Element[] mult = new Element[] { expr, atom('*'), expr }; Element[] paren = new Element[] { atom('('), expr, atom(')') }; - Sequence addSequence = Sequence.create("add", add, null, false); - Sequence multSequence = Sequence.create("mult", mult, null, false); + Sequence addSequence = Sequence.create("add", add, null); + Sequence multSequence = Sequence.create("mult", mult, null); // uncomment this line to disambiguate //multSequence = multSequence.andnot(Sequence.create("add", add, null, false)); @@ -30,7 +30,7 @@ public class Demo2 { expr.add(multSequence); expr.add(Sequence.create(atom('0', '9'))); - String input = "(1+3*8)*7"; + edu.berkeley.sbp.chr.CharInput input = new edu.berkeley.sbp.chr.CharInput("(1+3*8)*7"); System.out.println("input: \""+input+"\""); @@ -39,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())); + } } }