[antlr-interest] Newbie Question
Behdad Forghani
behdad.forghani at samsarasol.com
Mon Mar 16 19:05:39 PDT 2009
Thanks for the help. You are correct, builtinType has more than one
node. I wanted the constraint to be the child of builtinType. I found
that rewriting the rule in this way works:
type :
builtinType ^ constraint |
builtinType;
It seems to me the problem was when constraint was empty.
Thanks again.
On Mon, 2009-03-16 at 16:43 -0700, Jim Idle wrote:
> Behdad Forghani wrote:
> > Hello,
> >
> > I am trying to built AST from a rule with an optional part.
> > The rule is:
> >
> > type :
> > builtinType constraint?;
> >
> >
> > I want the constraint node to be the child of builtinType. So, I add:
> >
> > type :
> > builtinType constraint?->^(builtinType constraint?);
> >
> That should be fine, unless the constraint has more than one node
> itself, which I am guessing is your issue. You probably really want an
> imaginary token here:
>
> tokens {
> BUILTINTYPE;
> }
>
> type :
> builtinType constraint?->^(BUILTINTYPE builtinType constraint?);
>
> ;
>
> Jim
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
More information about the antlr-interest
mailing list