194页/ 共631 页
使用上下文无关文法来引导对语言的翻译。
用于类型检查和中间代码生成。
5.1 语法制导定义(Syntax-Directed Definition SDD)
是一个上下文无关文法和属性及规则的结合。
5.1.1 继承属性和综合属性
综合属性:在分析树结点 N 上的非终结符号 A 的结合属性是由 N 上的产生式所关联的语义规则来定义的。
继承属性:在分析树结点 N 上的非终结符号 B 的继承属性是由 N 的父结点上的产生式所关联的语义规则来定义的。
5.1.2 在一棵语法分析树的结点上对 SDD 求值
注释语法分析树(annotated parse tree)
5.2 SDD 的求值顺序
依赖图
一个工具,确定一棵给定的语法分析树中各个属性实例的求值顺序。
属性求值的顺序
S- 属性定义
如果一个 SDD 的每个属性都是综合属性,它就是 S 属性的。
L- 属性定义
具有受控副作用的语义规则
5.3 语法制导翻译的应用
抽象语法树的构造
类型的结构
5.4 语法制导的翻译方案
后缀翻译方案
后缀 SDT 的语法分析实现
产生式内容带有语义动作的 SDT
从 SDT 中消除左递归
L- 属性定义的 SDT
5.5 实现 L- 属性的 SDD
5.6 总结
此章对我来说不容易理解。看了一遍基本没懂。