【问题标题】:Is it possible to generate grammar file from the Lexer and Parser files generated by ANTLR?是否可以从 ANTLR 生成的 Lexer 和 Parser 文件生成语法文件?
【发布时间】:2016-03-28 07:30:11
【问题描述】:

我正在从事一个涉及 ANTLR 的项目。我生成了 Lexer 和 Parser 并将其用于另一个目录中的项目。该项目托管在 GitHub 上,因此我仍然拥有 ANTLR 与我一起生成的所有文件。但是由于硬盘故障,我丢失了语法文件。有没有办法从 ANTLR 生成的文件中重新生成语法文件?再次重写语法文件是一件令人头疼的事情,并且会涉及在很多地方更改我的项目代码。

【问题讨论】:

    标签: parsing antlr


    【解决方案1】:

    答案是:只是部分。生成的文件包含与原始规则名称(词法分析器和解析器)相对应的函数/枚举。所以你可以恢复整体结构。但是您不会走得太远,因为规则本身已被转换为状态更改以加速处理 (DFA)。这些状态使用生成的数字,您没有将其映射回原始代码。

    一如既往:问题根本不是您是否需要备份数据,而是何时

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 1970-01-01
      • 2019-07-19
      相关资源
      最近更新 更多