编译原理2024期末复习(面向做题,大题速学)下篇【太原理工大学】

本文详细介绍了逆波兰式、三元式和四元式的书写方法,强调了根据运算优先级和逻辑顺序的重要性。同时讨论了代码优化的五个常用技术,如合并常量运算、删除无用赋值等,并通过实例展示了如何在编译原理中应用这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

书接上回,还剩下三元式,四元式,逆波兰式以及代码优化没有写。

16.逆波兰式,三元式,四元式的书写

知识点:转移操作有四个:BL转向某标号(用的少)BT条件为真转 BF条件为假转 BR无条件转

16.1逆波兰式的书写
做题思路:

        就是运算符在操作数的后面,比如 a-b的逆波兰式就是ab-,长一点的就是 (7 - 4) * 2,对应的逆波兰式为:7 4 - 2 * 。要注意的是,计算逆波兰式要根据优先级来计算,像是先小括号,在乘除在加减,要注意顺序。

        要注意的是逆波兰表示时前面的序号与逆波兰式长度有关,一个字母或者一个符号表示一个长度。

条件语句的逆波兰式表示

注意:每一次进行判断后,后面紧跟的一句必定是BF跳转,跳转语句后接着是判断为true的执行语句。你可以这样想,你写的这个语句就相当于是这个程序的执行顺序,它每一句的执行都是符合逻辑的,你如果条件判断正确是不会执行条件判断错误时的语句的,同理相反也是一样的。所以在你写完你的句子时,你可以附一个初值自己执行一下自己写的,看会不会走到不该执行的语句上,如果没有证明你的句子写对了。按照这样的逻辑写,写这些语句就不会生搬硬套了,写的也就更快更准确了。不止条件语句的书写,像程序段,循环语句的逆波兰式表示,甚至是三元式四元式的书写也是这样的,只要按着执行的逻辑去书写,就会下笔如有神了。当然基本的书写格式要掌握!

程序段的逆波兰式表示

 

循环语句的逆波兰式表示

这块要注意的是,因为是循环语句,所以只有条件判断为假时才跳出循环,并且每次执行过后要记得判断条件要自增(i++),然后无条件BR跳转到判断语句那块,同样的ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村口下棋刘师傅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值