当前位置:首页 > 报告详情

邢其正-Koopa-开源的本科生编译实践教学方案_20230328_114018.pdf

上传人: 2*** 编号:129213 2023-05-01 58页 2.27MB

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
邢其正(MaxXing)是北京大学的学生,他开发了名为Koopa的编译实践教学方案。Koopa是一个面向本科生的编译实践教学方案,包括教学用的编译器构建框架、详尽的“手把手”式教程文档、开箱即用的Docker实验环境,以及支持C/C++/Rust等多种开发语言。Koopa的全部开源,面向全网开放。Koopa的诞生源于2020年参加第一届编译系统设计赛,作者在比赛中印象深刻的三件事情是:第一次完整实现C子集编译器、其他学校的选手实力很强、大赛的评测系统很有意思。作者在2020年入学北大成为编译课助教,将Koopa引入课程,并在实践中不断改进。Koopa的设计包括旧版分层IR、SysY源文件、Eeyore(高层IR)、Tigger(底层IR)和汇编/执行文件。作者发现分层IR会引入更多理解负担,文本形式IR不易于程序处理,各阶段难度梯度划分不合理。因此,作者提出了新的IR设计,即Koopa IR,它是一种线性IR,显式CFG,强类型,支持SSA形式,类似于LLVM IR,易于分析、优化、阅读和调试,并提供标准化的框架。Koopa支持SSA形式,便于在此基础上进一步优化,使用基本块参数替换传统的Phi函数,更符合直觉,易于理解。Koopa支持多种语言开发,实验环境基于Docker构建,全平台适用,开箱即用,用完即删,没有任何残留环境。内置自动测试脚本,支持分阶段测试,自带130个功能/性能测试用例。Koopa好评如潮,愿我们的编译课越来越好,愿每个人都能感受到编译原理的乐趣。
"Koopa框架如何助力编译实践教学?" "从Koopa的诞生看编译器教学的演变" 如何改变编译器教学现状?"
客服
商务合作
小程序
服务号
折叠