编译原理【4】文法转换(消除左递归)

并不是所有文法都适合自顶向下分析,下面列举两个自顶向下分析中遇到的问题: 1.同一非终结符的多个候选式前缀相同时,会导致回溯现象从而效率低下。 为什么要消除左递归? 如果是类似于 A → A α A\rightarrow A\alpha A→Aα的左递归文法,由于对当前句型的分析按照最左推导执行,因此将会使得递归下降分析器陷入无限循环。故需要消除。(参考下图,最后会生成以A开头,后面跟着无限个α的
相关文章
相关标签/搜索