1
,如果我尝试在解释器中运行“___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'字母)。我的语法有什么问题?