尝试(honor+=NAME|honor+=DIGIT)+,然后$honor是一个令牌列表。
我拿出了$honor的列表
for(int r = 0; r < list_honor.size(); r++)
honorstr = honorstr + list_honor.get(r).text; 输入:test
输出:[@752,2539:2585='test',<6>,19:11]
怎么啦?
发布于 2014-03-13 18:46:52
我认为列表在两个备选方案中都是初始化的:
rule
: ( honor+=NAME /* alternatvie 1 */
| honor+=DIGIT /* alternatvie 2 */
)+
;尝试如下所示:
rule
: honor+=(NAME | DIGIT)+
;或者,如果这不起作用,就像这样:
rule
: honor+=sub_rule+
;
sub_rule
: NAME
| DIGIT
;https://stackoverflow.com/questions/22374478
复制相似问题