- 101
- 0
- 约1.74万字
- 约 65页
- 2016-12-05 发布于重庆
- 举报
07LR(k)分析方法
第七章 LR(k)分析法 从左到右、自底向上的语法分析 LR分析方法的逻辑结构与分析过程 LR(0)文法及LR(0)分析表的构造 LR(1)文法及LR(1)分析表的构造 SLR(1)文法及SLR(1)分析表的构造 LR分析方法的逻辑结构 LR分析器的组成部分 由3个部分组成: LR分析程序,又称总控程序。所有的LR分析器的总控程序都是相同的。 分析栈,包括文法符号栈和相应的状态栈,它们均是先进后出栈。 分析表(分析函数),不同的文法分析表不同; 同一个文法采用的LR分析器不同时,分析表也不同。分析表又可分为动作表(ACTION)和状态转换(GOTO)表两个部分,它们都可用二维数组表示。 关键是构造分析表 分析表的构造方法 有四种: LR(0)分析表构造法 简单LR(SLR(1))分析表构造法 LR (1)分析表构造法 向前看LR(LALR)分析表构造法 LR分析过程: 在总控程序的控制下,从左到右扫描输入符号串,根据分析栈中的状态和当前输入符号,按分析表中的内容完成相应的分析工作 分析表的组成 分析动作表Action是一个二维数组 状态转换表goto 也是一个二维数组 LR分析过程 用三元式: (状态栈,符号栈,输入符号) 表示分析过程中状态栈,符号栈,输入符号的变化。 将初始状态S0和#进分析栈。三元式为: (S0, # , a1a2…an#) 任一时刻的三元式为:
原创力文档

文档评论(0)