我想要一个标记规则,它会吞噬所有字符,直到它到达字符XYZ
.
因此,如果输入是这样的:
helloXYZ
那么令牌规则应该返回这个令牌:
hello
如果输入是这样的:
Blah Blah XYZ
那么令牌规则应该返回这个令牌:
Blah Blah
如何定义令牌规则来执行此操作?
根据特伦斯在回答中给出的暗示,我认为这就是罗杰正在寻找的:
grammar UseLookahead;
parserRule : LexerRule;
LexerRule : .+? { (_input.LA(1) == 'X') &&
(_input.LA(2) == 'Y') &&
(_input.LA(3) == 'Z')
}?
;
这给出了所需的答案,hello
and Blah Blah
分别。我承认我不明白决赛的意义?
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)