[antlr-interest] AST with optional parameters

David Smith david.smith at cc.gatech.edu
Tue Jun 7 04:41:11 PDT 2011


I'm parsing a grammar in which the semicolon on the end of a line is 
optional. So two of the statement rules might be:
    |   (ID GETS expr SEMI) => ID GETS expr SEMI -> ^(GETS ID expr SEMI)
    |   (ID GETS) => ID GETS expr -> ^(GETS ID expr)
Since this occurs with a number of different assignment statements, I 
would really like to collapse this into one rule that looks something 
like this:
    |   (ID GETS) => ID GETS e=expr (s=SEMI)? -> ^(GETS ID $e $s)
but every implementation I can think of either refuses to generate 
the grammar or, as in the case above, generates the grammar but 
decides that the variable 's' is unknown.
Is there a any way to achieve this?

                                 DMS

David M. Smith http://www.cc.gatech.edu/fac/David.Smith
Georgia Institute of Technology, College of Computing
Sent from my ASR-33 Teletype 



More information about the antlr-interest mailing list