正解は ウ
コンパイラの処理フェーズは一般的に次の順序で行われます:①字句解析(ソースをトークン列に分解)→②構文解析(トークン列を構文木に変換)→③意味解析(型チェック・意味的整合性確認)→④中間コード生成→⑤最適化(中間コードの効率化)→⑥コード生成(機械語・アセンブリ生成)。コード生成の「直前に行う処理」は最適化です。選択肢cの「最適化」が正解です。
コンパイラの処理順序:字句解析→構文解析→意味解析→(中間コード生成)→最適化→コード生成。「コード生成までに行う処理のうち最後」=最適化。この順序は試験頻出なので「字→構→意→最→コ」と暗記。