[antlr-interest] infinite recursion
Nigel Sheridan-Smith
nbsherid at secsme.org.au
Sun Feb 27 16:01:35 PST 2005
> -----Original Message-----
> From: antlr-interest-bounces at antlr.org [mailto:antlr-interest-
> bounces at antlr.org] On Behalf Of jean.morissette666 at videotron.ca
> Sent: Monday, 28 February 2005 7:18 AM
> To: antlr-interest at antlr.org
> Subject: [antlr-interest] infinite recursion
>
> Hi,
> Is it possible to resolve the infinite recursion to rule expression
> from rule6?
>
> expression
> : LPAREN rule1 RPAREN
> | IDENTIFIER
> | rule2
> | rule3
> | rule4
> | rule5
> | rule6
> ;
>
> rule6
> : "first" LPAREN rule1 RPAREN
> | "last" LPAREN rule1 RPAREN
> | expression LBRACKET rule1 RBRACKET
> | expression rule7 IDENTIFIER
> | expression rule7 IDENTIFIER LPAREN RPAREN
> | expression rule7 IDENTIFIER LPAREN rule8 RPAREN
> ;
>
Left factor:
expression
: (LPAREN rule1 RPAREN)* (...)?
| ...
Alternatively, syntactic predicates might work, but I've never tried them
for this sort of thing:
rule6
: ...
| (expression rule7) => expression rule7 IDENTIFIER
(LPARAN (rule8)? RPARAN)?
;
Nigel
--
Nigel Sheridan-Smith
PhD research student
Faculty of Engineering
University of Technology, Sydney
Phone: 02 9514 7946
Fax: 02 9514 2435
More information about the antlr-interest
mailing list