"L属性自下而上计算问题解决方法-编译原理复习"

需积分: 39 0 下载量 22 浏览量 更新于2023-12-16 收藏 1.12MB PPT 举报
在编译原理复习中,自下而上的L属性计算是一个重要的问题。自下而上的L属性计算涉及到继承属性的处理,即在处理一个状态(文法符号)之前,继承属性的值可能还没有被计算出来,这就需要在处理过程中解决继承属性的传递。 为了更好地理解问题,我们可以通过一个示例来进行讨论。考虑以下文法的产生式: A → X Y { Z.i = X.x } Z 在处理该产生式时,就会涉及到三个综合属性的计算,分别是X.x、Y.y和Z.i。在处理Z之前,由于继承属性Z.i的值还没有被计算出来,因此无法在处理Z时使用该继承属性。 为了解决这个问题,我们可以引入一个解决方案,即在栈上消除继承属性。具体做法是将继承属性保存在栈中,然后在处理到对应的综合属性时再将其从栈中取出来。这样就能够保证在计算继承属性时有对应的值可供使用。 下面我们通过一个示意图来说明该解决方案的具体操作: . . . . . . X.x X Y.y Y . . . . . . 栈 当前状态 已计算的属性值 top;编译原理复习贾棋jiaqi7166@gmail.com前前端端::依依赖赖于于源源语语言言,,独独立立于于目目标标机机器器。。词词法法分分析析器器语语法法分分析析器器语语义义分分析析器器源源程程序序中中间间代代码码生生成成器器代代码码优优化化器器代代码码生生成成器器目目标标程程序序出出错错管管理理器器符符号号表表管管理理器器 前前端端后后端端后后端端::依依赖赖于于目目标标机机器器,,独独立立于于源源语语言言。。第第二二章章 词词法法分分析析器器词法分析器记号(token)流源代码词词法法分分析析器器工工作作原原理理::源程序字符流顺顺序序组组合合词法单元词法记号模模式式非形式化描述形式化描述正规式字母组组合合串语言集集合合集集合合字母表名字词词法法记记号号的的描描述述与与