[antlr-interest] TreeParser doubt
    cintyram 
    cintyram at yahoo.com
       
    Mon Mar 10 08:01:40 PST 2003
    
    
  
hi,
 i had a tree parser lilke this ..
rule1 : # ( ID ID rule2 ) ;
rule2 : # ( ASSIGN ID ( COMMA ID )* ) ;
but because i have to extract the values of the matched text, 
 into the data structures in the main program i modified the rules as
follows ..
 rule1 
 [ 
   std::string & name  ,
   std::string & value ,
   std::vector<std::string> & list
 ] 
  : #( nam:ID {name = nam->getText() ; }
       val:ID {value = nam->getText() ; }
      { rule2(list) ; }
     ) /// wrong code .. tule2 shud get the tree it should mtch ..
  ;
 rule2
 [
  std::vector<std::string> & list
 ]
  : # ( ASSIGN i:ID{list.push_back(i->getText() );}
       ( COMMA id:ID {list.push_back(id->getText() );}
       )* 
     )
  ;
as stated in the comment, rule2 has to be passed the tree it is
supposed to match, if used as a function .. 
so what should i do now?
Thanks in advance
cheers
ram
 
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
    
    
More information about the antlr-interest
mailing list