[antlr-interest] Indirect left recursion?

Julián Hidalgo julian.hidalgo at gmail.com
Fri Nov 9 04:21:55 PST 2007


Hi

The following fragment is taken from one of the earliest examples in 
the book (Expr.g):

expr:   multExpr (('+'|'-') multExpr)*
     ;

multExpr
     :   atom ('*' atom)*
     ;

atom:   INT
     |   ID
     |   '(' expr ')'
     ;

Now my question is: isn't this indirectly recursive? How does ANTLR 
handle it? I haven't read the whole book yet, so forgive me if the 
answer is over there (but I did read the "LL-Incompatible Decisions" 
section and the "Left-recursion" section).

Thanks in advance.
Julián


More information about the antlr-interest mailing list