アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20210725 実施分 問19
コンパイラで構文解析した結果の表現方法の一つに四つ組形式がある。
(演算子,被演算子 1,被演算子 2,結果)
この形式は,被演算子 1 と被演算子 2 に演算子を作用させたものが結果であることを表す。次の一連の四つ組は,どの式を構文解析したものか。ここで,T1,T2,T3 は一時変数を表す。
(*,B,C,T1)
(/,T1,D,T2)
(+,A,T2,T3)
四つ組:
(*,B,C,T1)
(/,T1,D,T2)
(+,A,T2,T3)
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20210725 実施分 問19(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:ア
覚える知識
3アドレス命令列から式への復元
四つ組は(演算子,被演算子1,被演算子2,結果)で中間コードを表し、一時変数を順に置換すると元の式に戻る。
この問題で必要なこと
T1=B×C、T2=T1/D、T3=A+T2 を代入すると A+B×C/D。
ひっかけ
T1・T2 のような一時変数が式に残る選択肢や、演算順序が変わる選択肢。
この知識の出題:本試験系 2 回・免除試験 12 回(公開問題での観測値)