de696b2b5311cf5fd2051cb4fd3a986c7d42e3cf
增加GEP指令以及相关方法 新增数组Array Type 删除无用指令(GetSubArray,LA) 删除冗余类定义(Lval) 修复中间代码生成逻辑 测试通过所以test目录下的文件 TODO:后端展开数组计算地址仅需要针对GEP指令展开
SysY 编译器 by 32bit Brain Storm
SysY 编译器是一个基于 ANTLR4 的编译器,支持 SysY 语言的解析和编译。该编译器使用 C++ 实现,并提供了一些简单的命令行操作来处理 SysY 源代码。
项目配置。
请确保你已经安装了CMake。
mysysy/ $ bash setup.sh
常用操作
- 查看帮助信息:
mysysy/ $ build/bin/sysyc -h - 运行并打印IR:
mysysy/ $ build/bin/sysyc -s ir testdata/functional/21_if_test2.sy - 运行并打印汇编码:
或者输出到文件中:
build/bin/sysyc -s asm testdata/functional/21_if_test2.sybuild/bin/sysyc -S testdata/functional/21_if_test2.sy -o 21_if_test2.s - 运行并打印IR(包含调试信息):
build/bin/sysyc -s ird testdata/functional/21_if_test2.sy - 运行并打印汇编码(包含调试信息):
build/bin/sysyc -s asmd testdata/functional/21_if_test2.sy
配套脚本
(TODO: 需要完善)
Description
Languages
C++
95.5%
Shell
3.9%
CMake
0.3%
ANTLR
0.3%