HNU-计算机系统-讨论课3

题目:
编译器在编译if-else语句时,是通过向后跳转到不同的地址来实现判断分支,但在处理if语句时,实际上编译器是不知道if中的判断语句及中间的执行体是要占用多少条指令的,所以只能是先将跳转地址置空,在解析完成后再来回填需要跳转的实际地址,请给出回填地址的算法,并通过示例与实际代码进行验证。(需要考虑if-else嵌套的情况)

WARNING:

这个算法是我们根据GPT的模糊不清表述再加上组员的推断和适当分析得出的,不一定准确嗷!详细的正确算法还得要学习编译原理之后才能很好地理解。受限于水平,我只能做到这里了。

所以如果知识有错误或者缺漏,请一定要指出,您的建议这对于我的改进有很大帮助!

HNU-计算机系统-讨论课3_第1张图片

HNU-计算机系统-讨论课3_第2张图片 

HNU-计算机系统-讨论课3_第3张图片 HNU-计算机系统-讨论课3_第4张图片

HNU-计算机系统-讨论课3_第5张图片HNU-计算机系统-讨论课3_第6张图片HNU-计算机系统-讨论课3_第7张图片

HNU-计算机系统-讨论课3_第8张图片

 HNU-计算机系统-讨论课3_第9张图片

HNU-计算机系统-讨论课3_第10张图片

HNU-计算机系统-讨论课3_第11张图片

 客观来说,这次我们的讨论结果质量比不上之前的几次。主要的原因还是这部分内容涉及到了编译原理的内容。

录制了一段讲解的视频在



视频链接

欢迎一键三连哦(嘿嘿)

 

 

你可能感兴趣的:(#,系统架构)