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

📅  最后修改于: 2021-09-25 04:40:55             🧑  作者: Mango

考虑如下所示的翻译方案

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

这里 num 是表示整数的标记,num.val 表示对应的整数值。对于输入字符串’9 + 5 + 2’,此翻译方案将打印
(一) 9 + 5 + 2
(B) 9 5 + 2 +
(C) 9 5 2 + +
(D) + + 9 5 2答案:(乙)
说明:让我们以自顶向下的方式制作 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+
这个问题的测验