From 65ccd6c2b776f0343139b6733edbe28256be0d4d Mon Sep 17 00:00:00 2001 From: chentianya Date: Tue, 25 Aug 2026 20:29:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B6=E6=AE=B53=E6=96=87=E6=A1=A3=EF=BC=9AL?= =?UTF-8?q?2=20=E5=AE=9A=E6=A1=88=EF=BC=88=E7=A6=81=E6=AD=A2=E4=BB=BB?= =?UTF-8?q?=E4=BD=95=E9=9A=90=E5=BC=8F=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=EF=BC=8C=E5=AD=97=E9=9D=A2=E9=87=8F=E7=B1=BB=E5=9E=8B=E5=8C=96?= =?UTF-8?q?=EF=BC=89+=20=E6=96=B0=E5=A2=9E=20L9=EF=BC=88=E5=AD=97=E9=9D=A2?= =?UTF-8?q?=E9=87=8F=E7=B1=BB=E5=9E=8B=E5=8C=96=E8=AF=AD=E6=B3=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/compiler/阶段3-语言层V2.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/compiler/阶段3-语言层V2.md b/Doc/compiler/阶段3-语言层V2.md index 0a0d6c1..56ab3c9 100644 --- a/Doc/compiler/阶段3-语言层V2.md +++ b/Doc/compiler/阶段3-语言层V2.md @@ -19,7 +19,8 @@ | # | 问题 | 草案/结论 | 状态 | |---|---|---|---| | L1 | 内建 FB 类型名校验来源 | 查 machine.toml `[[fb]]` 表(15 条,替换 V1 硬编码 8 Tok);**用户 FB 类型来自用户源码**(FUNCTION_BLOCK 声明,不查 toml) | ✅ 已澄清 | -| L2 | 禁隐式转换范围 | 赋值/算术/比较类型严格一致 → type error;字面量例外(无类型字面量按上下文适配) | ⏳ | +| ~~L2~~ | ~~禁隐式转换范围~~ | **已定案(用户)**:**禁止任何隐式类型转换**——赋值/算术/比较类型严格一致 → type error;**字面量也禁止上下文适配**,字面量自带类型前缀/后缀(见 L9) | ✅ | +| L9 | 字面量类型化语法 | **新增(用户提出)**:字面量带类型前缀/后缀(IEC 风格 `类型名#值`?)——裸字面量处理、前缀/后缀形式待定 | ⏳ | | L3 | 字面量适配规则 | 整数字面量 → 任意目标(值域内);浮点字面量 → REAL/LREAL;进制字面量 + 值域检查 | ⏳ | | L4 | 浮点字面量 AST | 新增 ExprKind::LitReal(double 值) | ⏳ | | L5 | codegen_test 断言范围 | Codec disasm 文本 / 槽表值段布局 / 常量表 8B / max_stack / 头字段 | ⏳ |