私はANTLRを含むプロジェクトに取り組んでいました。私はLexerとParserを生成し、それを別のディレクトリのプロジェクトで使用しました。このプロジェクトはGitHubでホストされていたので、私はANTLRが生成したすべてのファイルをまだ持っています。しかし、ハードディスクの故障のために文法ファイルが失われました。 ANTLR生成ファイルから文法ファイルを再生成する方法はありますか?文法ファイルをもう一度書き直すのは頭痛で、多くの場所でプロジェクトコードを変更する必要があります。ANTLRによって生成されたLexerおよびParserファイルから文法ファイルを生成できますか?
0
A
答えて
1
答えは部分的です。生成されたファイルには、元のルール名(lexerとparserの両方)に対応する関数/列挙体が含まれています。だからあなたは全体の構造を復元することができます。しかし、ルール自体が処理のスピードアップ(DFA)のための状態変更に変換されているので、それほど遠くには行きません。これらの状態では、元のコードにマッピングされていない生成番号が使用されます。
いつもと同じように、データのバックアップが必要かどうかは、の場合はとなります。
関連する問題