- 将scc_ir_node_ref_t重命名为scc_ir_value_ref_t,并更新所有相关API - 修改IR定义中的节点标签枚举为值标签枚举(scc_ir_node_tag_t -> scc_ir_value_tag_t) - 更新AST到IR转换器中所有节点引用的类型声明 - 添加对内置类型(VOID, CHAR, INT等)的完整映射实现 - 实现字符串字面量的常量数组创建功能 - 更新项目名称从"Simple Modual C Compiler"为"Simple C Compiler" - 在Doxyfile中排除external目录的文档生成 - 移除未使用的strpool字段并重命名decl到IR的映射表 BREAKING CHANGE: IR节点引用类型已更改,所有使用scc_ir_node_ref_t的地方需 替换为scc_ir_value_ref_t。
18 lines
495 B
C
18 lines
495 B
C
#ifndef __SCC_IR_PROG_H__
|
|
#define __SCC_IR_PROG_H__
|
|
|
|
#include "ir_def.h"
|
|
#include "ir_module.h"
|
|
|
|
typedef struct scc_ir_cprog {
|
|
scc_ir_module_t module;
|
|
scc_ir_node_ref_vec_t global_vals; /* 全局变量 */
|
|
scc_ir_func_ref_vec_t func_defs; /* 所有函数定义 */
|
|
scc_ir_func_ref_vec_t func_decls; /* 所有函数包括定义的声明 */
|
|
} scc_ir_cprog_t;
|
|
|
|
void scc_ir_cprog_init(scc_ir_cprog_t *in);
|
|
void scc_ir_cprog_drop(scc_ir_cprog_t *in);
|
|
|
|
#endif /* __SCC_IR_PROG_H__ */
|