Compile (コンパイル)

コンパイルとは、指定された言語で書かれたコンピュータープログラムを、別の形式や言語の一連の命令に変換する作業のことです。コンパイラーは、その作業を実行するコンピュータープログラムのことです。

通常、コンパイラーは C++RustJava などの高級言語で書かれたコードを実行可能な(実行可能な)コード、いわゆるバイナリーコード機械語に変換します。例えば、WebAssembly は実行可能なバイナリコードという形で、C++、Rust、C#、Go、Swift、その他いくつかの言語で書かれたコードからコンパイルし、任意のウェブページ上で実行することができ、ほとんどの機能に現行ブラウザーが対応しています(ブラウザー互換性表を参照)。

ほとんどのコンパイラーは、AOT (ahead-of-time) コンパイルまたは JIT (just-in-time) コンパイルを行います。

GNU の gcc コンパイラーは AOT コンパイラーの有名な例です。AOT コンパイラーは通常、シェル環境のコマンドラインから(端末やコンソールから)、あるいは IDE 内で呼び出されます。

JIT コンパイラーは通常、直接呼び出されるのではなく、パフォーマンスを向上させる目的で、ソフトウェアのランタイムに内部的に組み込まれています。例えば、主要なブラウザーはすべて、JIT コンパイラーを内蔵した JavaScript エンジンを使用しています。

コンパイラーは、例えば TypeScript から JavaScript へのように、より高いレベルの言語間で翻訳することもあり、この場合はよくトランスパイラー (transpiler) と呼ばれます。

関連情報