Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

コンパイラのブートストラップ

ブートストラップとは、コンパイラを使ってそのコンパイラ自身をコンパイルするプロセスです。 より正確には、古いコンパイラを使って、同じコンパイラの新しいバージョンをコンパイルすることを意味します。

これにより、鶏と卵のパラドックスが生じます。最初のコンパイラはどこから来たのでしょうか? それは別の言語で書かれていたに違いありません。Rust の場合、それは OCaml で書かれていました。しかし、それはかなり昔に放棄されており、 現代的なバージョンの rustc をビルドする唯一の方法は、少しだけ古いバージョンを使うことです。

これはまさに x.py の動作そのものです。現在のベータリリースの rustc をダウンロードし、それを使って新しいコンパイラをコンパイルします。

このセクションでは、まず Bootstrap が何をするのかについて大まかに概説し、その後で Bootstrap がそれをどのように行うのかについて大まかに紹介します。

さらに、デバッグ方法について学ぶには、bootstrap のデバッグを参照してください。