コンパイラの処理工程と目的コード最適化

コンパイラの一般的な処理の流れは次の順序で行われます。 字句解析(Lexical Analysis):ソースコードをトークン(単語)列に分解する 構文解析(Syntax Analysis):文法規則に基づき構文木(抽象構文木: AST)を構築する 意味解析(Semantic Analysis):型チェックや宣言の整合性を確認し,中間言語コードを生成する 最適化(Optimization):中間言語や構文木に対して,冗長コードの削除やループ展開などを行い,実行効率を高める コード生成(Code Generation):目的の機械語やアセンブリコードを出力する したがって,コード生成の直前(コード生成までに行う処理のうち最後)に行われるのは「最適化」であり,正解はウとなります。

手続型言語のコンパイラがコード生成までに行う処理のうち,最後に行うものはどれか。

出典令和6年度 秋期 応用情報技術者試験 午前 問20
ア
意味解析
イ
構文解析
ウ
最適化
エ
字句解析