[antlr-interest] Collecting parameters

David Smith david.smith at cc.gatech.edu
Sat May 21 10:14:14 PDT 2011


Your contributors have been very helpful with my novice questions, 
and I thank them.  Here's another:

I am trying to build an AST that processes text like:
           v4 = [1 2 3 4]
The following rule works:

term  :   (OPENB .+ CLOSEB) => OPENB vals CLOSEB
                                -> ^(VECTOR vals)
       |    OPENB CLOSEB        -> EMPTY_VECTOR
       |    DOUBLE
       |    ID
       |    '('! expr ')'!
       ;

vals returns [List items]
       :   vl+=expr (COMMA? vl+=expr)* {$items = $vl;}
       ;

but it produces tree nodes like:

(= v4 (VECTOR 1 2 3 4))
but I really want

(= v4 (VECTOR values))

where 'values' is some kind of Java collection like an ArrayList.

How do I do that?


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