- ast.c 作为抽象语法树的定义 - block.c 作为块的实现主要用于处理作用域,需要符号表 - decl.c 作为声明的实现,其中主要携带变量声明,函数声明见 func.c ,需要符号表 - func.c 作为函数的实现,其中主要携带函数声明,以及函数定义,需要符号表 - expr.c 作为表达式的实现。需要符号表 - stmt.c 作为语句的实现。需要表达式类型判断合法性 - term.c 作为终结符的实现。需要表达式类型判断合法性 - program.c 作为词法分析(语义分析)入口函数,可以根据parser结构生成AST 其中stmt参考cppreference 其中expr参考AI以及CParser