单击此处编辑母版文本样式第二级第三级第四级第五级第四章 语法分析 3.6 有文法G[S]: S→aAcBBdA→AaBcB→bScAb(1) 试求句型aAaBcbbdcc和aAcbBdcc的句柄(2) 写出句子acabcbbdcc的最左推导过程【解答】 (1) 分别画出对应句型aAaBcbbdcc和aAcbBdcc的语法树如图4-4的(a)(b)所示图4-4 习题3.6的语法树(a) aAa
设文法为:S→aAcBeA→AbbB→d a2输出终态:移进分析栈aAcd归约 S ?aAcBe修剪语法树实现归约的演示AS自下而上语法分析主要有以下三种方法①简单优先分析法(规范归约)——文法按一定原则规定文法符号的优先关系②算符优先分析法(非规范归约)——规定算符之间的优先关系③ LR分析法(规范归约)—— LR(0)LR(1)SLR(1)和LALR(1)F3.算符优先文法 算符文法G的任何终
例:E → ETE-TT T → T?FTFF F → (E)iFIRST(α){ε} ∪ FOLLOW(A)若α ?分析表预测分析表是一个M[Aa]形式的矩阵其中A为非终结符a是终结符或 分析表元素M[Aa]中的内容为一条关于A的规则表明当A面临输入符号a时当前推导所应采用的候选式当元素的内容为出错标识时则表明A不应该面临输入符号a预测分析器的总控程序在任何时候
#
#
编译原理实验 之LL1语法分析实验平台:WIN-TC:刘松include<stdio.h>include<stdlib.h>include<string.h>define STACK_INIT_SIZE 50 顺序栈及基本操作typedef struct{ char base char top int stacksize }SqStackvoid InitStack
属性值分类据计算的依赖关系分成不相交的两类:综合属性(synthesized attribute)在分析树中一个结点的综合属性值是从其子结点的属性值计算出来的继承属性(inherited attribute)一个结点的继承属性值是由该结点兄弟结点和父结点的属性值计算出来的36digit?lexval:=3F?val:=4在建立每一个结点处 语法树 产生式s→if B then S
#
#
#
违法有害信息,请在下方选择原因提交举报