rain2133 de696b2b53 [IR]重构数组地址相关指令
增加GEP指令以及相关方法
新增数组Array Type
删除无用指令(GetSubArray,LA)
删除冗余类定义(Lval)
修复中间代码生成逻辑
测试通过所以test目录下的文件
TODO:后端展开数组计算地址仅需要针对GEP指令展开
2025-07-20 15:33:58 +08:00
2025-03-24 00:44:52 +08:00
2025-07-20 15:33:58 +08:00
2025-06-24 03:23:45 +08:00
2025-03-01 03:31:21 +00:00

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.sy
    
    或者输出到文件中:
    build/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
2025计算机系统能力大赛编译实现赛
Readme Apache-2.0 173 MiB
Languages
C++ 95.5%
Shell 3.9%
CMake 0.3%
ANTLR 0.3%