コンパイラの処理の順序
出典: 令和6年度 秋期 応用情報技術者試験 午前 問20 (IPA)
手続型言語のコンパイラがコード生成までに行う処理のうち,最後に行うものはどれか。
- ア 意味解析
- イ 構文解析
- ウ 最適化
- エ 字句解析
正解と解説を見る
正解: ウ
- ア: 意味解析は構文解析の後ですが、その後に最適化があります。
- イ: 構文解析は字句解析の次に行う、早い段階の処理です。
- ウ: 最適化はコード生成の直前に行う処理なので正しい答えです。
- エ: 字句解析は最初に行う処理です。
ポイント
コンパイラは次の順に処理します。
- 字句解析: ソースを字句 (トークン) に分ける
- 構文解析: 文法に合っているか調べ、構文木を作る
- 意味解析: 型の検査など、意味の正しさを調べる
- 最適化: 実行が速く・小さくなるように変換する
- コード生成
コード生成の直前に行うのは 最適化 です。