2016-03-28 77 views
0

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

回答

1

答案是:只有部分。生成的文件包含对应于原始规则名称(包括词法分析器和分析器)的函数/枚举。所以你可以恢复整体结构。但是,由于规则本身已被转换为状态更改以加快处理速度(DFA),所以您不会对此感到满意。这些状态使用您没有映射回原始代码的生成数字。

一如既往:根本不需要备份数据,但

相关问题