语义分析
和中间代码生成
可以同时进行,称为语义翻译语法分析
、语义分析
、中间代码生成
可以同时进行,称为语法制导翻译
- SDT中的语义分析,和中间代码生成绑到一块了;
- 在花括号中执行语义动作(可以包括生成中间代码和类型检查),就认为是计算了节点属性;
- 而属性是什么完全是看需求来的。
步骤:
-
参考PLY在词法分析部分生成符号表,符号表参考要检查的错误类型确定其数据类型,P56标明使用SDT和使用符号表的关系
- 在语法分析构建语法分析树时添加语义动作,包括类型检查和中间代码生成。添加的动作在parser.py中尽量简洁,可以引入自定义模块,使用该模块中的方法。