项目简介
本项目是一个基于C++的编译器,能将SysY语言(C语言的子集)翻译成目标ARM汇编代码。项目包含两个前期准备任务和一个额外任务,编译器主体位于./final
文件夹。该项目于2023年12月在南开大学的“编译系统原理”课程中完成。
项目的主要特性和功能
- 实现基本数据流和控制流的翻译,包含变量声明、函数调用、返回等常见编译过程。
- 能够识别、存储浮点数,并支持浮点数的计算操作。
- 可对数组进行识别、存储和计算,支持数组变量的创建与访问。
- 实现线性扫描寄存器分配和图着色寄存器分配算法,优化代码以提升执行效率。
安装使用步骤
- 解压已下载的源码文件到指定目录。
- 编译源代码,生成可执行文件。
- 运行生成的可执行文件,按提示输入测试样例。
- 查看程序输出结果,验证编译器能否正确将SysY语言代码转换为ARM汇编代码。
注意:此项目要求使用者具备一定的编译器设计和编程基础,不熟悉编译器原理的开发者可能需进行更多学习。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】