曖昧さ回避
概要
あるプログラミング言語で書かれたソースコードを一括して別の言語で書かれたコードに変換することを"compile"(コンパイル)といい、これを行うソフトウェアを"Compiler"(コンパイラ)という。コンパイラでコンピューターが直接実行できるオブジェクトコード(オブジェクトファイル)を生成した後、リンケージエディタなどで各プログラムを結合(リンク)し、実行ファイルを出力する。
古典的には、ソースコードからオブジェクトコードを一括出力するものをコンパイラ、ソースコードを逐次変換して実行するものをインタプリタと呼んで区別していたが、現在では区別はしばしばあいまいである。
また、近年はソースコードから直接オブジェクトコードを出力せず、いったんJava仮想マシンのような仮想機械向け中間コードを出力して、実行時コンパイラ(JITコンパイラ)で実行したり、事前コンパイラ(AOTコンパイラ)でインストール時に変換することもよくある。