为了能在一趟中尽可能多的发现错误,语法分析遇到错误时会跳至一个产生式的结束处,比如
exp->IDexp->exp+expexp->(exps)exps->expexps->exps;exp
如果在分析过程中遇到错误,分析器会尽力跳至 ; 和 ) 处来结束一个开始符号的推导,进行下一次推导,从而尽可能多的在一趟中分析出错误。实现方法如下:
exp->(error)exps->error;exp
具体到代码怎么实现的,等cup生成代码后看看就知道啦
为了能在一趟中尽可能多的发现错误,语法分析遇到错误时会跳至一个产生式的结束处,比如
exp->IDexp->exp+expexp->(exps)exps->expexps->exps;exp
如果在分析过程中遇到错误,分析器会尽力跳至 ; 和 ) 处来结束一个开始符号的推导,进行下一次推导,从而尽可能多的在一趟中分析出错误。实现方法如下:
exp->(error)exps->error;exp
具体到代码怎么实现的,等cup生成代码后看看就知道啦
3905
553

被折叠的 条评论
为什么被折叠?