- 12
- 0
- 约 45页
- 2016-12-10 发布于江苏
- 举报
第七章 LR分析 LR 分析方法:一种能根据当前分析栈中的符号串(状态)和向右顺序查看输入串k个符号就可唯一确定分析器的动作是移进还是归约以及用哪个产生式归约的自底向上语法分析算法。 是一种规范归约的过程。 四种技术 LR(0) SLR(1) LR(1) LALR(1) 第七章 LR分析 能力强 几乎所有CFG的语言结构都能用LR分析 不需要对文法附加条件 难点 几乎不可能用手工编写LR分析器 现实 有LR分析器的生成器 (YACC) 7.1 LR分析概述 一个LR分析器由3个部分组成: 总控程序; 分析表[动作(ACTION)、状态转换(GOTO)]; 分析栈[文法符号栈,状态栈]。 7.1 LR分析概述 ACTION表告诉分析器:栈顶状态为i , 当前输入符号是a时做什么? 1. 移进:ACTION[i ,a]= Sj 2. 归约:ACTION[i ,a]=rj (若第j条产生式为A?β) 3. 接受:ACTION[S ,a]=acc (S为文法起始符) 4. 报错:ACTION[i,a]=error GOTO表 GOTO[i ,A]= j 表示了当前栈顶状态为i,遇到文法符号A时,应转向新状态j。 7.1 LR分析概述 7
原创力文档

文档评论(0)