diff options
| author | Li Jin <dragon-fly@qq.com> | 2023-08-17 10:36:15 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2023-08-17 10:36:15 +0800 |
| commit | e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d (patch) | |
| tree | 6e7c5e7e6f13157e9f8db26c38f6d8cba75683e5 /spec/inputs/unicode/syntax.yue | |
| parent | 289faf45ac26f7e0ac1a1e4305e5c42fc1e5b866 (diff) | |
| download | yuescript-e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d.tar.gz yuescript-e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d.tar.bz2 yuescript-e61cce21ef7def2c2e52dd6cb6a5b540ebcac29d.zip | |
add unicode identifier support, fix more issue from #144
Diffstat (limited to 'spec/inputs/unicode/syntax.yue')
| -rw-r--r-- | spec/inputs/unicode/syntax.yue | 448 |
1 files changed, 448 insertions, 0 deletions
diff --git a/spec/inputs/unicode/syntax.yue b/spec/inputs/unicode/syntax.yue new file mode 100644 index 0000000..f382688 --- /dev/null +++ b/spec/inputs/unicode/syntax.yue | |||
| @@ -0,0 +1,448 @@ | |||
| 1 | #!/this/is/ignored | ||
| 2 | |||
| 3 | 变量a = 1 + 2 * 3 / 6 | ||
| 4 | |||
| 5 | 变量a, 一堆, 去, 这里 = 另外, 世界, nil, nil | ||
| 6 | |||
| 7 | 函数 参数1, 参数2, 另外, 参数3 | ||
| 8 | |||
| 9 | 这里, 我们 = () ->, 是的 | ||
| 10 | 这个, 不同 = () -> 方法; 是的 | ||
| 11 | |||
| 12 | 爸爸() | ||
| 13 | 爸爸(主) | ||
| 14 | 你好(一,二)() | ||
| 15 | (5 + 5)(世界) | ||
| 16 | |||
| 17 | 乐趣(变量a)(变量b) | ||
| 18 | |||
| 19 | 乐趣(变量a) 变量b | ||
| 20 | |||
| 21 | 乐趣(变量a) 变量b, 坏 你好 | ||
| 22 | |||
| 23 | 你好 世界 你在这里做什么 | ||
| 24 | |||
| 25 | 什么(这个)[3243] 世界, 哎呀 | ||
| 26 | |||
| 27 | 毛茸茸[手][是](恶心) 好的 好的[世界] | ||
| 28 | |||
| 29 | _ = (得到[某事] + 5)[年] | ||
| 30 | |||
| 31 | 变量i,变量x = 200, 300 | ||
| 32 | |||
| 33 | 是的 = (1 + 5) * 3 | ||
| 34 | 是的 = ((1+5)*3)/2 | ||
| 35 | 是的 = ((1+5)*3)/2 + 变量i % 100 | ||
| 36 | |||
| 37 | 哇 = (1+2) * (3+4) * (4+5) | ||
| 38 | |||
| 39 | _ = -> | ||
| 40 | if 某事 | ||
| 41 | return 1,2,4 | ||
| 42 | |||
| 43 | 打印 "你好" | ||
| 44 | |||
| 45 | _ = -> | ||
| 46 | if 你好 | ||
| 47 | "你好", "世界" | ||
| 48 | else | ||
| 49 | 不, 方法 | ||
| 50 | |||
| 51 | |||
| 52 | _ = -> 1,2,34 | ||
| 53 | |||
| 54 | return 5 + () -> 4 + 2 | ||
| 55 | |||
| 56 | return 5 + (() -> 4) + 2 | ||
| 57 | |||
| 58 | 打印 5 + () -> | ||
| 59 | _ = 34 | ||
| 60 | 好 球 | ||
| 61 | |||
| 62 | 某事 '其他', "是" | ||
| 63 | |||
| 64 | 某事'其他' | ||
| 65 | 某事"其他" | ||
| 66 | |||
| 67 | _ = 某事[[嘿]] * 2 | ||
| 68 | _ = 某事[======[嘿]======] * 2 | ||
| 69 | _ = 某事[ [======[嘿]======] ] * 2 | ||
| 70 | |||
| 71 | _, _ = 某事'其他', 2 | ||
| 72 | _, _ = 某事"其他", 2 | ||
| 73 | _, _ = 某事[[其他]], 2 | ||
| 74 | _, _ = 某事[ [[其他]] ], 2 | ||
| 75 | |||
| 76 | 某事 '其他', 2 | ||
| 77 | 某事 "其他", 2 | ||
| 78 | 某事 [[其他]], 2 | ||
| 79 | |||
| 80 | _ = 这里(我们)"去"[12123] | ||
| 81 | |||
| 82 | 分裂"abc xyz 123"\映射"#"\打印全部! | ||
| 83 | |||
| 84 | _ = f""[变量a] | ||
| 85 | _ = f""\变量b! | ||
| 86 | _ = f"".变量c! | ||
| 87 | |||
| 88 | f ""[变量a] | ||
| 89 | f ""\变量b! | ||
| 90 | f "".变量c! | ||
| 91 | |||
| 92 | 列表{"abc", "xyz", "123"}\映射"#"\打印全部! | ||
| 93 | |||
| 94 | _ = f{}[变量a] | ||
| 95 | _ = f{}\变量b! | ||
| 96 | _ = f{}.变量c! | ||
| 97 | |||
| 98 | 某事 = | ||
| 99 | 测试: 12323 | ||
| 100 | 什么: -> 打印 "你好 世界" | ||
| 101 | |||
| 102 | 打印 某事.测试 | ||
| 103 | |||
| 104 | 天哪 = 你好: "世界" | ||
| 105 | |||
| 106 | 氩 = | ||
| 107 | 数字: 100 | ||
| 108 | 世界: (自己) -> | ||
| 109 | 打印 自己.数字 | ||
| 110 | return { | ||
| 111 | 某事: -> 打印 "嗨 从某事" | ||
| 112 | } | ||
| 113 | 某事: (自己, 字符串) -> | ||
| 114 | 打印 "字符串是", 字符串 | ||
| 115 | return 世界: (变量a,变量b) -> 打印 "总和", 变量a + 变量b | ||
| 116 | |||
| 117 | 某事.什么() | ||
| 118 | 氩\世界().某事() | ||
| 119 | |||
| 120 | 氩\某事"200".世界(1,2) | ||
| 121 | |||
| 122 | 变量x = -434 | ||
| 123 | |||
| 124 | 变量x = -你好 世界 一 二 | ||
| 125 | |||
| 126 | 嗨 = -"herfef" | ||
| 127 | |||
| 128 | 变量x = -[变量x for 变量x in 变量x] | ||
| 129 | |||
| 130 | 打印 "你好" if 酷 | ||
| 131 | 打印 "你好" unless 酷 | ||
| 132 | 打印 "你好" unless 1212 and 3434 | ||
| 133 | 打印 "你好" for i=1,10 | ||
| 134 | |||
| 135 | 打印 "疯子" | ||
| 136 | |||
| 137 | if 你好 then _ = 343 | ||
| 138 | |||
| 139 | 打印 "什么" if 酷 | ||
| 140 | |||
| 141 | 阅读者\解析_行! until 阅读者\结束! | ||
| 142 | |||
| 143 | 阅读者\解析_行! while not 阅读者\结束! | ||
| 144 | |||
| 145 | ((...)-> 参数 = {...})! | ||
| 146 | |||
| 147 | 变量x = (...) -> | ||
| 148 | dump {...} | ||
| 149 | |||
| 150 | 变量x = not true | ||
| 151 | |||
| 152 | 变量y = not(5+5) | ||
| 153 | |||
| 154 | 变量y = #"你好" | ||
| 155 | |||
| 156 | 变量x = #{#{},#{1},#{1,2}} | ||
| 157 | |||
| 158 | _, _ = 你好, 世界 | ||
| 159 | |||
| 160 | 某事\你好(什么) 变量a,变量b | ||
| 161 | 某事\你好 什么 | ||
| 162 | 某事.你好\世界 变量a,变量b | ||
| 163 | 某事.你好\世界(1,2,3) 变量a,变量b | ||
| 164 | |||
| 165 | 变量x = 1232 | ||
| 166 | 变量x += 10 + 3 | ||
| 167 | 变量j -= "你好" | ||
| 168 | 变量y *= 2 | ||
| 169 | 变量y /= 100 | ||
| 170 | 变量y //= 100 | ||
| 171 | 变量m %= 2 | ||
| 172 | 你好 ..= "世界" | ||
| 173 | |||
| 174 | @@某事 += 10 | ||
| 175 | @某事 += 10 | ||
| 176 | |||
| 177 | 变量a["你好"] += 10 | ||
| 178 | 变量a["你好#{tostring ff}"] += 10 | ||
| 179 | 变量a[四].字段x += 10 | ||
| 180 | |||
| 181 | 变量a.变量b += 1 | ||
| 182 | 变量a.变量b[1].变量c[2 + 3] += 1 | ||
| 183 | with 表 | ||
| 184 | .字段a.变量c += 1 | ||
| 185 | |||
| 186 | 表[] = 10 | ||
| 187 | 变量a.变量b.变量c[] = 1 | ||
| 188 | 变量x[] = if 条件v | ||
| 189 | 1 | ||
| 190 | else | ||
| 191 | 2 | ||
| 192 | with 表 | ||
| 193 | .变量b.变量c[] = with 向量 | ||
| 194 | .字段x = 1 | ||
| 195 | .字段y = 2 | ||
| 196 | 对象a | ||
| 197 | .变量b.变量c | ||
| 198 | .变量d\函数! | ||
| 199 | .变量g[] = 1 | ||
| 200 | |||
| 201 | 表 = {} | ||
| 202 | 表[] = 1 | ||
| 203 | 表[] = 2 | ||
| 204 | 表[] = 3 | ||
| 205 | |||
| 206 | 变量x = 0 | ||
| 207 | _ = (if ntype(变量v) == "函数定义" then 变量x + 1) for 变量v in *值 | ||
| 208 | |||
| 209 | 你好 = | ||
| 210 | 某物: 世界 | ||
| 211 | 如果: "你好" | ||
| 212 | 否则: 3434 | ||
| 213 | 函数: "好的" | ||
| 214 | 好的: 230203 | ||
| 215 | |||
| 216 | 表 = { | ||
| 217 | 执行: 变量b | ||
| 218 | 执行 :变量b | ||
| 219 | } | ||
| 220 | |||
| 221 | div 类: "酷" | ||
| 222 | |||
| 223 | _ = 5 + 什么 无聊 | ||
| 224 | 什么 无聊 + 5 | ||
| 225 | |||
| 226 | _ = 5 - 什么 无聊 | ||
| 227 | 什么 无聊 - 5 | ||
| 228 | |||
| 229 | 变量x = 你好 - 世界 - 某物 | ||
| 230 | |||
| 231 | ((某物 = 与 什么 | ||
| 232 | \酷 100) -> | ||
| 233 | 打印 某物)! | ||
| 234 | |||
| 235 | if 某物 | ||
| 236 | _ = 03589 | ||
| 237 | |||
| 238 | -- 好的 什么 关于这个 | ||
| 239 | |||
| 240 | else | ||
| 241 | _ = 3434 | ||
| 242 | |||
| 243 | if 某物 | ||
| 244 | _ = 是的 | ||
| 245 | |||
| 246 | elseif "嗯嗯嗯" | ||
| 247 | |||
| 248 | 打印 "酷" | ||
| 249 | |||
| 250 | else | ||
| 251 | |||
| 252 | _ = 好的 | ||
| 253 | |||
| 254 | -- 测试名字包含关键词 | ||
| 255 | 变量x = 不是某物 | ||
| 256 | 变量y = 如果某物 | ||
| 257 | 变量z = 变量x 与 变量b | ||
| 258 | 变量z = 变量x 与b | ||
| 259 | |||
| 260 | while 10 > 某物( | ||
| 261 | 某物: "世界" | ||
| 262 | ) | ||
| 263 | 打印 "是的" | ||
| 264 | |||
| 265 | -- 无界表 | ||
| 266 | |||
| 267 | 变量x = | ||
| 268 | 好的: 确定 | ||
| 269 | |||
| 270 | 是的 | ||
| 271 | 好的: 男人 | ||
| 272 | 确定: 先生 | ||
| 273 | |||
| 274 | 你好 "无逗号" | ||
| 275 | 是的: 爸爸 | ||
| 276 | 另一个: 世界 | ||
| 277 | |||
| 278 | 你好 "逗号", | ||
| 279 | 某物: 你好_世界 | ||
| 280 | 骂人: 你 | ||
| 281 | |||
| 282 | -- 创建一个表 | ||
| 283 | 另一个 你好, 一个, | ||
| 284 | 二, 三, 四, 是的: 男人 | ||
| 285 | 好的: 是的 | ||
| 286 | 好: 好的 | ||
| 287 | |||
| 288 | 另一个 你好, 一个, | ||
| 289 | 二, 三, 四, | ||
| 290 | 是的: 男人, 好的: 是的 | ||
| 291 | * 好: 好的, | ||
| 292 | 好的: 1 | ||
| 293 | * 好: 好的, | ||
| 294 | 好的: 2 | ||
| 295 | |||
| 296 | 另一个 你好, 一个, 二, 三, 四, | ||
| 297 | 是的: 男人 | ||
| 298 | 好的: 是的 | ||
| 299 | |||
| 300 | 另一个 你好, 一个, 二, 三, 四, 是的: 男人 | ||
| 301 | 好的: 是的 | ||
| 302 | |||
| 303 | 阿贾克斯 地址, | ||
| 304 | (数据) -> | ||
| 305 | 处理 数据, | ||
| 306 | (错误) -> | ||
| 307 | 打印 错误 | ||
| 308 | |||
| 309 | -- | ||
| 310 | 变量a += 3 - 5 | ||
| 311 | 变量a *= 3 + 5 | ||
| 312 | 变量a *= 3 | ||
| 313 | 变量a >>= 3 | ||
| 314 | 变量a <<= 3 | ||
| 315 | 变量a /= 函数 "酷" | ||
| 316 | |||
| 317 | --- | ||
| 318 | |||
| 319 | 变量x.然后 = "你好" | ||
| 320 | 变量x.当.真 = "你好" | ||
| 321 | 变量x | ||
| 322 | .当 | ||
| 323 | .真 = "你好" | ||
| 324 | |||
| 325 | -- | ||
| 326 | |||
| 327 | 变量x or= "你好" | ||
| 328 | 变量x and= "你好" | ||
| 329 | |||
| 330 | -- | ||
| 331 | |||
| 332 | 变量z = 变量a-变量b | ||
| 333 | 变量z = 变量a -变量b | ||
| 334 | 变量z = 变量a - 变量b | ||
| 335 | 变量z = 变量a- 变量b | ||
| 336 | |||
| 337 | -- 酷 | ||
| 338 | |||
| 339 | 字符串 = --[[ | ||
| 340 | 这是一个多行注释。 | ||
| 341 | 没问题。 | ||
| 342 | ]] 字符串A \ -- 注释 1 | ||
| 343 | .. 字符串B \ -- 注释 2 | ||
| 344 | .. 字符串C | ||
| 345 | |||
| 346 | 函数 --[[端口]] 3000, --[[ip]] "192.168.1.1" | ||
| 347 | |||
| 348 | f = -> | ||
| 349 | 变量a,变量b, \ | ||
| 350 | 变量c,变量d, \ | ||
| 351 | 变量e,变量f | ||
| 352 | |||
| 353 | f = -> | ||
| 354 | 变量a,变量b \ | ||
| 355 | ,变量c,变量d \ | ||
| 356 | ,变量e,变量f | ||
| 357 | |||
| 358 | with 对象 | ||
| 359 | 调用( | ||
| 360 | --[[参数1]] \函数!, | ||
| 361 | --[[参数2]] 123, | ||
| 362 | --[[参数3]] "abc" | ||
| 363 | ) | ||
| 364 | |||
| 365 | 调用A( | ||
| 366 | 调用B( | ||
| 367 | 调用C 123 | ||
| 368 | ) | ||
| 369 | ) | ||
| 370 | |||
| 371 | 123 | ||
| 372 | |> 调用C | ||
| 373 | |> 调用B | ||
| 374 | |> 调用A | ||
| 375 | |||
| 376 | 变量v = { | ||
| 377 | 变量a -1 | ||
| 378 | 变量a( | ||
| 379 | -1) | ||
| 380 | 变量a \ | ||
| 381 | - 1 | ||
| 382 | 变量a-1 | ||
| 383 | 变量a - 1 | ||
| 384 | 变量a - | ||
| 385 | 1 | ||
| 386 | 变量a- | ||
| 387 | 1 | ||
| 388 | 变量a - --[[123]]1 | ||
| 389 | |||
| 390 | 变量a ~1 | ||
| 391 | 变量a( | ||
| 392 | ~1) | ||
| 393 | 变量a \ | ||
| 394 | ~ 1 | ||
| 395 | 变量a~1 | ||
| 396 | 变量a ~ 1 | ||
| 397 | 变量a ~ | ||
| 398 | 1 | ||
| 399 | 变量a~ | ||
| 400 | 1 | ||
| 401 | 变量a ~ --[[123]]1 | ||
| 402 | } | ||
| 403 | |||
| 404 | do | ||
| 405 | 变量a = 1 \ | ||
| 406 | + 2 \ | ||
| 407 | * 3 / | ||
| 408 | 4 | ||
| 409 | |||
| 410 | 变量_1 = f1 -1 \ | ||
| 411 | + 2 \ | ||
| 412 | + 3 | ||
| 413 | |||
| 414 | 变量_2 = f1 - 1 \ | ||
| 415 | + 2 \ | ||
| 416 | + 3 | ||
| 417 | |||
| 418 | f2 = (变量x)-> 打印 变量x \ | ||
| 419 | +1 | ||
| 420 | |||
| 421 | 变量a = f2! | ||
| 422 | -1 |> f2 | ||
| 423 | |||
| 424 | 变量a = f2! \ | ||
| 425 | - 1 |> f2 | ||
| 426 | |||
| 427 | 变量_1 \ | ||
| 428 | ,变量_2 \ | ||
| 429 | ,变量_3 \ | ||
| 430 | ,变量_4 = 1 \ | ||
| 431 | ,f 2 \ | ||
| 432 | ,3 \ | ||
| 433 | ,f 4, \ | ||
| 434 | 4 | ||
| 435 | |||
| 436 | do | ||
| 437 | f = ( | ||
| 438 | 变量a -- 参数a | ||
| 439 | 变量b -- 参数b | ||
| 440 | )-> 变量a + 变量b | ||
| 441 | f( | ||
| 442 | 变量a -- 值a | ||
| 443 | 变量b -- 值b | ||
| 444 | ) | ||
| 445 | f ! | ||
| 446 | |||
| 447 | nil | ||
| 448 | |||
