【问题标题】:Switching Antlr lexer modes from parser从解析器切换 Antlr 词法分析器模式
【发布时间】:2013-09-26 07:19:32
【问题描述】:

如何控制从解析器操作切换Antlr lexer 模式? 我扩展了生成的 Parser 和 Lexer,因此我可以从 parser 女巫调用 pushModepopMode 依次调用 lexer 的合适的 pushModepopMode 但没有效果。我可以做些什么来激活此功能吗?

【问题讨论】:

  • 我怀疑当解析器规则被击中时,词法分析器已经开始工作,使标记超过您希望发生切换的点...是否可以确定only 词法分析器规则的切换点?如果没有,也许有一些方法可以重新处理词法分析器的令牌流并丢弃您不信任的令牌。

标签: antlr antlr4


【解决方案1】:

您的词法分析器应该这样编写,以便在创建解析器之前就可以对输入进行完全标记。即使令牌流被延迟填充,但如果您的词法分析器不满足此要求,则不能保证 ANTLR 4 正确解析输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    相关资源
    最近更新 更多