コンパイラにおける処理を字句解析、構文解析、意味解析、最適化の四つのフェーズに分けたとき、意味解析のフェーズで行う処理はどれか。
ア |
言語の文法に基づいてプログラムを解析し、文法誤りがないかチェックする。 |
イ |
プログラムを表現する文字の列を、意味のある最小の構成要素の列に変換する。 |
ウ |
変数の宣言と使用とを対応付けたり、演算におけるデータ型の整合性をチェックする。 |
エ |
レジスタの有効利用を目的としたレジスタ割付けや、不要な演算を省略するためのプログラム変換を行う。 |
答え ウ
【解説】
ア |
構文解析のフェーズで行う処理です。 |
イ |
字句解析のフェーズで行う処理です。 |
ウ |
意味解析のフェーズで行う処理です。 |
エ |
最適化のフェーズで行う処理です。 |
【キーワード】
・コンパイラ
【キーワードの解説】
- コンパイラ(compiler)
プログラム言語で書かれたプログラムを、コンピュータで処理可能な形式(機械語)に変換するソフトウェア。
機械語(マシン後)の形式はCPUのシリーズ毎に異なるため、コンパイラも異なる。
コンパイラでの変換作業をコンパイル(compile)やビルド(build)と呼び、プログラム言語で書かれたプログラムをソースコード(source code)、コンパイラが生成するプログラムをオブジェクトコード(object code)と呼びます。
コンパイラが動作しているマシン以外の機械語を生成するコンパイラのことをクロスコンパイラといいます。
もっと、「コンパイラ」について調べてみよう。
戻る
一覧へ
次へ
|