-
表驱动LL(1)分析程序由预测分析程序、先进后出栈和预测程序表3个部分组成,其中只有预测分析表与文法有关,而分析表又可用一个矩阵M表示。矩阵的元素M[A,a]中的下标A表示非终结符,a为终结符或句子括号#,矩阵元素M[A,a]中的内容是一条关于A的产生式,表明当用非终结字符A向下推导时,面令输入符a时所采取的候选产生式。当元素内容无产生式时,则表明A为左部向下推导时遇到了不该出现的符号,因此元素内容转向出错处理的信息。
- ‘#’是句子括号,即输入串的括号
- ‘S’是文法的开始符号
- ‘X’是存放当前栈顶符号的工作单位
- ‘'a’是存放当前输入括号a的工作单位
-
举例说明
下面的正则文法是符合LL(1)规则的,如何将非LL(1)文法转换为LL(1)文法请查看相关资料。
表达式文法预测分析表
表驱动LL(1)分析程序过程详解
最新推荐文章于 2025-05-12 11:07:57 发布