generated at
コンパイル
プログラミング言語の一種で言語を機械語、またはより低水準なプログラミング言語に変換することを指す
同じ水準・抽象度のプログラミング言語(同じでも良い)に変換する場合特にトランスコンパイル(トランスパイル)と呼ばれることがある
コンパイルの流れは以下のようになる
構文解析(トークン列→抽象構文木
中間コード作成(抽象構文木→中間コード)
必要に応じて
「中間コード→(中間コードの)抽象構文木」という工程を挟む事になる
翻訳最適化をしやすくするため行われたりする
翻訳(抽象構文木→IR木
命令選択(IR木→抽象マシンコード)
必要に応じて
最終成果物の出力
抽象マシンコードから実際のオブジェクトファイルやソースコードが出力される