平成29年度 III-4

科目: 専門科目 / 分野: 情報工学部門 / 年度: 平成29年度

III-4 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

コンパイラに関する記述のうち最も適切なものを選ぶ問題。コンパイラの処理手順、意味エラーと構文エラーの違い、のぞき穴最適化、JITコンパイラ、共通部分式の削除などの理解を問う。

解説

この問題で問われていること

コンパイラの処理段階と、代表的な最適化・実行方式の説明を正しく区別する問題。

解き方

① コンパイラの基本: 共通部分式の削除=同じ式を1回だけ計算。JIT=実行時にバイトコードを機械語に。型の誤りは意味上の誤り。順序は字句解析→構文解析。のぞき穴最適化=生成した命令列の局所を見る
② ①ソースではなくバイトコード、③構文ではなく意味、④字句と構文が逆、⑤ソースではなく命令列
③ ②

正解が正しい理由

共通部分式の削除は、同じ式が2回以上現れ、その間に式の値が変化しない場合に、計算を1回だけ行い結果を再利用するようコード生成を行う最適化である。したがって②が最も適切である。

各選択肢について

覚えるべきポイント

コンパイラの流れは、字句解析→構文解析→意味解析→中間語→最適化→コード生成。のぞき穴最適化は生成後の命令列の局所最適化、JITは実行時にバイトコードを機械語へ変換する。

キーワード: コンパイラ、共通部分式の削除、のぞき穴最適化、JITコンパイラ、字句解析、構文解析、情報工学部門

出題履歴

同じ問題が計3回出題されています(平成29年度、令和3年度、令和5年度)。