From a2f9d0d9b4a73a77a1bb2d0a7bc4fd9bf2d48b21 Mon Sep 17 00:00:00 2001 From: "peng.li24" <734991033@qq.com> Date: Mon, 7 Sep 2026 15:45:58 +0800 Subject: [PATCH] =?UTF-8?q?tutorial:=20=E4=B8=AD=E6=96=87=EF=BC=88Unicode?= =?UTF-8?q?=EF=BC=89=E4=BD=9C=E6=A0=87=E8=AF=86=E7=AC=A6=E2=80=94=E2=80=94?= =?UTF-8?q?=E5=A4=9A=E7=BA=A7=20lib=20/=20struct=20/=20=E5=87=BD=E6=95=B0?= =?UTF-8?q?=20/=20=E5=AD=97=E6=AE=B5=20/=20=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 词法器以最长非分隔符字节串切标识符,中文可用于任意标识符位置;配合 多级包(数学/几何)与嵌套 lib(外层·内层)与 struct 字面量。 --- tutorial/01-basics/chinese_ident.kv | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tutorial/01-basics/chinese_ident.kv diff --git a/tutorial/01-basics/chinese_ident.kv b/tutorial/01-basics/chinese_ident.kv new file mode 100644 index 00000000..381fa859 --- /dev/null +++ b/tutorial/01-basics/chinese_ident.kv @@ -0,0 +1,38 @@ +// chinese_ident: 中文(Unicode)作标识符 —— 多级/嵌套 lib 名 / struct 名 / 函数名 / 字段名 / 变量名 +// 语义: 词法器以「最长非分隔符字节串」切分标识符,凡非分隔符的 Unicode 字符(含中文) +// 均可用于任意标识符位置:包名、结构体名、函数名、参数名、字段名、局部变量。 +// 路径分隔符 /、成员分隔符 ·、运算符仍是分隔符,故中文标识符与它们照常组合, +// 多级包名(数学/几何)与嵌套 lib(外层·内层)也一样支持中文。 +// 期望输出: +// 相加 = 7 +// 相加 = 30 +// 嵌套问候 +// 点 = 3.0 4.0 +lib 数学/几何 { + rwfunc 相加(甲:int64, 乙:int64) -> (和:int64) { + 甲 + 乙 -> 和 + } +} + +lib 外层 { + lib 内层 { + rwfunc 问候() -> () { println("嵌套问候") } + } +} + +struct 点 { + 横:float64=0.0 + 纵:float64=0.0 +} + +rwfunc test() -> () { + 数学/几何·相加(3, 4) -> 结果 + println("相加 =", 结果) + /lib/数学/几何·相加(10, 20) -> 结果2 + println("相加 =", 结果2) + /lib/外层/内层·问候() + 原点 = 点{横=3.0 纵=4.0} + 原点·横 -> x + 原点·纵 -> y + println("点 =", x, y) +}