[antlr-interest] forcing parenthesis (no precedence)
David-Sarah Hopwood
david-sarah at jacaranda.org
Thu Jul 16 07:55:38 PDT 2009
Stuart Dootson wrote:
> On Thu, Jul 16, 2009 at 1:21 PM, hakan eryargi <hakan.eryargi at gmail.com> wrote:
>> i will really appreciate a simple sample if possible :)
>
> Simple grammar that mimics the Ada approach:
>
> grammar test;
>
> program : expression EOF
> ;
>
> expression
> : primary ( ('AND' primary ) + | ( 'OR' primary ) +)
> ;
This doesn't allow a single <primary> that does not use AND/OR as an
<expression>. You want something like:
expression
: primary ( ('AND' primary ) + | ( 'OR' primary ) +)?
;
(It's also preferable to declare all of the tokens, as in my other reply.)
> primary : VARIABLE
> | 'TRUE'
> | 'FALSE'
> | '(' expression ')'
> ;
>
> VARIABLE : 'a'..'z' +
> ;
--
David-Sarah Hopwood ⚥ http://davidsarah.livejournal.com
More information about the antlr-interest
mailing list