[antlr-interest] Why is ANTLR getting lost?
Fred
phreed at gmail.com
Wed Feb 20 06:52:27 PST 2008
If I'm not mistaken this is a know bug in 3.0.1
You can work around it by using LL(k) rather than LL(*) thereby
suppressing the construction of the DFA.
This can be done by adding...
options { k=4 }
...to the offending rule.
peace
> Date: Wed, 20 Feb 2008 06:32:46 -0600
> From: Jon Schewe <jpschewe at mtu.net>
> Subject: Re: [antlr-interest] Why is ANTLR getting lost?
> To: antlr-interest <antlr-interest at antlr.org>
> Message-ID: <47BC1DEE.6050005 at mtu.net>
> Content-Type: text/plain; charset="iso-8859-1"
>
> I've figured out that ANTLR is dying in the DFA when it's trying to
> determine which branch of the constraintDecl rule to follow. Attached
> is the grammar, suggestions on how to resolve this are very welcome.
>
> Test case is here:
> /**
> * @throws RecognitionException
> */
> @Test
> public void testConstraintDecl0() throws RecognitionException {
> final String data = "constraint3: 5.0 <= 6 + 6 * a[1 + 3] * c - 1 <=
> 10.0;";
>
> final GHOCESLexer lexer = new GHOCESLexer(new ANTLRStringStream(data));
> final CommonTokenStream tokens = new CommonTokenStream(lexer);
> final GHOCESParser parser = new GHOCESParser(tokens);
> final GHOCESParser.constraintDecl_return r = parser.constraintDecl();
> Assert.assertNotNull(r);
> }
More information about the antlr-interest
mailing list