irgen目录修改

master
jing 3 months ago
parent 8fe3a22aac
commit ace195834e

@ -60,7 +60,12 @@
│ │ ├── SymbolTable.cpp
│ │ └── ConstEval.cpp
│ ├── irgen/
│ │ └── IRGen.cpp
│ │ ├── CMakeLists.txt
│ │ ├── IRGenDriver.cpp
│ │ ├── IRGenFunc.cpp
│ │ ├── IRGenStmt.cpp
│ │ ├── IRGenExp.cpp
│ │ └── IRGenDecl.cpp
│ ├── ir/
│ │ ├── Context.cpp
│ │ ├── Module.cpp
@ -177,9 +182,16 @@
#### 3.2.6 `src/irgen/`AST → IR平台无关LLVM 风格)
- `src/irgen/IRGen.cpp`
- 将“带语义信息的 AST”翻译为平台无关 IR`src/ir/*`)。
- 负责控制流结构化翻译(基本块、分支、循环)、表达式求值翻译、函数与全局对象生成等。
- `src/irgen/IRGenDriver.cpp`
- 驱动 Visitor 遍历 AST调度各子模块完成翻译。
- `src/irgen/IRGenFunc.cpp`
- 函数翻译:函数定义、参数列表与返回值翻译;创建对应 IR 函数对象。
- `src/irgen/IRGenStmt.cpp`
- 语句翻译if/while/return 等控制流构造,生成基本块与分支。
- `src/irgen/IRGenExp.cpp`
- 表达式翻译算术运算、比较、逻辑运算、函数调用等ir指令生成。
- `src/irgen/IRGenDecl.cpp`
- 声明翻译:处理全局变量、局部变量、数组初始化与空间分配等。
#### 3.2.7 `src/ir/`LLVM 风格 IR 核心

Loading…
Cancel
Save