コンパイラコンパイラを使わない1の理由
普通,新しいプログラミング言語を作るときは「コンパイラコンパイラ」というものにお世話になる.
簡単にいうと,その言語の文法を次のような書式で定義して,それをもとに構文解析をしてくれるプログラムを
自動生成するツールだ.
Siki := Kakeru ('+' | '-') Kakeru
Kakeru := Youso ('*' | '/') Youso
Youso := NUMBER | '(' Siki ')'
しかし,今までいろんな言語を作ってきたが,このコンパイラコンパイラを使ったことはほとんどない.
これは,構文解析しかしてくれないから,使ってもしょうがないからである.
言語にとってもっと重要なのは,文法じゃなくて「世界観」である.