gpt4 book ai didi

ANTLR 不匹配输入 ''

转载 作者:行者123 更新时间:2023-12-04 18:43:33 24 4
gpt4 key购买 nike

鉴于以下 ANTLR 4.1 语法,有意注释掉一行...

grammar Foobar;

//whyDoesThisRuleHelp : expression ;
expression : operand | binaryOperation ;
binaryOperation : operand WS BINARY_OPERATOR WS expression ;
operand : LETTER ;

BINARY_OPERATOR : 'EQ' ;
LETTER : [a-z] ;
WS : [ \n]+ ;

.. 为什么 echo -n "a EQ b" | grun Foobar expression生产
line 1:6 mismatched input '<EOF>' expecting WS

.. 但如果我们取消注释 block : expression ;线上方然后 grun 不会产生错误 ?

最佳答案

您正在看到一个罕见但已知的错误的影响:
No viable alternative can be incorrectly thrown for start rules without explicit EOF

正确修复此问题的性能影响目前令人震惊,因此我们无意在可预见的 future 应用该补丁。解决方法是创建一个以显式 EOF 结尾的规则。 ,并在那里开始解析。

关于ANTLR 不匹配输入 '<EOF>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19172841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com