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