这就是我想做的事情:
我有一个代表项目列表的参考.我想要一个列表框(跷跷板?)显示此列表内容,自动更新(每当我更改参考时).
添加skip到规则不符合我的预期.这是一对由逗号和空格分隔的标记的语法.我制作了一个用逗号标记的版本,另一个版本skip没有:
grammar Commas;
COMMA: ', ';
COMMASKIP: ', ' -> skip;
DATA: ~[, \n]+;
withoutSkip: data COMMA data '\n';
withSkip: data COMMASKIP data '\n';
data: DATA;
Run Code Online (Sandbox Code Playgroud)
测试规则没有skip按预期工作:
$ echo 'a, b' | grun Commas withoutSkip -tree
(withoutSkip (data a) , (data b) \n)
Run Code Online (Sandbox Code Playgroud)
随着skip给我一个错误:
$ echo 'a, b' | grun Commas withSkip -tree
line 1:1 mismatched input ', ' expecting COMMASKIP
(withSkip (data a) , b \n)
Run Code Online (Sandbox Code Playgroud)
如果我注释掉COMMA和withoutSkip规则,我得到这个: …