feat(ir2mcode): 实现AMD64代码生成器支持控制流和函数调用
- 实现了条件分支、无条件跳转和函数调用的机器码生成 - 添加了跳转目标地址回填机制,处理条件分支和跳转指令的偏移量 - 改进了寄存器分配逻辑,支持函数调用返回值的处理 - 重构了位置解析函数,从返回指针改为传入引用参数 fix(ast2ir): 移除无用的注释代码 - 删除了关于一元操作符映射的注释代码 test: 更新测试框架和测试用例 - 修改测试框架以支持新的可执行文件输出格式 - 添加了条件分支、循环和函数调用的测试用例 - 使用TOML配置文件管理期望的返回值 - 替换标准库头文件为自定义头文件以减少依赖
This commit is contained in:
13
tests/simple/expect.toml
Normal file
13
tests/simple/expect.toml
Normal file
@@ -0,0 +1,13 @@
|
||||
[return_val_cases]
|
||||
"./01_return.c" = 65536
|
||||
"./02_decl_expr.c" = 1
|
||||
"./03_decl_init.c" = 11
|
||||
"./04_if.c" = 1
|
||||
"./05_else.c" = 2
|
||||
"./06_fcall.c" = 3
|
||||
"./07_while.c" = 10
|
||||
"./08_do_while.c" = 128
|
||||
"./09_for.c" = 10
|
||||
"./10_main.c" = 3
|
||||
"./11_recursive.c" = 120
|
||||
[stdout_val_cases]
|
||||
Reference in New Issue
Block a user