ZZY 2b4857001c feat(frontend): 重构词法分析器
- 添加 .gitignore 文件,忽略编译器生成的二进制文件
- 重构 lexer.c 文件,改进了关键字处理和字符串处理
- 更新前端的前端、解析器和 AST 相关文件,以适应新的词法分析器
- 优化了 token 相关的定义和函数,引入了新的 token 类型
2025-03-23 12:13:16 +08:00
..
2025-03-23 12:13:16 +08:00
2025-03-23 12:13:16 +08:00
2025-03-23 12:13:16 +08:00
2025-03-23 12:13:16 +08:00
2025-03-05 15:45:19 +08:00
2025-03-23 12:13:16 +08:00
2025-03-23 12:13:16 +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