|
|
|
|
@ -16,12 +16,12 @@ Lab2 的目标是在该示例基础上扩展语义覆盖范围,逐步把更多
|
|
|
|
|
## 3. 当前代码框架(与 Lab2 直接相关)
|
|
|
|
|
|
|
|
|
|
1. IR 定义与打印
|
|
|
|
|
- `src/ir/IR.h`
|
|
|
|
|
- `include/ir/IR.h`
|
|
|
|
|
- `src/ir/IRBuilder.cpp`
|
|
|
|
|
- `src/ir/IRPrinter.cpp`
|
|
|
|
|
|
|
|
|
|
2. 语法树 -> IR 生成器
|
|
|
|
|
- `src/irgen/IRGen.h`
|
|
|
|
|
- `include/irgen/IRGen.h`
|
|
|
|
|
- `src/irgen/IRGenDriver.cpp`
|
|
|
|
|
- `src/irgen/IRGenFunc.cpp`
|
|
|
|
|
- `src/irgen/IRGenDecl.cpp`
|
|
|
|
|
@ -37,10 +37,10 @@ Lab2 的目标是在该示例基础上扩展语义覆盖范围,逐步把更多
|
|
|
|
|
- `src/irgen/IRGenDecl.cpp`
|
|
|
|
|
- `src/irgen/IRGenStmt.cpp`
|
|
|
|
|
- `src/irgen/IRGenExp.cpp`
|
|
|
|
|
- `src/ir/IR.h`(当现有 IR 指令/类型不够用时)
|
|
|
|
|
- `include/ir/IR.h`(当现有 IR 指令/类型不够用时)
|
|
|
|
|
- `src/ir/IRBuilder.cpp`(当需要新增构建接口时)
|
|
|
|
|
- `src/ir/IRPrinter.cpp`(新增 IR 指令后补齐打印)
|
|
|
|
|
- `src/irgen/IRGen.h`(当需要扩展状态或辅助接口时)
|
|
|
|
|
- `include/irgen/IRGen.h`(当需要扩展状态或辅助接口时)
|
|
|
|
|
|
|
|
|
|
2. 视实现需要可能修改
|
|
|
|
|
- `src/main.cpp`(当需要调整输出阶段行为)
|
|
|
|
|
|