语法制导翻译――语义分析

匿名 (未验证) 提交于 2019-12-02 23:42:01
  • 语义分析中间代码生成可以同时进行,称为语义翻译
  • 语法分析语义分析中间代码生成可以同时进行,称为语法制导翻译

参考:https://liuyehcf.github.io/2017/11/06/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86-%E8%AF%AD%E6%B3%95%E5%88%B6%E5%AF%BC%E7%BF%BB%E8%AF%911/

  1. SDT中的语义分析,和中间代码生成绑到一块了;
  2. 在花括号中执行语义动作(可以包括生成中间代码和类型检查),就认为是计算了节点属性;
  3. 而属性是什么完全是看需求来的。

步骤:

  1. 参考PLY在词法分析部分生成符号表,符号表参考要检查的错误类型确定其数据类型,P56标明使用SDT和使用符号表的关系

  2. 在语法分析构建语法分析树时添加语义动作,包括类型检查和中间代码生成。添加的动作在parser.py中尽量简洁,可以引入自定义模块,使用该模块中的方法。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!