コンパイラ

コンパイラの意味解析で見つかる誤りの例として最も適切なものはどれか。

  1. A整数を入れる変数に、型の合わない値を代入している
  2. B文の最後のセミコロンを書き忘れている
  3. Cプログラムを実行してみたら、途中で0で割る計算が起きた
答えと解説を見る

正解:A. 整数を入れる変数に、型の合わない値を代入している

意味解析では、文法としては正しく書けているプログラムについて、型が合っているか、宣言されていない名前を使っていないか、関数に渡す引数の数が正しいかなどを調べます。型の合わない代入はこの段階で見つかる代表的な誤りです。セミコロンの書き忘れは文法の誤りなので構文解析で見つかります。0での割り算は実行してみて初めて起こる実行時の誤りで、一般にコンパイラでは見つけられません。

  • A. 正しい。型の不一致は意味解析で見つかります。
  • B. セミコロンの書き忘れは構文解析で見つかる文法の誤りです。
  • C. 0での割り算は実行時に起こる誤りです。
この分野を解く 分野ページへ

コンパイラのほかの問題

  1. 抽象構文木(AST)の特徴として正しいものはどれか。
  2. コンパイラの内部で、ソース言語にもCPUにも依存しない中間表現(IR)を使う主な利点はどれか。
  3. 基本ブロックの説明として正しいものはどれか。
  4. 制御フローグラフで、節と矢印が表しているものの組み合わせとして正しいものはどれか。
  5. SSA形式の中間表現の特徴として正しいものはどれか。