18
4.5 小结
这道题和以前做过的表达式求值很像,但也有不一样的地方,不同点在于表达式求值“规约”得到的任然是数字,并且也要把它压入栈中,而这题“规约”得到的并不能再压入同一个栈中(我另开了一个栈用于存储这些规约完得到的东西)。我在这题出错的地方就是状态栈的弹栈,弹栈次数应该为归约字符串的长度。另一个错误在于没有考虑到输入串中有非终结符(已改正),只需在每次循环的开始添加判断即可。
参考文献:
[1] 杨德芳主编.编译原理实用教程[M].北京:中国水利水电出版社,2007
19
18
4.5 小结
这道题和以前做过的表达式求值很像,但也有不一样的地方,不同点在于表达式求值“规约”得到的任然是数字,并且也要把它压入栈中,而这题“规约”得到的并不能再压入同一个栈中(我另开了一个栈用于存储这些规约完得到的东西)。我在这题出错的地方就是状态栈的弹栈,弹栈次数应该为归约字符串的长度。另一个错误在于没有考虑到输入串中有非终结符(已改正),只需在每次循环的开始添加判断即可。
参考文献:
[1] 杨德芳主编.编译原理实用教程[M].北京:中国水利水电出版社,2007
19