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

【源码】基于SysY语言的前端静态编译器及其测试系统(ACompiler)

项目简介

该项目是基于SysY语言的静态编译器前端,核心功能是把SysY源代码转化为LLVM中间表示(IR)。项目涵盖编译器主要逻辑、符号表管理、抽象语法树(AST)生成以及LLVM IR生成等关键部分,还配备自动化测试系统,用于验证编译器功能和性能。

项目的主要特性和功能

  1. 静态编译:将SysY源代码转换为LLVM IR,为后续优化和代码生成奠定基础。
  2. 符号表管理:借助Scope类管理符号表,支持变量的声明与查找。
  3. 抽象语法树(AST)生成:把源代码解析为AST,便于后续分析与操作。
  4. LLVM IR生成:将AST转换为LLVM IR,提升代码可移植性和效率。
  5. 测试系统:提供自动化测试脚本,可对编译器进行测试并生成测试报告。
  6. 可扩展性:支持单点测试和批量测试,便于进行功能验证和性能评估。

安装使用步骤

前提条件

确保已经下载了本项目的源码文件,且已正确安装LLVM工具链并配置好环境变量。

具体步骤

  1. 进入项目目录:在终端中进入项目目录。
  2. 编译前端静态编译器:执行命令 make -C front-end
  3. 使用编译器编译SysY源代码:使用生成的编译器可执行文件,指定输入文件和输出文件。示例命令如下: sh ./build/parser.out <input_file> -o <output_file> [--hide-AST]
  4. 运行测试脚本:执行 TestBatch.py 脚本进行批量测试或执行 TestMachine.py 脚本进行单点测试。示例命令如下: sh python TestBatch.py python TestMachine.py ./function_test2021/001_var_defn.sy

注意事项

请根据实际需求调整编译选项和测试参数。

下载地址

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