メインコンテンツへスキップ
高度試験共通令和6年度 秋期午前I問 7

令和6年度 秋期 高度試験共通 午前I 問7

難度標準

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

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

コンパイラでは、まず字句解析で文字列を識別子や演算子などのトークンに分け、構文解析で文法的な構造を調べます。

詳細Layer 2
展開

続く意味解析では型の整合性や宣言との対応などを確認します。その後、中間表現に対して不要な計算を除くなどの最適化を行い、目的コードの生成につなげるため、この選択肢の中で最後なのはウです。最適化ではプログラムの意味を保ったまま実行時間やコード量の改善を目指します。文法を調べる構文解析と、処理を効率化する最適化を区別します。

各選択肢の解説

ア

意味解析

誤りです。意味解析は、構文解析で作った構文木をもとに、型の整合性や変数の宣言と使用の対応を調べる工程です。構文解析の後、最適化の前に行います。意味が正しいと確認してから中間コードを最適化するため、最後の処理ではありません。

イ

構文解析

誤りです。構文解析は、字句解析で得たトークン列が文法規則に合っているかを調べ、構文木を作る工程です。字句解析の直後で、意味解析や最適化より前の段階です。ここで作った構文木が後の工程の入力になるため、最後の処理ではありません。

ウ

最適化

正しいです。コンパイラは、字句解析、構文解析、意味解析、最適化、コード生成の順に処理します。最適化では、中間コードから不要な計算や重複を取り除き、プログラムの意味を変えずに実行効率を高めます。選択肢の中では、コード生成の直前に行う最適化が最後の処理です。

エ

字句解析

誤りです。字句解析は、ソースプログラムの文字の並びを、識別子、予約語、演算子、定数などのトークンに分ける工程です。コンパイルの最初に行い、その結果を構文解析に渡します。最後に行う処理ではなく、最初の処理です。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「開発技術」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
本問の分野で問われる代表的な知識・用語の整理。
学習の進め方
正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

開発技術 の他の問題

他年度の「開発技術」問題

高度試験共通 の同じ分野を年度をまたいで演習する

高度試験共通 の学習ガイド