コンパイラ
字句解析
文字列
を(名前|
予約語
|区切り記号)などの最小単位(
トークン
)に分解する.
構文解析
字句解析
で切り出された字句を
構文木
にする.
プログラミング言語
の
構文規則
に則っているかチェックする.
意味解析
変数
の宣言と使用の対応や
データ
型
の整合性のチェックを行う.
最適化
のため,
構文解析
の結果をもとに
逆ポーランド表記法
や
四つ組
,
三つ組
となどの形式の
中間コード
に変換する.
最適化
プログラム
のサイズを小さくする,あるいは実行時間が短くなるように計算順序を変更したり
変数
を定数にしたりする.
コード生成