コンパイラ
プログラムの誤りのうち、コンパイルの時点で見つけることができるものはどれか。
- A利用者が入力したファイルが存在しないことによる誤り
- B実行中に使えるメモリが足りなくなる誤り
- C括弧の対応が取れていない文法の誤り
答えと解説を見る
正解:C. 括弧の対応が取れていない文法の誤り
括弧の対応やセミコロンの抜けなどの文法の誤りは、構文解析の段階で必ず見つかり、コンパイルが止まります。型の不一致なども意味解析で見つかります。一方、利用者が指定したファイルが存在するか、実行中にメモリが足りるかは、実行するときの環境や入力によって変わるので、コンパイルの時点では分かりません。こうした実行時の誤りには、プログラムの中で戻り値を確かめるなどの対策が必要です。
- A. ファイルの有無は実行するときの環境で決まります。
- B. メモリが足りるかは実行するときに決まります。
- C. 正しい。文法の誤りは構文解析で見つかります。