コンパイラコンパイラと一言にいいましてもいろいろありまして

先日(id:ABA:20030916#p2)JavaCCとの違いが分かるといいなーとか勝手な要望を言っていたら、違いに関する分かりやすいドキュメントを書いていただいた。これを読めば、コンパイラコンパイラの違いが分かる男になれるぞ。

JavaCC(というかJJTree)が外部プログラムとの連携に主眼を置いているのに対して、¬<><∪∪はその部分をばさっと省いて、その代わりに文法のハンドリングを強化してあるということだ。

¬<><∪∪がカバーしている、BNF(EBNF)ってのはどんなものかねという疑問には、以下の文章がいいだろう。

あとBulletNotMLの利点、と問題点。

ネストの浅さっていうのは可読性や書きやすさに地味に効く。