基本情報技術者平成30年秋期 午前問19

問19

手続型言語のコンパイラが行う処理のうち,最初に行う処理はどれか。
  • 意味解析
  • 構文解析
  • 最適化
  • 字句解析
  • [出題歴]
  • 応用情報技術者 R6秋期 問20

分類

テクノロジ系 » ソフトウェア » 開発ツール

正解

解説

コンパイラは、高水準語で記述されたソースコードをコンピュータが理解できる機械語に一括変換する(=コンパイルする)ソフトウェアです。

コンパイルは、①字句解析、②構文解析、③意味解析、④最適化の4つの段階に分けて順に作業を行います。
19.png/image-size:444×156
字句解析
プログラムを表現する文字列を、意味のある最小の構成要素(トークン)に分解する
int a = 5 + 3;

int(型)、a(変数)、=(代入演算子)、5(整数)、+(加算演算子)、3(整数)、;(セミコロン)
構文解析
句解析で得られたトークンをもとに、言語の文法に基づいてプログラムを解析し、文法誤りがないかチェックする。構文木を使用してプログラムの構造を表現する
意味解析
プログラムが意味的に正しいかを検証する。変数の宣言と使用とを対応付けたり、演算におけるデータ型の整合性を確認する
最適化
コードの実行効率を向上させるために、不要な演算の省略、ループの展開、関数のインライン展開、レジスタ割付けなどの変換を行う
int a = 2 * 5;

int a = 10;
4つのうちコンパイラが最初に行う処理は「字句解析」なので「エ」が正解です。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop