Given an actual AST structure of

         ^(ROOT ^(PACKAGE ^(PACKAGENAME ID+)))

this tree pattern rule works as expected

         package : ^(PACKAGE ^(PACKAGENAME id+=ID+)) ;

and this works

         package : PACKAGE ;

However, this rule does not

         package : PACKAGE ^(PACKAGENAME id+=ID+) ;

Seems that it generates code that expects a flat structure:

                PACKAGE5 = (AstTree) match(input, PACKAGE, 
FOLLOW_PACKAGE_in_packageStatement162);
                 if (state.failed) return;
                 match(input, PACKAGENAME, 
FOLLOW_PACKAGENAME_in_packageStatement166);
                 if (state.failed) return;

                 match(input, Token.DOWN, null);
                 ...

Is this is intended behavior?

Thanks...

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to