计算机系统基础PA1(2)
写在前面
PA1的内容还是挺多的,只用一个博客写会看起来很臃肿,于是用这篇博客写接下的PA1
表达式求值
数学表达式求值
如果想要完成就不得不学学regex.h这个库中的函数了
接下来就都是看讲义和编程基本功了
我们先来思考一下如果是负数的负号可能会出现在什么位置?
“(” 后面 如: (-1*2)
表达式最开始的位置 如:-1+2
其他运算符后面 如:2*-1
根据这个我们扫描一遍tokens数组找到上述符合的负号,标记一下(可以新开一个枚举型叫TK_NEGATIVE)
然后我们在找主运算符的时候看到运算符类型是TK_NEGATIVE就可以特殊处理一下
其实就是几个API要认识一下就知道了:
看完system后我们也就可以回答这个问题了:
如果有除0,那么编译的时候会报错 ,ret接受到的值也不为了,也就continue
然后感觉可以不去管这个除0错误
监视点
扩展表达式求值的功能
这里有个扩展指针解引用的功能让我很疑惑
首先我的表达式里除了$t1 这样的寄存器和0x800000这样的16进制数位
都是10进制整数和运算符,没有变量p什么的
那么我这个*指针在表达式中应该咋用?
先空到这里吧!
本文作者:次林梦叶
本文链接:https://www.cnblogs.com/cilinmengye/p/17587158.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
课程--计算机系统基础与实现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2022-07-28 动态规划----背包问题