编译原理3-自底向上的语法分析

自底向上分析 ,就是自左至右扫描输入串,自底向上进 行分析;通过反复查找当前句型的 句柄并使 用产生式规则 将找到的句柄归约为相应的非终结符 。逐步进行“ 归约 ”,直到至文法的开始符号;
对于规范推导(最右推导)来说,句柄的后边不会出现非终结符; 

算符优先分析方法

条件①首先是算符文法:每个产生式都不含有两个相邻的非终结符;

②算符优先文法要求不产生空产生式;

其他条件:

例:判断算符优先文法

1) FIRSTVT集合仅用于算符优先文法;
2) 一般情况下,算法优先文法中的 FIRSTVT(P) 集合要大于LL(1)文法中的 FIRST(P)  集合;
3) 如果有 P→ …a P→ …aQ, LASTVT(P) 包含以 a 结尾或以 aQ 结尾的终结符a
4) FOLLOW(P):紧跟在非终结符 P 之后所有可能出现的第一个终结符构成的集合。

例:算符优先分析表构造

 特点:

① 不是规范规约,按照最短素短语进行规约;

② 仅考虑终结符,跳过了许多单非产生式对应的规约规则,可能会错误规约;

③若终结符数量多,则构造分析表所占用的空间大;

例:算符优先文法
设有文法G[S]: S → a | b | (A)      A → SdA | S
(1) 构造算符优先关系表
(2) 给出句型 (SdSdS) 的短语、简单短语(直接短语)、句柄、素短语和最左素短语
(3) 给出输入串 (adb)# 的分析过程

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值