0

私はコンパイラの構築を学んでおり、JavaCC を使用してJavaScript文法を実装したいと考えています。

(私はすでに、JavaScript コードのプログラムによる構築を可能にする独自のJavaScript CodeModelを作成しています。今度は、それに対応する JavaCC ベースのパーサーを作成したいと考えています。)

私の質問は、JavaCC 文法 ( .jj-file) を複数のファイルにモジュール化する方法はありますか?

私は JavaParser の経験が豊富なので、JavaParserjava_1_5.jjの文法から学んでいます。ただし、これは 3000 以上の LoC ファイルであり、理解しにくいものです。

扱いやすく理解しやすいように、文法ファイルをいくつかの部分に分割したいと思います。「javaccモジュラー」、「javaccインクルード」、「javaccインポート」に関する私のGoogle検索は、あまり役に立たなかったいくつかの不可解な結果をもたらしました。

具体的には、IDENTIFIER(行 380-1081 ) の定義を別のファイルに移動するにはどうすればよいですか?

4

3 に答える 3

1

JavaCC には、.jj ファイルをモジュール化する方法が組み込まれていません。多くの場合、最善の方法は JJT を使用することです。これにより、すべてのアクションを文法ファイルから移動できます。JJT を使用したくない場合は、ビルダー パターンを使用することをお勧めします。

インクルード機能だけが必要な場合は、使用できる多くのプリプロセッサがあります。

于 2014-11-03T20:13:52.273 に答える