语法制导的语义计算

语法制导的语义计算

属性文法

image-20201026100602864

属性

综合属性

image-20201026101048167

继承属性

image-20201026101849884

属性依赖

image-20201026102756219

image-20201026103121229

语义规则

image-20201026104048953

例题

image-20201026104330492

带注释的语法树

image-20201026104747007

对于综合属性:自下而上,将属性计算和语法树构造一并进行

image-20201026110300151

对于继承属性:先构造语法树,自上而下计算属性

image-20201026110501605

image-20201026111527800

基于属性文法的处理方法

依赖图

image-20201026124330898

image-20201026124602898

构建算法

image-20201026124625141

依赖图示例

image-20201026125713540

良定义的属性文法

image-20201026125820737

属性的计算次序

利用依赖图进行属性计算

image-20201026125947471

树遍历

树遍历的属性计算方法

image-20201026130421548

image-20201026132633124

示例

第一次树遍历(得到Z.h 和 Z.g)

image-20201026134122437

第二次树遍历(得到X.c, X.d 和 S.b)

image-20201026134536299

第三次树遍历(得到Y.e 和 Y.f)

image-20201026134656454

至此所有属性计算完毕

一遍扫描

一边扫描的处理方法

image-20201026162012520

抽象语法树

image-20201026162554732

建立表达式的抽象语法树

image-20201026162806787

建立抽象语法树的语义规则

image-20201026163832807

image-20201026164656526

原文地址:https://www.cnblogs.com/potofsalt/p/13892695.html