编译原理,课件第6章 自底向上优先分析法

时间:2025-04-25

第6章 自底向上优先分析法自底向上优先分析法 简单优先分析法 算符优先分析法 算符优先文法的定义 算符优先关系表的构造 算符优先分析算法 算符优先分析法的局限性

自底向上分析法自底向上分析法,也称移进-规约分析法。思想:对输入符号串自左向右进行扫描,并将输入符逐 个移入一个栈中,边移入边分析,一旦栈顶符号串形 成某个句型的句柄或可规约串(该句柄对应某产生式 的右部)时,就用产生式左部的非终结符代替之;这 称为一步规约。

自底向上分析的移进-规约过程是自顶向下的最右 推导的逆过程。

将输入分成两部分:未消化的和半消化的半 消 化 的 Input#未消化的

总控程序

output

产 生 式 表

分析表

例 子G[S]:S->aAcBe A->b A->Ab B->d

输入串abbcde

abbcde的最右推导为: S aAcBe aAcde aAbcde abbcde

例 子(续)G[S]:S->aAcBe A->b A->Ab B->d

输入串abbcde

abbcde的移进-规约过程为: S aAcBe aAcde aAbcde abbcde

文法G[S]: (1) S → aAcBe (2) A → b (3) A → Ab (4) B → d

步骤 符号栈1) 2) 3) 4) 5) 6) 7) # #a #ab #aA #aAb #aA #aAc

输入符号串abbcde# bbcde# bcde# bcde# cde# cde# de#

动作移进 移进 归约(A→b) 移进 归约(A→Ab) 移进 移进

S A B

8)9) 10) 11)

# aAcd#aAcB #aAcBe #S

e#e# # #

归约(B→d)移进 归约 接受

A

a b b c d e 符号串abbcde是否是G[S]的句子 S aAcBe aAcde aAbcde abbcde

对输入串abbcde#的移进-规约分析过程

自底向上的移进-规约过程也是自底向上构造语法 树的过程,每步规约都是构造一棵子树;输入 串结束时刚好构造出整个语法树。规约过程总是对出现在栈顶的句柄进行。

如何确定句柄呢?

自底向上优先分析法优先分析法分为: 简单优先分析法和算符优先分析法。 简单优先分析法:按一定的原则求出该文法所有 符号(终结符和非终结符)之间的优先关系, 按照这种关系确定规约过程中的句柄;是规范 规约。 算符优先分析法:只规定算符(终结符)之间的 优先关系;不是规范规约。适用于表达式的规 约。

简单优先分析优先关系: X=Y 表示X和Y的优先关系相等; X>Y 表示X的优先性比Y的优先性大; X<Y 表示X的优先性比Y的优先性小; 优先关系定义: X=Y 当且仅当G中存在产生式规则A …XY... X<Y 当且仅当G中存在产生式规则 A …XB...,且B Y... X>Y 当且仅当G中存在产生式规则 * A …BD...,且B ...X和D Y...

例子G[S]:S -> bAb A -> (B|a B -> Aa)(1) =关系: b=A, A=b, (=B, A=a, a=) (2) <关系 b< (, b<a; (<(, (<a, (<A (3) >关系 )>b, a>b, B>b; )>a, a>a, B>a;以上关系也可从语法树中得到!

简单优先文法满足以下条件的文

法: (1) 在文法符号集V中,任意两个符号之间最多 只有一种优先关系成立; (2) 在文法中任意两个产生式没有相同的右部。

简单优先分析法根据已知优先文法构造相应优先关系矩阵,设置 符号栈S;算法如下: (1) 将输入符号串a1a2 …an#依次存入符号栈S,直 到栈顶符号ai的优先性>下一输入符号aj时为 止。 (2) 栈顶当前符号ai为句柄末尾符,由此向下在栈 中找句柄的头符号ak,即找到ak-1<ak为止。 (3) 由句柄ak …ai在文法产生式中查找右部为 ak …ai的产生式,若找到则用相应左部代替句 柄;若找不到则出错。 (4) 重复上述步骤直到规约完输入符号串。

算符优先分析法

算符优先分析 自下而上分析算法 :模型(移进-归约) 算符优先分析不是规范归约 适用于算术表达式的语法分析

分析程序模型输入串# 总控程序 # 算符优先关系表 产生式 输出

G[E]:E→E+E|E*E|i 对输入串i+i*i#的规约过程步骤1 2 # #i

当前符号i +

剩余输入+i*i# i*i#

移进或规约

移进 规约3

34 5

#E#E+ #E+i

+i *

i*i#*i# i#

67 8 9 10 11

#E+E#E+E* #E+E*i #E+E*E #E+E #E

*i # # # #

i##

移进 移进 规约3 移进 移进 规约3 规约2 规约1 接受

编译原理,课件第6章 自底向上优先分析法.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219