尝试(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]
出了什么问题?
答案 0 :(得分:0)
我认为列表是在两种备选方案中初始化的:
rule
: ( honor+=NAME /* alternatvie 1 */
| honor+=DIGIT /* alternatvie 2 */
)+
;
尝试这样的事情:
rule
: honor+=(NAME | DIGIT)+
;
或者如果不起作用,可以这样:
rule
: honor+=sub_rule+
;
sub_rule
: NAME
| DIGIT
;