[antlr-interest] Mutual left recursion rmoval help!!

Gavin Lambert antlr at mirality.co.nz
Wed May 6 14:10:47 PDT 2009


At 08:45 7/05/2009, babak.teymouri at noos.fr wrote:
>[22:21:26] error(210):  The following sets of rules are mutually 
>left-recursive [value_expression_primary]
>[22:21:26] Aborting because the following rules are mutually 
>left-recursive:
>     [[T.value_expression_primary,index=2,line=16]]
[...]
>value_expression_primary :
[...]
>| value_expression_primary PERIOD method_name sql_argument_list?

There's your left recursion.

With the general recursion pattern:

rule
   : a | b | c | rule d | rule e
   ;

The correct replacement is:

rule
   : (a | b | c) (d | e)*
   ;



More information about the antlr-interest mailing list