📜  门| GATE-CS-2003 |第58章

📅  最后修改于: 2021-06-29 20:26:59             🧑  作者: Mango

考虑下面显示的翻译方案

S → T R
R → + T {print ('+');} R | ε
T → num {print (num.val);} 

此处num是表示整数的令牌,而num.val表示相应的整数值。对于输入字符串“ 9 + 5 + 2”,将打印此翻译方案
(A) 9 + 5 + 2
(B) 9 5 + 2 +
(C) 9 5 2 + +
(D) + + 9 5 2答案: (B)
说明:让我们以自上而下的方式制作9 + 5 + 2的解析树,左先求导。

Steps:
1) Exapnd S->TR
2) apply T->Num...
3) apply R -> +T...
4) appy T->Num...
5) apply R-> +T..
6) apply T-> Num..
7) apply R-> epsilon 

通过在形成的解析树中的打印语句进行打印后,您将获得95 + 2 +的答案
这个问题的测验