Cabezonプロジェクトとは

 Cabezonプロジェクト[*1]は、自己記述できるコンパイラを開発する ことを目標としました。
 ターゲット言語としては、Pascalを選びました。Pascalを選択した理由は、

というところからです。
 CabezonはPascal言語のコンパイラで、そのコンパイラのソース自体がPascal により記述されています。ということは、最初にCabezonのソースを コンパイルするときはどうしたのかという、当然の疑問が発生します。
 先にも少し触れたように、この目的のために、 Trubo Pascalを用いました。
 つまり、

  1. Turbo Pascalによりパスカルコンパイラを開発する
  2. Turbo Pascal記述のままデバッグする→コンパイラa
  3. コンパイラのソースをCabezonように書き換える→ソースb
  4. ソースbをコンパイラaでコンパイルする
  5. カベソンでコンパイルされたコンパイラの出来上がり

という手順を採用しました。
 一般に、上記のような手順をブートストラッピングというそうです。 上のように書くと如何にも簡単そうにみえるかもしれませんが、 現実には、カベソンのブートストラッピングは、一晩徹夜するようなありさま でした。
 もう、こんなことはできないかもしれない・・・・(まだやってるってか?ほっとけ!)

[*1] プロジェクトと言っても、一人で作っていたわけですが。