正答4
解説
正解は4です。
コンパイラは、ソースプログラムを目的プログラムに翻訳する言語処理プログラムです。
一般に、字句解析、構文解析、意味解析、最適化、コード生成の順に処理します。
【選択肢別解説】
1:× 意味解析は、構文解析の後で、型の整合性や変数の宣言などの意味的な正しさを検査する処理です。
最初の処理ではありません。
2:× 構文解析は、字句解析で得た字句(トークン)の並びが文法に合っているかを調べる処理で、字句解析の後に行います。
3:× 最適化は、解析を終えた後に実行効率のよいコードへ改善する処理です。
終盤に行います。
4:○ 字句解析は、ソースプログラムの文字の並びを、予約語や識別子などの字句に分解する処理です。
コンパイラが最初に行います。
【ポイント】
「字句、構文、意味、最適化、コード生成」の順序は頻出なので、そのまま覚えておきましょう。
構文解析の結果は、構文木などの形で次の処理に渡されます。