第1页共8页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共8页第5章自下而上的语法分析从叶结点出发,步步向上归约
若能归约到根结点,说明输入串是文法的一个句子,否则输入串存在语法错误
1自下而上的语法分析概述㈠概述实质上是一种移进归约法,设置一个栈,将输入串符号逐个移进栈内,一旦发现栈顶形成某个产生式的候选式时,立即将栈顶这一部分符号替换(归约)成该产生式的左部符号
例给定文法G:S→aAcBeA→b|AbB→d和输入串abbcde,其移进归约过程如下所示:edBBbccccbAAAAAAAaaaaaaaaaS移移归移归移移归移归①②③④⑤⑥⑦⑧⑨⑩因最终归约到根结点,输入串abbcde是文法的一个句子
㈡问题从第④步到第⑤步有二种选择,可将b归约成A,栈顶成aAA;也可将Ab归成A,栈顶成aA,显然后者是正确的,故需精确定义可归约串
㈢句柄和规范归约①短语②直接短语(简单短语)③句柄继续问题的讨论
句型aAbcde中存在三个短语,它们是Ab、d和aAbcde,其中Ab和d是直接短语,句柄是Ab
不能因为存在规则A→b,就断定b是这个句型的一个短语,b不是句柄,甚至连短语都不是
④规范归约(最左归约)⑤规范句型⑥规范推导⑦图解法5
2LR分析法的基本原理㈠前缀㈡活前缀㈢LR分析法的基本思想㈣LR(0)项目(简称项目)第2页共8页第1页共8页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共8页在产生式右部的某个位置添加一个园点“
特例,A→ε的项目为A→
S'→E1
E→d这个文法的项目有S'→
ES'→E
㈤构造识别活前缀的NFA①将每个项目视为识