⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 编译器更新记录.txt

📁 一个用C++实现的C的Compiler。 代码风格良好。 原作者自己写了这个编译器
💻 TXT
字号:
2007.12.4
1.发现并修补一致命错误,通过多重循环(6重循环,约15个变量同时活跃)和多重数组(6维数组)的测试。
2.增加对算术与、或、非、异或和移位操作的支持。

2007.12.7
1.增加对内置汇编的支持。
2.修改toTAC.exe编译空程序时Crash的错误。
3.改正toTAC.exe对char **等类型支持不好的问题。
4.修补toBIN.exe寄存器染色中一致命错误:当一条TAC语句在同一个寄存器上use和define同一个颜色的两个变量时,若define的变量不活跃,原先为了优化,没有保存use的变量,但这个是错误的。

2007.12.9
1.加强代码优化能力:增加了迭代安置寄存器和不活跃变量的优化。编译后代码长度平均减少1/4(某个版本的kernel编译后大小为0x1700,优化一天后下降到0x1200)。
2.加强代码优化能力:在适当的地方使用小范围变址寻址。
3.改变目标代码中各段的安置格式,由(入口代码,常量数据段,变量数据段,代码段,栈段)修改为(入口代码,代码段,常量数据段,变量数据段,栈段)。这样更合理,也适应了前8KW是ROM的目标计算机。
4.增加编译选项,包括编译目标模式(kernel模式和user模式),user模式下定义栈空间大小,编译输出文件等等。
5.将数组寻址的乘法改为移位运算,速度更快,且兼容更低版本的CPU。
6.修正内置汇编中的一个bug:原先对%readreg()的支持有问题。

2007.12.11
1.增加对void和(void *)类型的检测,特别是void不能参与任何运算或者变量定义。
2.修改一处处理类型声明的bug。
3.在toBIN过程中加入安全检测,确保每一个程序在栈内使用的参数段和局部变量段的大小分别不超过120个字。
4.加入对特殊字符'\b', '\r'的支持。
5.内置汇编增加指令“NOP”。

2007.12.12
1.内置汇编增加指令“MFIH”,“MTIH”,“INT”

2007.12.14
1.修正关于取地址后的变量的一处优化bug。
2.增加针对sp的较大范围变址寻址优化,同时修改IR.tac格式,PUSH增加第二个可选参数,表示一次PUSH入栈的大小。

2007.12.16
1.增加帮助信息。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -