第七章_LR分析(编译原理)
1 1 L表示从左到右扫描输入串 left-to-right scanning R表示最左规约(即最右推导的逆过程) rightmost derivation in reverse K表示向右查看输入串符号的个数 当K=1时,能满足当前绝大多数高级语言编译程序的需要。 在步骤3中,用A→b归约 在步骤5中,用A→Ab归约 问题:何时移进?何时归约?用哪个产生式归约(如何找当前句柄归约)? 问题: 对于一个文法,状态集是如何确定的? LR分析表是如何得到的? 可归前缀和活前缀在LR分析中的作用 在LR分析过程中,实际上是把活前缀列出放在符号栈中,一旦在栈中出现可归前缀,即句柄已经形成,就用相应的产生式进行归约。 在分析的过程中,只要符号栈中的符号串是一个活前缀,就可保证已被分析过的部分是该文法规范句型的正确部分。 用有限自动机来识别活前缀和可归前缀 有限自动机如何构造? 一个特例:已经有了可归约前缀如何构造识别活前缀和可归前缀的有限自动机 由文法的产生式构造识别活前缀和可归前缀的有限自动机的方法 构造识别活前缀和可归约前缀的有限自动机的一个例子: 特例:由句子规范推导的逆过程直观地看出它的活前缀和可归前缀 按活前缀和可归前缀构造识别它们的有限自动机 以上示例中构造DFA的方法是通过一个句子的归约过程确定可归前缀,但是
原创力文档

文档评论(0)