一、简介
编译程序的目的就是将源程序翻译成为语义等价的目标程序
二、主流技术:语法制导的翻译技术
三、语义分析的功能
审查每个语法结构的静态语义
检查:类型,运算,维数,越界
执行翻译
变量的存储分配
表达式的求值
语句的翻译(中间代码的生产)
四、语义规则和产生式联系的两种方式
语法制导的定义
在匹配产生式后调用相应的语义子程序实现翻译
语法制导的翻译
在右部合适的位置插入翻译方案(时机)
五、
语义分析是上下文有关的,但可以通过对上下文无关文法增加属性来实现上下文有关。
概念
综合属性
继承属性
虚拟属性
属性文法
有无副作用
注释分析树
语法制导定义
注释树和分析树
属性依赖图
语法树
拓扑排序
有向无环图