大门|大门-CS-2003 |问题58

考虑下面的翻译方案

null
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) Expand 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 

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

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享