- 实现了条件分支、无条件跳转和函数调用的机器码生成 - 添加了跳转目标地址回填机制,处理条件分支和跳转指令的偏移量 - 改进了寄存器分配逻辑,支持函数调用返回值的处理 - 重构了位置解析函数,从返回指针改为传入引用参数 fix(ast2ir): 移除无用的注释代码 - 删除了关于一元操作符映射的注释代码 test: 更新测试框架和测试用例 - 修改测试框架以支持新的可执行文件输出格式 - 添加了条件分支、循环和函数调用的测试用例 - 使用TOML配置文件管理期望的返回值 - 替换标准库头文件为自定义头文件以减少依赖
14 lines
267 B
TOML
14 lines
267 B
TOML
[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]
|