如果我尝试在解释器中运行“___sad”以获取以下语法
grammar identTest;
options
{
language = Java;
output=AST;
}
goal: identifier;
fragment Letter: (('a'..'z') | ('A'..'Z'));
fragment Digit : '0' .. '9';
identifier :IDENTIFIER;
IDENTIFIER: Letter+;
WS:(' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;};
解释器输出:
调试器输出:
解释器包含下划线字母,而调试器似乎只是忽略了它!我希望在这种情况下会出现某种异常(因为语法中只定义了“A”-“z”字母)。我的语法有什么问题?