语义分析
语义分析在语法树的基础上,对程序作进一步的检查,来看程序是否是meaningful
符号检查
1.符号表
保存各种符号相关信息的数据结构
本节内容涉及教材
1.1作用域相关
嵌套作用域需要嵌套符号表,全局作用域还需放入类型符号以支持类型检查。
符号表的实现的接口
所要考虑的
2.文法分析(语义)(以类型为例子)(语法制导的定义)
如何赋予语法树语义,并计算相应的节点的属性?通过赋予每个节点的类型相应属性的相应值来实现,实现过程主要有监听器的模式(遍历两次ast)或者直接写(嵌入到产生式之中,但是只需要遍历一次)
处理依赖关系,分别有上对下,水平,和下对上。做法:将action嵌入cfg
综合属性。
继承属性。
继承与综合属性的综合。主要涉及到数组类型。
2.1文法分析(语法制导的翻译方案)(为语法制导的定义的一种实现)
2小节已给出例子
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment