コンパイラにおける処理を字句解析、構文解析、意味解析、最適化の四つのフェーズに分けたとき、意味解析のフェーズで行う処理はどれか。
ア | 言語の文法に基づいてプログラムを解析し、文法誤りがないかチェックする。 |
イ | プログラムを表現する文字の列を、意味のある最小の構成要素の列に変換する。 |
ウ | 変数の宣言と使用とを対応付けたり、演算におけるデータ型の整合性をチェックする。 |
エ | レジスタの有効利用を目的としたレジスタ割付けや、不要な演算を省略するためのプログラム変換を行う。 |
答え ウ
【解説】
ア | 構文解析のフェーズで行う処理です。 |
イ | 字句解析のフェーズで行う処理です。 |
ウ | 意味解析のフェーズで行う処理です。 |
エ | 最適化のフェーズで行う処理です。 |
【キーワード】
・コンパイラ