![見出し画像](https://assets.st-note.com/production/uploads/images/83340296/rectangle_large_type_2_c56d8e85535b5219815a5fa29059f0ec.png?width=1200)
☕javaCC Java製のコンパイラコンパイラ(トップダウン式 LL(1))
Javaコンパイラーコンパイラー(JavaCC)は、Javaアプリケーションで使用される最も一般的なパーサージェネレーターである。
パーサ・ジェネレータとは、文法仕様を読み込んで、文法とのマッチングを認識できるJavaプログラムに変換するツールです。
JavaCCは、パーサ・ジェネレータそのものに加えて、(JavaCCに含まれるJJTreeというツールを使って)ツリー構築、アクション、デバッグといったパーサ生成に関連する他の標準的な機能も提供します。
一度生成されたJavaCCパーサーを実行するのに必要なのは、Javaランタイム環境(JRE)だけです。
JavaCC は YACC のようなツールが生成するボトムアップ型パーサーに対して、トップダウン型(再帰的降下型)パーサーを生成します。
デフォルトでは、JavaCCはLL(1)パーサーを生成します
JavaCCは、Lexのような字句の状態と字句のアクションの機能を提供します。JavaCCが他のツールより優れている点は、TOKEN、MORE、SKIP、ステートチェンジといった概念を提供する第一級のステータスです。
JavaCCには、非常に強力な木構造作成プリプロセッサであるJJTreeが付属しています。
また、JavaCCには、文法ファイルを文書ファイルに変換するツール、JJDocが付属しています。
お願い致します