見出し画像

☕javaCC Java製のコンパイラコンパイラ(トップダウン式 LL(1))

Javaコンパイラーコンパイラー(JavaCC)は、Javaアプリケーションで使用される最も一般的なパーサージェネレーターである。
パーサ・ジェネレータとは、文法仕様を読み込んで、文法とのマッチングを認識できるJavaプログラムに変換するツールです。
JavaCCは、パーサ・ジェネレータそのものに加えて、(JavaCCに含まれるJJTreeというツールを使って)ツリー構築、アクション、デバッグといったパーサ生成に関連する他の標準的な機能も提供します。
一度生成されたJavaCCパーサーを実行するのに必要なのは、Javaランタイム環境(JRE)だけです。

https://javacc.github.io/javacc/

JavaCC は YACC のようなツールが生成するボトムアップ型パーサーに対して、トップダウン型(再帰的降下型)パーサーを生成します。

https://github.com/javacc/javacc

デフォルトでは、JavaCCはLL(1)パーサーを生成します

https://github.com/javacc/javacc

JavaCCは、Lexのような字句の状態と字句のアクションの機能を提供します。JavaCCが他のツールより優れている点は、TOKEN、MORE、SKIP、ステートチェンジといった概念を提供する第一級のステータスです。

https://github.com/javacc/javacc

JavaCCには、非常に強力な木構造作成プリプロセッサであるJJTreeが付属しています。
また、JavaCCには、文法ファイルを文書ファイルに変換するツール、JJDocが付属しています。

https://github.com/javacc/javacc


お願い致します