トランスコンパイラ
トランスコンパイラとは
トランスコンパイラとは、あるプログラミング言語で書かれたソースコードを入力として受け取り、別のプログラミング言語の同等のコードを生成するコンパイラの一種です。
コンパイラが、高水準言語で書かれたソースコードを入力とし、低水準言語のコードを生成するのに対し、トランスコンパイラでは、同じ程度の水準のコードを出力します。
次の図はコンパイラとトランスコンパイラのイメージ例です。
コンパイラは、人間が解釈しやすい「高水準言語」を入力とし、コンピュータが解釈しやすい「低水準言語(機械語)」を出力します。
それに対してトランスコンパイラは、例えば人間が解釈しやすい「高水準言語」を入力とした場合、別のプログラミング言語で書かれた「高水準言語」(同じ程度の水準のコード)を出力します。
上記図の例では、TypeScriptで書かれたソースコードを入力とし、JavaScriptのコードに変換して出力しています。
トランスコンパイラとクロスコンパイラの違い
クロスコンパイラとは、開発している環境(コンパイラが動作している環境)とは異なる環境(プラットフォーム)向けに実行可能なコードを生成するコンパイラのことです。
次の図は、クロスコンパイラのイメージ例です。
家電製品に組み込まれたコンピュータで動作するコードをWindowsでコンパイルして生成しています。(Windowsで作成したコードを入力とし、家電製品のコンピュータで動くコードを出力する)
このように、別の環境で実行するためのコードに変換するのがクロスコンパイラ、別のプログラミング言語のコードに変換するのがトランスコンパイラです。
helpful
この記事は役に立ちましたか?