如何修复这个antlr语法,多个节点

时间:2012-06-04 12:13:36

标签: java parsing antlr grammar

所有,这是语法:

columnName(','columnName)* - > ^(SM_TOK columnName)

我希望“ A,B ”的输出ast具有多个 SM_TOK 节点,例如:(SM_TOK A)(SM_TOK B)

但是,目前,我只有:(SM_TOK A)

似乎会忽略'B'。

任何人都可以帮我修复这个语法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您的左侧指定了一个或多个columnName项,但右侧仅提及一个。尝试添加+,如下所示:

columnName (',' columnName)* -> ^((SM_TOK columnName)+)