我误解了 Antlr4 的一些非常基本的东西

问题描述 投票:0回答:1

所以我有这个测试语法:

grammar Test;

HELLO : 'Hello';
X : [a-z]+;
WS : [ ]+ -> skip;

test : HELLO X;

我有这个测试字符串:

Hello buddy

但是语法与提供的测试字符串不匹配。 HELLO 匹配“Hello”而 X 匹配“buddy”似乎应该是显而易见的。一旦我们有了令牌流 [HELLO, X] 它应该匹配解析器规则“test”。

这是基于更复杂的语法文件的更复杂的错误。我设法用你在上面看到的更简单的语法重现了这个错误。

我现在很困惑

antlr antlr4
1个回答
0
投票

上述语法和词法分析器规则按预期解析字符串。如果您使用 http://lab.antlr.org/ 进行测试,请确保在解析器选项卡下输入组合的词法分析器/解析器语法之前清除词法分析器规则选项卡。

© www.soinside.com 2019 - 2024. All rights reserved.