2021 年秋季编译原理实验
实现 cminus-f 编译器
cminus-f 是 C 语言的子集,语法与语义规则见 cminusf.md
编号 | 内容 | 描述 | 实验任务 | 实验报告 |
---|---|---|---|---|
lab1 | 词法分析、语法分析 | 写 cminus-f 的词法、语法规则 | task1 | report1 |
lab2 | 了解中间代码 | 学习使用用 Light IR 的接口 |
task2 | report2 |
lab3 | 中间代码生成 | 根据抽象语法树生成中间代码 | task3 | report3 |
lab4 | 中间代码优化 | 实现常量传播、循环不变式外提、活跃变量分析等 Pass | task4 | report4 |
lab5 | 后端代码生成 | 由中间代码生成汇编代码 | task5 | report5 slides5 |
实验 3, 4 与彭炫超共同完成
sudo apt install llvm clang flex bison
./init.sh
cd Current/test
./test.sh