ANTLRかわいいよANTLR。

ところでANTLRって?

ググろうググルときググれば?ググれ!
公式

言葉遣い悪くね?

若干テンション他界。テンション逝ってる。てんさよん。

本題入れば?

LexerとかParserとかInterpreterが書ける。それもお手軽に。あと言語間の変換なんかに使うっぽい。
Java製だが、Javaが読み書きできる必要はない。数多くのtarget language(後述)に対応しており、どれか分かるなら十分使えるだろう。
GUIのフロントエンド、ANTLRWorksが大変使いやすいのもGood.

インストールとか?

特に悩むこともないと思うので飛ばす

ざっくりした使い方

BNFライクな文法の構文定義ファイルを作る。lexer/parserなどは分かれていない。
構文定義の途中に処理を行うソースコード(CとかJavaとか)を挿し込んでいくことで、interpreterなども簡単に書ける。
この構文定義ファイルから、lexerやparserなどを吐き出すのがANTLR

target languages?

公式によればActionScript,Ada,C,C++,C#,D,Emacs Lisp,Obj-C,Java,Java Script,Python,Ruby,Perl,PHP,Scalaに対応しているっぽい。
これらの言語で利用するparserやlexerを書けるってこと。これらの言語向けのライブラリが存在し、また、これらの言語で入力を処理する際のロジックを書くことができる。構文解析そのもののロジックではなくて、例えば型や値の処理とか、演算のロジックとかの話。

日本語情報少なくね?

そうでもないかも?でもちょっと古目ですね。ま、そうそう変わってないと思うけど。
読むのメンドイよドキュメントが英語だとー。
あと公式は地味に情報が探しにくい。地味に。

二度英語ドキュメントを読みたくないという理由でざっくり訳そうかと。欲しいところだけですが。

そもそもANTLRに目をつけたのはActionScript3.0がSyntax Highlightできるフリーのエディタ on Macが欲しかったからなんだが。ゑ?EmacsとかVim使えって?聞こえないなぁ。
んでmiの文法定義スクリプトSDFを書こうとしたのだが、なんかすんごくメンドイので投げた。
やっぱSyntax Highlightってのは正しくない。入力補完も欲しいし。んでいっそ自分で作るカーとか思って構文解析器とか探してたらANTLRに流れ着いた。