ZZY 05c637e594 refactor: 重构前端代码并添加日志功能
- 重命名和重构了多个文件,包括 lexer、parser 和 AST 相关代码
- 添加了日志功能,使用 LOG_* 宏替代原有的 error 和 warn 函数
- 优化了错误处理和内存分配方式
- 调整了代码结构,提高了模块化和可读性
2025-03-19 12:22:55 +08:00
..
2025-03-05 15:45:19 +08:00
2025-03-07 12:29:53 +08:00

  • 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