プログラミング言語の質問
Q&A
学校の課題で確認があります。
こんな問題が出題されました。
- 以下の文法に従い,演算子順位行列を用いて2.3の構文解析アルゴリズムに基づいて, 文 b + (a * c + d) が構文解析される過程を示せ.
G = (VN, VT, P, s) VN = {E, T, F} VT = {+, *, (, ), a, b, c, d}
P = {E → E + E, E → E * E, E → ( E ), E → a, E → b, E → c, E → d}
s = E
この問題の答えは、以下で正しいでしょうか。
E ⇒ E+E ⇒ E+(E) ⇒ E+(E+E) ⇒ E+(E*E+E) ⇒
b+(E*E+E) ⇒ b+(a*E+E) ⇒ b+(a*c+E) ⇒ b+(a*c+d)
0