编译原理手记07-LR分析法

LR分析法是一种自下而上的语法分析技术,从左到右扫描输入,反向构造最右推导序列。通过栈顶元素状态和输入串进行分析表查询,ACTION和GOTO构成分析表,指导移入、归约、确认或报错等操作,实现编译器的语法分析。
摘要由CSDN通过智能技术生成

自上而上的语法分析是根据语法树的叶子节点来推回到树根的语法分析技术。这种由叶子到树根的推导叫做归约

做个更进一步的解释,比如有一个最右推导E -> i1+i2,如果我们依次读入到i1、+、i2的话,就可以"推出"他们所组成的产生式的开始符E,这种最右推导的逆向过程就叫做归约


理解了归约就明白了自下而上分析法的核心思想。



下面来讲解LR分析法,LR的意思是从左到右扫描输入,反向构造最右推导序列

LR分析相比自上而下的语法分析,最重要的数据结构不是树,而是。我们用栈的栈顶元素来表示语法分析当前所处的状态,然后根据对输入串的扫描,不断改变栈顶存储的状态。下面给出了LR语法分析的模型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值