[antlr-interest] How to deal with this kind of situation?
Stefan.Maetje at esd-electronics.com
Mon Jun 4 08:17:35 PDT 2012
Am 04.06.2012 14:14, schrieb Felix.徐:
> Hi,all, here is the gramma:
> columnName (',' columnName)* -> ^(SM_TOK columnName)
> I want the output ast of "A,B" to have multiple SM_TOK , like : (SM_TOK A)
> (SM_TOK B)
> But,currently,I only have: (SM_TOK A)
> It seems that 'B' will be ignored.
> Can anyone help me to fix this gramma?
Use something like:
columnName (',' columnName)* -> ^(SM_TOK columnName)+
Please note the '+' sign I added to your rewrite rule.
If you want to have something like
^(SM_TOK A B)
columnName (',' columnName)* -> ^(SM_TOK columnName+)
Please observe the different position of '+' here.
More information about the antlr-interest