我在检测语法中的空格和制表符时遇到问题。我的空格和标签不隐藏在我的语法中。
我有语法:
Model: defs+=Def*;
Def:
'actor' WS ID NEWLINE
;
终端:
terminal WS : (' '|'\t')+;
但我似乎无法正确地注意到这些空白。我可以在“演员”之间输入空格和制表符的任意组合。和ID,只要有多个空格。如果我只在它们之间输入一个空格,我就会遇到问题。例如,这有效:
Actor Bob
但是当我只尝试一个空格时:
Actor Bob
我得到这样的错误:
- extraneous input 'Bob' expecting RULE_NEWLINE
- mismatched input ' ' expecting RULE_WS
答案 0 :(得分:1)
错误消息表明您的语法中某处有一个空白区域用作关键字。你必须删除那个。