编译原理ll1预测分析表
时间: 2023-07-22 21:32:38 浏览: 186
实验二-LL(1)预测分析.rar_LL(1)_ll1界面_编译原理LL(1)_预测分析_预测分析表
LL(1)预测分析表是一种自顶向下的语法分析方法,它是基于一个文法的First和Follow集合构造出来的。它可以用于分析LL(1)文法,即文法中的任意两个产生式的左部的First集合不相交,且对于每个非终结符,它的任何产生式的右部的First集合也不相交。
构造LL(1)预测分析表的步骤如下:
1. 对于每个非终结符A,计算出它的Follow集合。
2. 对于文法中的每个产生式A -> α,对于每个终结符a属于First(α),将A -> α加入到M[A,a]中。
3. 对于文法中的每个产生式A -> α,如果ε属于First(α),则将A -> α加入到M[A,b]中,其中b属于Follow(A)。
4. 其余的M[A,a]都为空。
LL(1)预测分析表是一个二维表格,行表示文法的非终结符,列表示文法中的终结符。表格中的每个元素M[A,a]表示当分析器读入一个非终结符A并且当前输入符号是a时,应该选择哪个产生式进行推导。
需要注意的是,如果对于某个非终结符A和终结符a,M[A,a]中存在多个产生式,则该文法不是LL(1)文法,无法使用LL(1)预测分析表进行语法分析。
阅读全文