Cabezonプロジェクト[*1]は、自己記述できるコンパイラを開発する
ことを目標としました。
ターゲット言語としては、Pascalを選びました。Pascalを選択した理由は、
というところからです。
CabezonはPascal言語のコンパイラで、そのコンパイラのソース自体がPascal
により記述されています。ということは、最初にCabezonのソースを
コンパイルするときはどうしたのかという、当然の疑問が発生します。
先にも少し触れたように、この目的のために、
Trubo Pascalを用いました。
つまり、
という手順を採用しました。
一般に、上記のような手順をブートストラッピングというそうです。
上のように書くと如何にも簡単そうにみえるかもしれませんが、
現実には、カベソンのブートストラッピングは、一晩徹夜するようなありさま
でした。
もう、こんなことはできないかもしれない・・・・(まだやってるってか?ほっとけ!)
[*1] プロジェクトと言っても、一人で作っていたわけですが。