- Parser:parse_primary 补 FLOAT_LIT/DATE_LIT/TOD_LIT/DT_LIT (表达式路径,此前仅初值路径支持) - Typecheck:literal_range_ok 支持 Neg(LitInt/LitReal) 折叠负号 (UINT := -1 → 'negative literal for unsigned type') - Codegen:Neg → NEG 指令(RR 4B,func 按操作数类型) 验证通过: - 19 类型声明 + 字面量:DINT/REAL(1.5)/LREAL(2.5e3)/BYTE(16#FF)/UINT(8#17)/ WORD(2#1010)/DATE(D#2026-8-24)/TOD(TOD#12:30:00)/DT(DT#...)/BOOL/TIME(T#1s250ms) - 负例:UINT:= -1 越域、INT:= DINT 禁隐式、BOOL:= 2 越界、 DINT:= 16#FFFFFFFF 溢出、D#2026-13-40 日期非法 - ctest 12/14(vm/cases 待阶段 4)
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