2016-03-28 4 views
0

私はANTLRを含むプロジェクトに取り組んでいました。私はLexerとParserを生成し、それを別のディレクトリのプロジェクトで使用しました。このプロジェクトはGitHubでホストされていたので、私はANTLRが生成したすべてのファイルをまだ持っています。しかし、ハードディスクの故障のために文法ファイルが失われました。 ANTLR生成ファイルから文法ファイルを再生成する方法はありますか?文法ファイルをもう一度書き直すのは頭痛で、多くの場所でプロジェクトコードを変更する必要があります。ANTLRによって生成されたLexerおよびParserファイルから文法ファイルを生成できますか?

答えて

1

答えは部分的です。生成されたファイルには、元のルール名(lexerとparserの両方)に対応する関数/列挙体が含まれています。だからあなたは全体の構造を復元することができます。しかし、ルール自体が処理のスピードアップ(DFA)のための状態変更に変換されているので、それほど遠くには行きません。これらの状態では、元のコードにマッピングされていない生成番号が使用されます。

いつもと同じように、データのバックアップが必要かどうかは、の場合はとなります。

関連する問題