更新内容
新增功能
- 词法分析器全面状态机化:各类 TokenScanner(字符串、操作符、换行、标识符、注释、数字)重构为基于有限状态机(FSM)实现,提升准确性与可维护性。
- 支持行内注释解析:新增行内注释的解析能力。
- LexerEngine 增加整体校验机制,增强代码静态检查。
性能和稳定性改进
- 数字字面量扫描重构与优化,提升错误处理与边界判定能力。
- CleanTask 逻辑优化,修复 build 目录被误删导致字节码无法写入等问题,行为更符合直觉。
- 修复数字后空格跟非法后缀等导致的编译死循环问题。
- 词法错误遇到即时报错,提升调试体验。
开发者体验提升
- IDEA 配置优化,.water 文件与输出目录调整,避免根目录污染。
- 代码风格统一,优化缩进、变量命名,移除冗余局部变量,提升可读性。
- 测试配置完善,新增与优化多个测试用例及配置文件。
Bug修复
- 修复数字字面量与类型后缀、位宽符号之间空白符判定问题。
- 修复 NumberTokenScanner 误判及死循环问题。
- 修复 clean & compile & run 时产物目录被误删导致无法输出字节码问题。
- 修复语法分析、词法分析若干边界条件的错误。
文档改进
- 优化方法文档主描述,提升参数显示效果。
- 完善 LexerEngine、VMOpCode 等核心类的注释说明。
如遇到使用问题,欢迎及时 提交 Issue