新类型运算验证(综合用例全部正确): - REAL 算术 ADD.F32、LREAL 算术 ADD.F64 - TIME+ ADD.I64、TIME 比较 CMP_GT.I64 - DATE/TOD/DT 比较 CMP_GT.U32/U32/U64 - DINT 算术 ADD.I32、UDINT 字面量装载+截断 - WORD 位串 AND(短路 JF+MOVE) - 负例:UINT 溢出拦截 修复的 bug: 1. set_byte0 '011' 分支 0x40→0x60(RRR 指令被误判为 010 区, ADD 等显示错乱)——阶段 2 遗留 2. Codegen func_of_name 大小写不敏感(符号表小写/type 表大写, 否则 REAL 等返回 func 0) 3. Typecheck AND/OR 支持位串(BOOL 逻辑或 bit 按宽度逐位) 已知缺陷(记录):LREAL 字面量装载按 REAL(LOADK.F32), ADD.F64 运算位模式错位——需 compile_expr 携带目标 func(TODO)。
compiler
ST / toml 编译器。CMake 目标:compiler(STATIC),不依赖 isa——指令 opcode / 类型元数据 / FB 布局来自 compiler/machine.toml(见 指令配置.md);自带 .stb 写实现。可执行入口 STCompiler。
- 使用说明(构建 / 用法 / 工程文件 / ST 子集 / 错误类别):
doc/compiler/STCompiler使用说明.md - 边界与管线:
doc/compiler/编译管线.md - 语言规则:
doc/初步计划.md