2016-03-28 111 views
0

我正在參與一個涉及ANTLR的項目。我生成了Lexer和Parser,並將其用於另一個目錄中的項目。該項目託管在GitHub上,所以我仍然擁有ANTLR與我一起生成的所有文件。但是,由於硬盤故障,我丟失了語法文件。無論如何,從ANTLR生成的文件重新生成語法文件?再次重寫語法文件是一件令人頭疼的事情,並且會涉及在許多地方更改我的項目代碼。是否可以從ANTLR生成的Lexer和Parser文件生成語法文件?

回答

1

答案是:只有部分。生成的文件包含對應於原始規則名稱(包括詞法分析器和分析器)的函數/枚舉。所以你可以恢復整體結構。但是,由於規則本身已被轉換爲狀態更改以加快處理速度(DFA),所以您不會對此感到滿意。這些狀態使用您沒有映射回原始代碼的生成數字。

一如既往:根本不需要備份數據,但

相關問題