编译原理:不确定的自顶向下分析思想

不确定的自顶向下分析概述

  • 带回溯的自顶向下分析是一个试探过程,当分析不成功时则推翻分析,退回到合适的位置,再重新试探其他候选的可能的推导。
  • 不确定的自顶向下分析需要记录已经选过的产生式,直到把所有的可能推导序列都试完仍然不成功,才能确定输入串不是该文法的句子而报错。
  • 在实际的编译程序中,在实现时往往是边分析边插入语义动作,因此带回溯分析的代价很高,效率很低,在实际情况中几乎不会被使用。

不确定的自顶向下分析发生回溯的三种情况

  • 由于相同左部的产生式的右部FIRST集不为空而引起回溯。
  • 由于文法中存在左递归而引起回溯。
  • 某个非终结符存在多个以该非终结符为左部的产生式,且存在产生式的右部可以推出空串,并且该非终结符的FOLLOW集中含有其他产生式右部FIRST集中的元素。

猜你喜欢

转载自blog.csdn.net/hanmo22357/article/details/131259424