【发布时间】:2016-05-12 23:43:30
【问题描述】:
我正在尝试在 antlr4 中编写语法。但我无法选择性地忽略规则中的空格。附上我的语法。在这里,如果令牌与 alphaNumericWSC 匹配,我应该允许一个空格(WHITESPACE 的令牌),但在所有其他地方我想跳过 WHITESPACE。
WHITESPACE : [ \t\n\r]+ -> skip
alphaNumericWSC : AlphaNumeric (',' AlphaNumeric)*
| AlphaNumeric (' ' AlphaNumeric)*
;
换句话说,我不想只忽略这条规则 alphaNumericWSC 中的空格。
提前感谢您的帮助。
【问题讨论】:
-
您应该对字符串使用词法规则,
string: '"' ~'"' '"'(注意 '"' 是 ' " ' 没有空格)。 ANTLR 的词法分析器的贪婪将完成这项工作。 -
空白用于词法分析器,而不是解析器。
标签: java parsing grammar antlr4