【发布时间】:2015-04-16 09:06:44
【问题描述】:
有没有办法在ANTLR4中表达这一点:
任何字符串,只要它不立即包含星号 后跟一个正斜杠?
这不起作用:(~'*/')* 因为 ANTRL 抛出此错误:multi-character literals are not allowed in lexer sets: '*/'
这可行但不正确:(~[*/])*,因为它禁止包含单个字符 * 或 / 的字符串。
【问题讨论】:
-
你能提供更多关于你想要达到的目标的细节吗? string-without-*/ 必须绝对被识别为单个词法分析器标记吗?
-
嗨,马克。是的,单个词法分析器标记:词法分析器规则应该返回单个字符串,只要它不包含 */
-
在 ANTLR 中确实应该有一种简单的方法来做到这一点。
标签: antlr grammar antlr4 lexer lexical-analysis