[antlr-interest] How to get value of next token match - regd.

Gavin Lambert antlr at mirality.co.nz
Wed Nov 12 03:22:19 PST 2008


At 23:55 12/11/2008, Ashok Varikuti wrote:
 >node_id[Object g,String subID] returns [int nodeID] @init {
 >nodeID=0;}
 >    :
 >    ( i=id
 >    | ^(COLON i=id (r=ID) ? ( compass ) ? )
 >    ) {}
[...]
 >For this sample edge  cluster_A --> B, in the edges function,
 >start=node_id[g,subID] is the first match.
 >How do I do something like this, ( ^(D_EDGE_OP  (
 >start=edges[g,subID] | start=node_id[g,subID] (get value
 >of matched id in node_id func here) end=node_id[g,subID]
 >That is, I want to get the id of the matched node(which is
 >obvious node_id func) in the edges function.

You mean like $start.nodeID?  Or something else?

(To do that you'd need to make your node_id rule assign the ID to 
the $nodeID return value as well.)



More information about the antlr-interest mailing list