情報に関する理論 (全41問中38問目)
No.38
コンパイラで構文解析した結果の表現方法の一つに四つ組形式がある。
(演算子,被演算子1,被演算子2,結果)
この形式は,被演算子1と被演算子2に演算子を作用させたものが結果であることを表す。次の一連の四つ組は,どの式を構文解析した結果か。ここで,T1,T2,T3は一時変数を表す。
(演算子,被演算子1,被演算子2,結果)
この形式は,被演算子1と被演算子2に演算子を作用させたものが結果であることを表す。次の一連の四つ組は,どの式を構文解析した結果か。ここで,T1,T2,T3は一時変数を表す。
(*,B,C,T1)
(/,T1,D,T2)
(+,A,T2,T3)
(/,T1,D,T2)
(+,A,T2,T3)
出典:平成18年春期 問37
- A+B*C/D
- A+B*C/T2
- B*C+A/D
- B*C+T1/D
- [出題歴]
- 基本情報技術者 H27秋期 問19
分類
テクノロジ系 » 基礎理論 » 情報に関する理論
正解
ア
解説
3つ目の式には被演算子としてT1とT2が使われていて、2つ目の式には被演算子としてT1が使われているので、上の式から順に展開していくことになります。
- (*,B,C,T1)
- T1は、"B"と"C"を"*"で演算した結果
⇒ T1 = B*C - (/,T1,D,T2)
- T1 = B*C なので、T2は、"B*C"と"D"を"/"で演算した結果
⇒ T2 = B*C / D - (+,A,T2,T3)
- T2 = B*C/D なので、T3は、"A"と"B*C/D"を"+"で演算した結果
⇒ T3 = A+B*C/D