コンパイラで構文解析した結果の表現方法の一つに四つ組形式がある。
(演算子, 被演算子1, 被演算子2, 結果)
この形式は、被演算子1と被演算子2に演算子を作用させたものが結果であることを表す。次の一連の四つ組は、どの式を構文解析したものか。ここで、T1、T2、T3は一時変数を表す。
(*, B, C, T1)
(/, T1, D, T2)
(+, A, T2, T3)
ア A+B*C/D
イ A+B*C/T2
ウ B*C+A/D
エ B*C+T1/D
ア
(演算子, 被演算子1, 被演算子2, 結果) は、結果 = 被演算子1 演算子 被演算子2 ということである。
順番にトレースすると
(*, B, C, T1) → T1 = B*C
(/, T1, D, T2) → T2 = T1/D = B*C/D
(+, A, T2, T3) → T3 = A+T2 = A+B*C/D となる。
問18 | 目次 | 問20 |