[antlr-interest] Comments and questions on a recent project

Tiller, Michael (M.M.) mtiller at ford.com
Mon Aug 26 11:44:36 PDT 2002


> From: mzukowski at yci.com [mailto:mzukowski at yci.com]
> Subject: RE: [antlr-interest] Comments and questions on a 
> recent project
> 
> 
> Oops.  Yes, it is:
> 
> {#cd=#[,#cd,#fn];}
> 
> The rule is:  
> 	1.  The first node gets the second as a child (if null nothing
> happens to first)
> 	2.  The rest of the nodes are added as siblings in order.
> 
> Monty

Hmmm...

I put this in my grammar:  "{ #cd1 = #[,#cd1,#f]; }"

This gives me "Syntax error in action: line 118: unexpected char: ," from ANTLR.

Are you just making this up as you go. ;-)

--
Mike

> 
> > -----Original Message-----
> > From: Tiller, Michael (M.M.) [mailto:mtiller at ford.com]
> > Sent: Monday, August 26, 2002 10:46 AM
> > To: 'antlr-interest at yahoogroups.com'
> > Subject: RE: [antlr-interest] Comments and questions on a 
> > recent project
> > 
> > 
> > > From: mzukowski at yci.com [mailto:mzukowski at yci.com]
> > > Subject: RE: [antlr-interest] Comments and questions on a 
> > recent project
> > > 
> > > > Sorry, I wasn't clear about that.  The "class_definition" 
> > > > rule is used in
> > > > other places.  I suppose I could move the imaginary node 
> > > > creation up one
> > > > level.  The drawback would be that I would end up creating 
> > > > DEFINITION nodes
> > > > in several places rather than just one.  Is there a way to 
> > > > add a child to an
> > > > existing node?!?  I wasn't able to get this out of the tree 
> > > > construction
> > > > documentation.  In other words, isn't there an easy way to do 
> > > > this in a
> > > > language neutral way:
> > > > 
> > > > stored_definition
> > > >   : (fn:"final")? cd:class_definition
> > > >     { #cd->addChild(#fn); }
> > > > 
> > > 
> > > Yes:
> > > 
> > > {#cd=#[#cd,#fn];}
> > 
> > 
> > This does not seem to do what I want.  Let's say I have a 
> > tree for "cd"
> > already and it looks like this:
> > 
> > #(DECLARATION IDENT long_def)
> > 
> > I want to add #fn (if it is not pointing to nullAST) to this 
> > so that I get:
> > 
> > #(DECLARATION IDENT long_def "final")
> > 
> > When I do as you suggest, I get:
> > 
> > #(DECLARATION "final")
> > 
> > In other words, it creates a whole new tree and discards 
> the previous
> > children.  I want to add a child to an existing tree, not 
> > create a new tree
> > from scratch.  Is there a language neutral way to accomplish that?
> > 
> > --
> > Mike
> > 
> >  
> > 
> > Your use of Yahoo! Groups is subject to 
> http://docs.yahoo.com/info/terms/ 
> 
> 
>  
> 
> Your use of Yahoo! Groups is subject to 
http://docs.yahoo.com/info/terms/ 


 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 



More information about the antlr-interest mailing list