这是第五届华为毕昇杯优胜奖作品,通过135个功能测例,现提供所有版本
main分支和backnew分支是后端使用图着色的版本,比赛当中没有使用;比赛使用的版本是backold,其中backold3是最终版本。
- 编译命令
build/compiler -S -o <目标文件名> <源文件名> //生成汇编
build/compiler -koopa -o <目标文件名> <源文件名> //生成中间代码
- 打开docker
make docker
- 清空编译结果
make clean
- 自动测试
make autotest
- 手动测试
make TARGET=-riscv/-koopa test
- 编译koopa
make koopa-test
- 编译riscv
make riscv-test
- -O1优化编译
build/compiler -riscv -o *.S *.c -O1
- ast显示
//文本形式
build/compiler -astT -o *.ast *.c
//图像形式
build/compiler -astG -o *.dot *.c
- dot语言转化成图片
dot -Tjpg *.dot -o *.jpg
- 功能测试
make docker-func
autotest -riscv -s functional/hidden-functional /root/compiler || make autotest
https://www.cnblogs.com/zhangleo/p/15963442.html
https://pku-minic.github.io/online-doc/#/
如要交流,可发送邮箱至[email protected]
。同时仓库可能不定期有新commit,可关注。