From f44fc18c52013dcb65f755f0e657bacb1d460a15 Mon Sep 17 00:00:00 2001 From: zhangxun <1958638841@qq.com> Date: Fri, 18 Jul 2025 02:36:32 +0000 Subject: [PATCH 1/5] =?UTF-8?q?docs:=20Snow-Lang=20=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E8=8C=83=E4=B8=8D=E8=83=BD=E8=B7=B3=E8=BD=AC=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd31809..da8a7f2 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的 ## 相关文档 [Snow-Lang 指南](docs/Snow-Lang-Syntax/Snow-Lang-Syntax.md) -[Snow-Lang 语法规范](docs/Snow-Lang-Syntax/Snow-Lang-Grammar-Specification) +[Snow-Lang 语法规范](docs/Snow-Lang-Syntax/Snow-Lang-Grammar-Specification.md) [Git 管理规范](docs/Snow-Lang-Git-Management/Snow-Lang-Git-Management.md) From e2d4f97d75858d8fc09ce32042285b4079fe954c Mon Sep 17 00:00:00 2001 From: zhangxun <1958638841@qq.com> Date: Fri, 18 Jul 2025 10:43:55 +0800 Subject: [PATCH 2/5] =?UTF-8?q?docs:=20=E7=A7=BB=E9=99=A4=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=95=B4=E6=95=B0=E5=92=8C=E6=B5=AE=E7=82=B9=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E5=90=8E=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/Snow-Lang-Syntax/Snow-Lang-Grammar-Specification.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/Snow-Lang-Syntax/Snow-Lang-Grammar-Specification.md b/docs/Snow-Lang-Syntax/Snow-Lang-Grammar-Specification.md index d8a816a..64d2af4 100644 --- a/docs/Snow-Lang-Syntax/Snow-Lang-Grammar-Specification.md +++ b/docs/Snow-Lang-Syntax/Snow-Lang-Grammar-Specification.md @@ -321,10 +321,8 @@ Snow-Lang 支持下列**数值类型**,用于声明变量、参数、结构体 |----|--------|----------| | b | byte | 7b, -2B | | s | short | 123s | -| i | int | 100i | | l | long | 5l, 123L | | f | float | 3.14f | -| d | double | 1.0d | - 没有后缀的整数字面量自动为 `int`。 - 没有后缀的浮点字面量自动为 `double`。 From 901d2f842ae08acef547ba6536ace61e54ea1d11 Mon Sep 17 00:00:00 2001 From: zhangxun <1958638841@qq.com> Date: Fri, 18 Jul 2025 11:03:21 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20=E6=95=B0=E5=80=BC=E5=AD=97=E9=9D=A2?= =?UTF-8?q?=E9=87=8F=E5=90=8E=E7=B4=A7=E6=8C=A8=E7=9D=80=E6=A0=87=E8=AF=86?= =?UTF-8?q?=E7=AC=A6=E6=97=B6=EF=BC=8C=E6=8A=A5=E9=94=99=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E5=AE=8C=E6=95=B4=E6=A0=87=E8=AF=86=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java b/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java index c655595..b1adea1 100644 --- a/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java +++ b/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java @@ -177,8 +177,10 @@ public class NumberTokenScanner extends AbstractTokenScanner { /* 2-B. **非法字母**(既不是后缀,也没有空白隔开) */ } else if (Character.isLetter(next)) { + var its = new IdentifierTokenScanner(); + var token = its.scanToken(ctx, line, col); throw new LexicalException( - "数字后不能紧跟未知标识符 '" + next + "'", line, col); + "数字后不能紧跟未知标识符 '" + token.getLexeme() + "'", line, col); /* 2-C. **非法下划线** */ } else if (next == '_') { throw new LexicalException( From 3dd06261e2cd554afb5a38c8190e9a50e55bcaf3 Mon Sep 17 00:00:00 2001 From: zhangxun <1958638841@qq.com> Date: Fri, 18 Jul 2025 11:15:35 +0800 Subject: [PATCH 4/5] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E5=AF=B9?= =?UTF-8?q?=E6=B5=AE=E7=82=B9=E6=95=B0=E5=AD=97=E9=9D=A2=E9=87=8F=E5=90=8E?= =?UTF-8?q?=E7=BC=80=20D=20=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java b/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java index b1adea1..7cd0894 100644 --- a/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java +++ b/src/main/java/org/jcnc/snow/compiler/lexer/scanners/NumberTokenScanner.java @@ -42,7 +42,7 @@ import org.jcnc.snow.compiler.lexer.token.TokenType; *
- * 支持的单字符类型后缀包括: b, s, l, f, d 及其大写形式。若需支持多字符后缀,可将该集合扩展为 Set