Red Dragon Book CompilersのBootstrappingを研究していて、クロスコンパイラーのTダイアグラムがかなり混乱していることがわかりました。「コンパイラ1からコンパイラ2を実行する」が何を意味するのか理解できません。誰かがいくつかのより良い説明、類推、または実際のコンパイラに関連する例を提供できますか?
最初にいくつかの表記。 私は言語のコンパイラの平均 言語で書かれた出力言語/マシンコード生成。これは墓石またはT-diagramsです。
コンパイラーのコンパイル
マシンNのコードを生成する実装言語Sの新しい言語Lのクロスコンパイラーがあるとします。
マシンMで実行されている既存のSコンパイラもマシンMのコードを実装しているとします。
LMNを生成するためにSMMを介してLSNを実行する
コンパイラの構築