トップ過去問一覧応用情報技術者 平成25年・秋 > 問20
問20

コンパイラにおける処理を字句解析,構文解析,意味解析,最適化の四つのフェーズに分けたとき,意味解析のフェーズで行う処理はどれか。

○正解
×不正解

言語の文法に基づいてプログラムを解析し,文法誤りがないかチェックする。

プログラムを表現する文字の列を,意味のある最小の構成要素の列に変換する。

変数の宣言と使用とを対応付けたり,演算におけるデータ型の整合性をチェックする。

レジスタの有効利用を目的としてレジスタ割付けや,不要な演算を省略するためのプログラム変換を行う。

解説

コンパイラは字句解析,構文解析,意味解析,最適化の順番で処理が行われます。字句解析フェーズでプログラムを変数などの字句に分解します、その字句が正しいかどうかを構文解析フェーズでチェックし,意味解析フェーズで変数の型など意味の検査を行い,実行時間や処理の短縮のために最適化を行います。

 

言語の文法に基づいてプログラムを解析し,文法誤りがないかチェックする。

構文解析のフェーズで行う処理です。

 

プログラムを表現する文字の列を,意味のある最小の構成要素の列に変換する。

字句解析のフェーズで行う処理です。

 

変数の宣言と使用とを対応付けたり,演算におけるデータ型の整合性をチェックする。

正解です。

 

レジスタの有効利用を目的としてレジスタ割付けや,不要な演算を省略するためのプログラム変換を行う。

最適化のフェーズで行う処理です。

無料学習システムはこちら
→間違えた問題を繰り返し学習
→分野別学習
→模擬試験モード
デモサイト
無料ユーザ登録

問題文や解説文の内容の正確性については、できるかぎりチェックをしていますが、間違いがある可能性があります。 十分ご注意の上、参考までにご利用ください。