littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于C++编程语言的SysY语言到ARM汇编代码编译器

项目简介

本项目是一个基于C++的编译器,能将SysY语言(C语言的子集)翻译成目标ARM汇编代码。项目包含两个前期准备任务和一个额外任务,编译器主体位于./final文件夹。该项目于2023年12月在南开大学的“编译系统原理”课程中完成。

项目的主要特性和功能

  1. 实现基本数据流和控制流的翻译,包含变量声明、函数调用、返回等常见编译过程。
  2. 能够识别、存储浮点数,并支持浮点数的计算操作。
  3. 可对数组进行识别、存储和计算,支持数组变量的创建与访问。
  4. 实现线性扫描寄存器分配和图着色寄存器分配算法,优化代码以提升执行效率。

安装使用步骤

  1. 解压已下载的源码文件到指定目录。
  2. 编译源代码,生成可执行文件。
  3. 运行生成的可执行文件,按提示输入测试样例。
  4. 查看程序输出结果,验证编译器能否正确将SysY语言代码转换为ARM汇编代码。

注意:此项目要求使用者具备一定的编译器设计和编程基础,不熟悉编译器原理的开发者可能需进行更多学习。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】