コンパイラにおける処理を字句解析,構文解析,意味解析,最適化の四つのフェーズに分けたとき,意味解析のフェーズで行う処理はどれか。
平成25年度 秋期 応用情報技術者 問20
テクノロジ系
正解と解説
正解 ウ
意味解析は、変数の宣言と使用の対応付けや、データ型の整合性のチェックを行うフェーズです。
コンパイラは、字句解析、構文解析、意味解析、最適化の順に処理を進めます。意味解析は、構文解析で得た構文木をもとに、文法だけでは判断できない意味上の正しさを調べます。具体的には、変数が宣言されているかの確認や、宣言と使用の対応付け、演算のデータ型が合っているかのチェックを行います。選択肢の「宣言と使用とを対応付け」と「データ型の整合性」が意味解析の決め手になります。
ア:構文解析は、字句の列を文法に基づいて解析し、文法誤りがないかを調べる処理です。
イ:字句解析は、ソースプログラムの文字の列を、字句(トークン)という意味のある最小の単位の列に変換する処理です。
エ:最適化は、レジスタ割付けや不要な演算の削除によって、実行効率のよいコードに変換する処理です。
出典:平成25年度 秋期 応用情報技術者試験 問20
全年度から出題。10問で実力を判定します。登録不要。
出典:平成25年度 秋期 応用情報技術者試験 問20(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方