考虑下面的翻译方案
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