コンパイラ

静的な型をもつ言語で、コンパイラが型検査を行う主な利点はどれか。

  1. A型の合わない演算や代入を、実行する前に見つけられる
  2. B型の宣言がなくなり、プログラムが必ず短くなる
  3. C実行中に起こるすべての誤りを、コンパイル時になくせる
答えと解説を見る

正解:A. 型の合わない演算や代入を、実行する前に見つけられる

型検査では、整数と文字列を足そうとする、関数に型の違う引数を渡すといった誤りを、プログラムを実行する前に見つけられます。誤りを早く見つけられるうえ、型の情報はコンパイラが効率のよい機械語を選ぶのにも役立ちます。ただし、0での割り算や配列の範囲外のアクセスなど、値によって起こる誤りまですべてなくせるわけではありません。型を宣言する分、プログラムが短くなるとも限りません。

  • A. 正しい。型の誤りを実行前に見つけられます。
  • B. 型を宣言する分、短くなるとは限りません。
  • C. 値によって起こる実行時の誤りはなくせません。
この分野を解く 分野ページへ

コンパイラのほかの問題

  1. 字句解析でトークンを見分ける規則を表すのによく使われるものはどれか。
  2. 多くのプログラミング言語の文法を表すのに使われ、構文解析の基礎になる文法の種類はどれか。
  3. 式 2 + 3 * 4 の抽象構文木の形として正しいものはどれか。
  4. 中間表現の一つである三番地コードの特徴として正しいものはどれか。
  5. レジスタ割り当ての準備として行う生存区間(ライブネス)の解析で求めるものはどれか。