简单语法中的ANTLR不匹配标记

时间:2018-06-29 09:17:33

标签: antlr3 antlrworks

我目前正在ANTLRworks中调试我的语法,并对此进行了合理的减少:

grammar DebugInternalGrammar;


RULE_STRING :
    '"' (
        ('\\' .) |
        (~ (
            '\\' |
            '"'
        ))
    )* '"'
;

其中,在解释器中针对字符串进行测试

  

“ L”

单产

  

MismatchedTokenException(76!= 34)

起作用的是匹配"",还将语法简化为:

grammar DebugInternalGrammar;


RULE_STRING :
    '"' (
        (~ (
            '\\' |
            '"'
        ))
    )* '"'
;

匹配"L"(我想这就是当ANTLRworks中的分析树将<epsilon>显示为叶子时的意思)。

这是怎么了?这不是以前曾引起我麻烦的语法部分,因此对于可能出现的问题以及ANTLRworks试图告诉我的事情,我I不休。

0 个答案:

没有答案