応用情報技術者試験 応用情報技術者試験 令和6年度秋期 午前 問20: 手続型言語のコンパイラがコード生成までに行う処理のうち,最後に行うものはどれか。
手続型言語のがコード生成までに行う処理のうち,最後に行うものはどれか。
42.58%
問題本文
手続型言語のコンパイラがコード生成までに行う処理のうち,最後に行うものはどれか。
解説
コンパイラはソースプログラムを、字句解析(文字列を意味のある最小単位=トークンに分解)→構文解析(トークンの並びが文法に合うか解析し構文木を作成)→意味解析(型の整合性などの意味的な検査)→最適化(生成コードの効率化)→コード生成、の順で処理する。設問はコード生成までに行う処理のうち最後のものを問うており、コード生成の直前に行う最適化が該当するため、正解はウである。
選択肢ごとの解説
- ア.意味解析は構文解析の後・最適化の前に行われる処理であり、コード生成の直前ではないため最後ではなく誤りである。
- イ.構文解析は字句解析の次に行われる前半の処理であり、最後ではないため誤りである。
- ウ.最適化はコード生成の直前に行われる処理であり、コード生成までの処理のうち最後にあたるため正解である。
- エ.字句解析はコンパイル処理の最初に行う処理であり、最後ではないため誤りである。
応用情報技術者試験 令和6年度秋期 午前 の過去問一覧へ戻る・問20