コンパイラ
プログラミング言語をCPUのコード(機械語、アセンブラコードなど)または仮想マシンのコードに変換するソフト
基本的には言語コードのパース、最適化など、コード出力、のような感じか
ライブラリとセットで提供される。IDEとセットになっているものも多い。
ファイル単位で出力されるものが多いのでリンカなどで実行コードにまとめられたりする。
Parse
ソースコードを読む工程
頭から読むもの、BNFなどを使うもの、などが作れるよ
中間コード、スキーマ、などの中間構造を構築してから各コードに変換するのが一般的か?
オブジェクトとして扱うと中間コードを生成しないかもしれないがそういうのはあまり知らない
コンパイラコンパイラ
コンパイラを半自動生成できるコンパイラ Parse工程などを自動化してくれるかもしれない
CPU別に出力できたり便利、なのか?
JIT(Just In Time)コンパイラ
中間CPU、仮想CPUなどのコードをインタプリタで実行しながらネイティブCPUのコードにコンパイルして高速化していく手法
JVMなどで利用されている