项目简介
该项目是基于SysY语言的静态编译器前端,核心功能是把SysY源代码转化为LLVM中间表示(IR)。项目涵盖编译器主要逻辑、符号表管理、抽象语法树(AST)生成以及LLVM IR生成等关键部分,还配备自动化测试系统,用于验证编译器功能和性能。
项目的主要特性和功能
- 静态编译:将SysY源代码转换为LLVM IR,为后续优化和代码生成奠定基础。
- 符号表管理:借助Scope类管理符号表,支持变量的声明与查找。
- 抽象语法树(AST)生成:把源代码解析为AST,便于后续分析与操作。
- LLVM IR生成:将AST转换为LLVM IR,提升代码可移植性和效率。
- 测试系统:提供自动化测试脚本,可对编译器进行测试并生成测试报告。
- 可扩展性:支持单点测试和批量测试,便于进行功能验证和性能评估。
安装使用步骤
前提条件
确保已经下载了本项目的源码文件,且已正确安装LLVM工具链并配置好环境变量。
具体步骤
- 进入项目目录:在终端中进入项目目录。
- 编译前端静态编译器:执行命令
make -C front-end
。 - 使用编译器编译SysY源代码:使用生成的编译器可执行文件,指定输入文件和输出文件。示例命令如下:
sh ./build/parser.out <input_file> -o <output_file> [--hide-AST]
- 运行测试脚本:执行
TestBatch.py
脚本进行批量测试或执行TestMachine.py
脚本进行单点测试。示例命令如下:sh python TestBatch.py python TestMachine.py ./function_test2021/001_var_defn.sy
注意事项
请根据实际需求调整编译选项和测试参数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】