[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