第五章语法分析——自下而上分析概要
Action[S,a]规定了栈顶状态为S时遇到输入符号a应执行的动作: (1)移进:把[S,a]的下一状态S’=Goto[S,a]和输入符号a推进栈,下一输入符号变成现行输入符号。 (2)规约:用产生式A→β进行归约。若|β|=r,归约动作为A,则去除栈顶的r个项,使状态Sm-r变成栈顶状态,然后把[Sm-r,A]的下一状态S’=Goto[Sm-r,A]和文法符号A推进栈。 (3)接受accetpt:宣布分析成功,停止分析器的工作。 (4)报错:发现源程序含有错误,调用出错处理程序。 5.3.2 LR(0)项目集族与LR(0)分析表的构造 一、前缀、活前缀、可归前缀 1.前缀:符号串的任意部首。 abc:ε,a,ab,abc 2.活前缀:文法G的句型,存在规范推导S?αAβ?αωβ,则αω的前缀称为αωβ的活前缀。 3.可归前缀: S?αAβ?αωβ则αω称为可归前缀。 含有句柄的活前缀称为可归前缀。 * * R R 二、LR(0)项目集 1.LR(0)项目:文法G的每条规则右部的任意位置加上一圆点构成的式子。 A→?XYZ A→XYZ A→X?YZ A→XY?Z A→XYZ? A→X1X2
原创力文档

文档评论(0)