令和6年度 高度共通 午前I(PM試験) 問7

分野:アルゴリズムとプログラミング|実際に出題されたIPA過去問題

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

  1.  意味解析
  2.  構文解析
  3.  最適化
  4.  字句解析
解答・解説を見る

正解:ウ

AI解説

コンパイラの処理は、字句解析(ソースをトークンに分解)→構文解析(文法構造の解析)→意味解析(型検査などの意味の検査)→最適化(実行効率の改善)→コード生成の順に進む。「コード生成までに行う処理のうち最後」なので、コード生成の直前に行う最適化が正解である。 ア: 意味解析は構文解析の後に行い、変数の型や宣言の整合性などを検査する処理である。最適化より前の工程である。 イ: 構文解析は字句解析で得たトークン列を文法規則に従って構文木にする処理で、前半の工程である。 ウ: 正しい。最適化は中間コードを変形して実行速度やサイズを改善する処理で、コード生成の直前に行われる。 エ: 字句解析はソースコードをトークン(字句)に分解する最初の処理である。 💡 「字句→構文→意味→最適化→コード生成」の順序は丸暗記が有効である。「じ・こう・い・さい・こ」のように頭文字で覚え、問われているのが「最初」か「最後」かを必ず確認する。

出典:令和6年度 秋期 プロジェクトマネージャ試験 午前I 問7 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・904問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング)の過去問