admin管理员组

文章数量:1122867

北航计算机学院编译原理,GitHub

北航软件学院编译原理实验

前言

我们写代码从第一天起就和编译器打交道,而编译原理就是一门探究编译器背后奥秘的课程。编译原理这门课程不仅理论性很强,同时也需要大量的实际编码才能理解学习到的知识和实践之间的关联,因此编译实验是课程非常重要的一部分。

以往的实验内容是一脉传承——第一次词法分析,第二次 OPG,第三次语法分析,第四次最终检查,基础是做 PL0,选做 C0,以及有 GUI 等加分项。我们两位助教都对编译实验有着极高的热情,在完成实验的过程中我们自然也觉察到了大量的不合理和潜在的问题,因此第二年我们申请了助教想着手改善实验整体的体验。

之前的实验最大的问题在于 OPG 和其他的实验毫无关系而且之后写一个完整编译器门槛太高,很多学生即使是选择 PL0 因为没有参考等原因也难以完成最基本的实验,所以我们本着让绝大多数同学能愉快完成编译实验的目标出发,模仿 6 系编译实验,设计了一个名为 miniplc0 的入门级编译器来帮助学生理解一个最小编译器的实现进而能平滑过渡到自己编译器的实现。

当然,我们要承认的是,由于精力所限这个实验仍然有很多的不足,但是我们也在着手让整个实验文档化,希望参加实验的你和之后的助教能帮助我们一起来改善这个实验,让更多的学生能更加愉快的完成编译原理课程!

有关实验设计的任何问题可以联系(尤其欢迎之后的助教)

目前实验所有源代码全部托管在 GitHub 上,欢迎参与实验的同学提 issue/pr 帮助我们一起改进,勘误或者建议会有一定加分,希望大家喜欢新实验。

编译原理,真的,特别,好。——孔子乔

好时代,到来吧。——李明

本文标签: 北航计算机学院编译原理GitHub