情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和6年度秋期 午前Ⅰ 問7: 手続型言語のコンパイラがコード生成までに行う処理のうち,最後に行うものはどれか。
←情報処理安全確保支援士試験 令和6年度秋期 午前Ⅰ
手続型言語のがコード生成までに行う処理のうち,最後に行うものはどれか。
問題本文
手続型言語のコンパイラがコード生成までに行う処理のうち,最後に行うものはどれか。
解説
コンパイラは原則として字句解析→構文解析→意味解析→最適化→コード生成の順で処理する。設問はコード生成の直前、最後に行うものを問うので最適化が答えでウが正しい。最適化は意味解析後の中間表現に対し不要命令の除去やループ改善などを施し、効率の良いコードを生成する準備をする。各フェーズの役割と順序の理解は性能やデバッグの把握に役立つ。
選択肢ごとの解説
- ア.意味解析は型整合などを確認する工程で構文解析の後だが、最適化より前に行われる。
- イ.構文解析は字句解析の次に文法構造を組み立てる工程で、最適化より前に行われ最後ではない。
- ウ.最適化は意味解析の後、コード生成の直前に行う工程で、設問の最後に行うものとして正しい。
- エ.字句解析は最初に文字列をトークンへ分解する工程で、コード生成前の最後の処理ではない。
情報処理安全確保支援士試験 令和6年度秋期 午前Ⅰ の過去問一覧へ戻る・問7