U9 语义分析和代码生成
2023-12-20 07:58:09
一、声明的处理
1、任务
分离出每一个被声明的实体,并把它们的名字填入符号表中
把被声明实体的有关特性信息尽可能多地填入符号表中
2、已声明的实体
检查对所声明的实体引用(种类,类型等)是否正确
根据实体的特征信息,例如类型,所分配的目标代码地址(可能为数据区单元地址,或目标程序入口地址)生成相应的目标代码
二、表达式的处理
类似于文法中加入动作符号进行变量的引用/运行时语义检查。
例如:
三、赋值语句的处理
分析表达式的主要目的是生成计算该表达式值的代码。通常的做法是把表达式中的操作数装载(LOAD)到操作数栈(或运行栈)栈顶单元或某个寄存器中,然后执行表达式所指定的操作,而操作的结果保留在栈顶或寄存器中。比如
四、控制语句的处理 控制流处理(标号/比较/跳转)
五、过程调用和返回 参数传递、运行栈操作
文章来源:https://blog.csdn.net/ning_xiao_xuan/article/details/134909543
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!