源码高亮。豫
yuyan · 459 行 · 23189 字节 · UTF-8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 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 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459
「:
构建期源码高亮器。
输入源码文字与语言名称,输出已经转义的超文本片段。浏览器只接收静态
HTML 与 CSS,不需要执行脚本。豫言词法规则优先完整处理嵌套注释、
字符串、内建调用、标识与关键字;常见文本语言使用保守的通用词法规则。
:」
寻观「标准库」之「豫言标准内核」之书。
寻观「标准库」之「数据结构」之「整数操作」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「数据结构」之「可选值」之书。
寻观「标准库」之「数据结构」之「特殊字符」之书。
寻观「网页客户端」之「核心」之书。
「扫描片段」即
「字符串」 「:文字:」
合
(「列」于「字符串」) 「:余下字符:」
也。
「豫言注释开头」乃「字符串」也。
「豫言注释开头」者『「』附『:』也。
「豫言注释结尾」乃「字符串」也。
「豫言注释结尾」者『:』附『」』也。
「豫言字符串结尾」乃「字符串」也。
「豫言字符串结尾」者『「:』:」』也。
「字符列起于」乃化(「列」于「字符串」)而化(「列」于「字符串」)而「爻」也。
「字符列起于」者会「标记」而会「字符们」而
鉴「标记」与「字符们」而
有「罄」与「其他」则「阳」
或有(「缀」于「标记头」于「标记尾」)与(「缀」于「字符头」于「字符尾」)则
若「字符串相等吗」于「标记头」于「字符头」则「字符列起于」于「标记尾」于「字符尾」否则「阴」
或有「其他」则「阴」
也。
「文字起于」乃化「字符串」而化(「列」于「字符串」)而「爻」也。
「文字起于」者会「标记」而会「字符们」而
「字符列起于」于(「获取字符」于「标记」)于「字符们」
也。
「去掉前字符」乃化「整数」而化(「列」于「字符串」)而(「列」于「字符串」)也。
「去掉前字符」者会「数量」而会「字符们」而
若「等于」于「数量」于「零」则「字符们」否则
鉴「字符们」而
有「罄」则「罄」
或有(「缀」于「当前」于「余下」)则
「去掉前字符」于(「减」于「数量」于「一」)于「余下」
也。
「完成扫描片段」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
「扫描片段」
也。
「完成扫描片段」者会「倒序文字」而会「余下」而
(「串组合并」于((「反转」授以「字符串」)于「倒序文字」))与「余下」
也。
「扫描至标记」乃
化「字符串」而
化(「列」于「字符串」)而
化(「列」于「字符串」)而
「扫描片段」
也。
「扫描至标记」者会「结束标记」而会「字符们」而会「倒序文字」而
若「文字起于」于「结束标记」于「字符们」
则
「完成扫描片段」
于(「缀」于「结束标记」于「倒序文字」)
于(「去掉前字符」于(「串长度」于「结束标记」)于「字符们」)
否则
鉴「字符们」而
有「罄」则「完成扫描片段」于「倒序文字」于「罄」
或有(「缀」于「当前」于「余下」)则
「扫描至标记」于「结束标记」于「余下」于(「缀」于「当前」于「倒序文字」)
也。
「扫描豫言字符串」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
「扫描片段」
也。
「扫描豫言字符串」者会「字符们」而会「倒序文字」而
若「文字起于」于「豫言注释开头」于「字符们」则
虑「转义结果」者
「扫描至标记」于「豫言注释结尾」于(「去掉前字符」于「二」于「字符们」)
于((「列」【「豫言注释开头」】))
而
「扫描豫言字符串」于(「转义结果」中「一」)于(「缀」于(「转义结果」中「零」)于「倒序文字」)
否则
鉴「字符们」而
有「罄」则「完成扫描片段」于「倒序文字」于「罄」
或有(「缀」于「当前」于「余下」)则
若「字符串相等吗」于「当前」于「豫言字符串结尾」
则
「完成扫描片段」于(「缀」于「当前」于「倒序文字」)于「余下」
否则
「扫描豫言字符串」于「余下」于(「缀」于「当前」于「倒序文字」)
也。
「扫描豫言注释」乃
化「整数」而
化(「列」于「字符串」)而
化(「列」于「字符串」)而
「扫描片段」
也。
「扫描豫言注释」者会「深度」而会「字符们」而会「倒序文字」而
若「文字起于」于「豫言注释开头」于「字符们」
则
「扫描豫言注释」
于(「加」于「深度」于「一」)
于(「去掉前字符」于「二」于「字符们」)
于(「缀」于「豫言注释开头」于「倒序文字」)
否则若「文字起于」于「豫言注释结尾」于「字符们」
则
若「等于」于「深度」于「一」
则
「完成扫描片段」于(「缀」于「豫言注释结尾」于「倒序文字」)
于(「去掉前字符」于「二」于「字符们」)
否则
「扫描豫言注释」
于(「减」于「深度」于「一」)
于(「去掉前字符」于「二」于「字符们」)
于(「缀」于「豫言注释结尾」于「倒序文字」)
否则
鉴「字符们」而
有「罄」则「完成扫描片段」于「倒序文字」于「罄」
或有(「缀」于「当前」于「余下」)则
「扫描豫言注释」于「深度」于「余下」于(「缀」于「当前」于「倒序文字」)
也。
「字符属于」乃化「字符串」而化(「列」于「字符串」)而「爻」也。
「字符属于」者会「字符」而会「候选们」而
鉴「候选们」而
有「罄」则「阴」
或有(「缀」于「当前」于「余下」)则
若「字符串相等吗」于「字符」于「当前」则「阳」否则「字符属于」于「字符」于「余下」
也。
「数字字符」乃化「字符串」而「爻」也。
「数字字符」者会「字符」而
「字符属于」于「字符」于(「获取字符」于『零一二三四五六七八九〇两0123456789』)
也。
「通用词字符」乃化「字符串」而「爻」也。
「通用词字符」者会「字符」而
若「非」于(「等于」于(「字节长度」于「字符」)于「一」)则
「阴」
否则
虑「码」者「字符转整数」于「字符」于「零」而
「或者」
于(「且」于(「非」于(「小于」于「码」于「四八」))于(「非」于(「大于」于「码」于「五七」)))
于(「或者」
于(「且」于(「非」于(「小于」于「码」于「六五」))于(「非」于(「大于」于「码」于「九零」)))
于(「或者」
于(「且」于(「非」于(「小于」于「码」于「九七」))于(「非」于(「大于」于「码」于「一二二」)))
于(「字符串相等吗」于「字符」于『_』)))
也。
「扫描连续字符」乃
化(化「字符串」而「爻」)而
化(「列」于「字符串」)而
化(「列」于「字符串」)而
「扫描片段」
也。
「扫描连续字符」者会「接纳」而会「字符们」而会「倒序文字」而
鉴「字符们」而
有「罄」则「完成扫描片段」于「倒序文字」于「罄」
或有(「缀」于「当前」于「余下」)则
若「接纳」于「当前」则
「扫描连续字符」于「接纳」于「余下」于(「缀」于「当前」于「倒序文字」)
否则
「完成扫描片段」于「倒序文字」于「字符们」
也。
「匹配开头词」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
(「或可有」于「字符串」)
也。
「匹配开头词」者会「候选们」而会「字符们」而
鉴「候选们」而
有「罄」则「可无」
或有(「缀」于「当前」于「余下」)则
若「文字起于」于「当前」于「字符们」则「可有」于「当前」否则「匹配开头词」于「余下」于「字符们」
也。
「文字在列中」乃化「字符串」而化(「列」于「字符串」)而「爻」也。
「文字在列中」者会「文字值」而会「候选们」而
鉴「候选们」而
有「罄」则「阴」
或有(「缀」于「当前」于「余下」)则
若「字符串相等吗」于「文字值」于「当前」则「阳」否则「文字在列中」于「文字值」于「余下」
也。
「以空格分词」乃化「字符串」而(「列」于「字符串」)也。
「以空格分词」者会「文字值」而
「态射」授以(「列」于「字符串」)授以「字符串」
于(「元素分隔」授以「字符串」于(会「字符」而「字符串相等吗」于「字符」于『 』)于(「获取字符」于「文字值」))
于「通字符转串」
也。
「结构词们」乃「列」于「字符串」也。
「结构词们」者
「以空格分词」
于
『的类型可以是 导入并导出 导入并打开 的定义是 的类型是 其实就是 寻观诵 递归虑 寻观 寻诵 观诵 是一种 之书 打开 导入 导出 函数 否则 者 立 乃 即 号』
也。
「类型词们」乃「列」于「字符串」也。
「类型词们」者「以空格分词」于『结合 中的 承 从 到 自 合 之 的 化』也。
「关键词们」乃「列」于「字符串」也。
「关键词们」者
「以空格分词」
于
『执行如下计算 实际上是 遇到了 得到了 使用于 如果是 参数是 授以 给予 随后 如果 那么 或者 分析 递归 连结 其实 会 遇 循 以 受 虑 其 让 为 于 与 附 中 有 则 或 鉴 若 传 而 也』
也。
「通用关键词们」乃「列」于「字符串」也。
「通用关键词们」者
「以空格分词」
于
『function interface package return import export struct async await class const while false true null None True False from match case enum impl type func else let var def lambda for use pub fn if』
也。
「着色」乃化「字符串」而化「字符串」而「字符串」也。
「着色」者会「类别」而会「文字值」而
『<span class="tok-』附「类别」附『">』附(「转义网页文字」于「文字值」)附『</span>』
也。
「加入着色」乃
化「字符串」而
化「字符串」而
化(「列」于「字符串」)而
(「列」于「字符串」)
也。
「加入着色」者会「类别」而会「文字值」而会「倒序片段」而
「缀」于(「着色」于「类别」于「文字值」)于「倒序片段」
也。
「加入原文」乃化「字符串」而化(「列」于「字符串」)而(「列」于「字符串」)也。
「加入原文」者会「文字值」而会「倒序片段」而
「缀」于(「转义网页文字」于「文字值」)于「倒序片段」
也。
「高亮豫言字符」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
「字符串」
也。
「高亮豫言字符」者会「字符们」而会「倒序片段」而
鉴「字符们」而
有「罄」则「串组合并」于((「反转」授以「字符串」)于「倒序片段」)
或有(「缀」于「当前」于「余下」)则
若「文字起于」于「豫言注释开头」于「字符们」则
虑「结果」者
「扫描豫言注释」
于「一」
于(「去掉前字符」于「二」于「字符们」)
于((「列」【「豫言注释开头」】))
而
「高亮豫言字符」于(「结果」中「一」)于(「加入着色」于『comment』于(「结果」中「零」)于「倒序片段」)
否则若「字符串相等吗」于「当前」于『『』则
虑「结果」者「扫描豫言字符串」于「余下」于(「列」【『『』】)而
「高亮豫言字符」于(「结果」中「一」)于(「加入着色」于『string』于(「结果」中「零」)于「倒序片段」)
否则若「文字起于」于『《《』于「字符们」则
虑「结果」者
「扫描至标记」
于『》》』
于(「去掉前字符」于「二」于「字符们」)
于(「列」【『《《』】)
而
「高亮豫言字符」于(「结果」中「一」)于(「加入着色」于『builtin』于(「结果」中「零」)于「倒序片段」)
否则若「字符串相等吗」于「当前」于『《』则
虑「结果」者
「扫描至标记」于『》』于「余下」于(「列」【『《』】)
而
「高亮豫言字符」于(「结果」中「一」)于(「加入着色」于『label』于(「结果」中「零」)于「倒序片段」)
否则若「字符串相等吗」于「当前」于『「』则
虑「结果」者
「扫描至标记」于『」』于「余下」于(「列」【『「』】)
而
「高亮豫言字符」于(「结果」中「一」)于(「加入着色」于『identifier』于(「结果」中「零」)于「倒序片段」)
否则若「数字字符」于「当前」则
虑「结果」者
「扫描连续字符」
于(会「字符」而「或者」
于(「数字字符」于「字符」)
于(「或者」于(「字符串相等吗」于「字符」于『.』)于(「字符串相等吗」于「字符」于『点』)))
于「字符们」于「罄」
而
「高亮豫言字符」于(「结果」中「一」)于(「加入着色」于『number』于(「结果」中「零」)于「倒序片段」)
否则若「等于」于(「字节长度」于「当前」)于「一」则
「高亮豫言字符」于「余下」于(「加入原文」于「当前」于「倒序片段」)
否则
鉴「匹配开头词」于「结构词们」于「字符们」而
有(「可有」于「词」)则
「高亮豫言字符」
于(「去掉前字符」于(「串长度」于「词」)于「字符们」)
于(「加入着色」于『structure』于「词」于「倒序片段」)
或有「可无」则
鉴「匹配开头词」于「类型词们」于「字符们」而
有(「可有」于「词」)则
「高亮豫言字符」
于(「去掉前字符」于(「串长度」于「词」)于「字符们」)
于(「加入着色」于『type』于「词」于「倒序片段」)
或有「可无」则
鉴「匹配开头词」于「关键词们」于「字符们」而
有(「可有」于「词」)则
「高亮豫言字符」
于(「去掉前字符」于(「串长度」于「词」)于「字符们」)
于(「加入着色」于『keyword』于「词」于「倒序片段」)
或有「可无」则
虑「类别」者
若「字符属于」
于「当前」
于(「获取字符」于『():」【】,。;』)则
『punctuation』
否则
『plain』
而
若「字符串相等吗」于「类别」于『plain』
则
「高亮豫言字符」
于「余下」
于(「加入原文」于「当前」于「倒序片段」)
否则
「高亮豫言字符」
于「余下」
于(「加入着色」于「类别」于「当前」于「倒序片段」)
也。
「扫描通用字符串」乃
化「字符串」而
化(「列」于「字符串」)而
化(「列」于「字符串」)而
化「爻」而
「扫描片段」
也。
「扫描通用字符串」者会「结束字符」而会「字符们」而会「倒序文字」而会「已转义」而
鉴「字符们」而
有「罄」则「完成扫描片段」于「倒序文字」于「罄」
或有(「缀」于「当前」于「余下」)则
若「且」于(「非」于「已转义」)于(「字符串相等吗」于「当前」于「结束字符」)
则
「完成扫描片段」于(「缀」于「当前」于「倒序文字」)于「余下」
否则
「扫描通用字符串」
于「结束字符」
于「余下」
于(「缀」于「当前」于「倒序文字」)
于(「且」于(「非」于「已转义」)于(「字符串相等吗」于「当前」于『\』))
也。
「高亮通用字符」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
化「爻」而
「字符串」
也。
「高亮通用字符」者会「字符们」而会「倒序片段」而会「井号注释」而
鉴「字符们」而
有「罄」则「串组合并」于((「反转」授以「字符串」)于「倒序片段」)
或有(「缀」于「当前」于「余下」)则
若「文字起于」于『/*』于「字符们」则
虑「结果」者
「扫描至标记」
于『*/』
于(「去掉前字符」于「二」于「字符们」)
于(「列」【『/*』】)
而
「高亮通用字符」
于(「结果」中「一」)
于(「加入着色」于『comment』于(「结果」中「零」)于「倒序片段」)
于「井号注释」
否则若「文字起于」于『//』于「字符们」则
虑「结果」者
「扫描至标记」
于「新行」
于(「去掉前字符」于「二」于「字符们」)
于(「列」【『//』】)
而
「高亮通用字符」
于(「结果」中「一」)
于(「加入着色」于『comment』于(「结果」中「零」)于「倒序片段」)
于「井号注释」
否则若「且」于「井号注释」于(「字符串相等吗」于「当前」于『#』)则
虑「结果」者
「扫描至标记」于「新行」于「余下」于(「列」【『#』】)
而
「高亮通用字符」
于(「结果」中「一」)
于(「加入着色」于『comment』于(「结果」中「零」)于「倒序片段」)
于「井号注释」
否则若「字符属于」于「当前」于(「获取字符」于『'"`』)则
虑「结果」者
「扫描通用字符串」于「当前」于「余下」于(「列」【「当前」】)于「阴」
而
「高亮通用字符」
于(「结果」中「一」)
于(「加入着色」于『string』于(「结果」中「零」)于「倒序片段」)
于「井号注释」
否则若「且」
于(「等于」于(「字节长度」于「当前」)于「一」)
于(「且」
于(「非」于(「小于」于(「字符转整数」于「当前」于「零」)于「四八」))
于(「非」于(「大于」于(「字符转整数」于「当前」于「零」)于「五七」)))则
虑「结果」者
「扫描连续字符」
于(会「字符」而「或者」于(「数字字符」于「字符」)于(「字符串相等吗」于「字符」于『.』))
于「字符们」于「罄」
而
「高亮通用字符」
于(「结果」中「一」)
于(「加入着色」于『number』于(「结果」中「零」)于「倒序片段」)
于「井号注释」
否则若「通用词字符」于「当前」则
虑「结果」者「扫描连续字符」于「通用词字符」于「字符们」于「罄」而
虑「词」者「结果」中「零」而
虑「类别」者
若「文字在列中」于「词」于「通用关键词们」则
『keyword』
否则
『plain』
而
若「字符串相等吗」于「类别」于『plain』
则
「高亮通用字符」
于(「结果」中「一」)
于(「加入原文」于「词」于「倒序片段」)于「井号注释」
否则
「高亮通用字符」
于(「结果」中「一」)
于(「加入着色」于「类别」于「词」于「倒序片段」)于「井号注释」
否则
「高亮通用字符」于「余下」于(「加入原文」于「当前」于「倒序片段」)于「井号注释」
也。
「高亮源码」乃化「字符串」而化「字符串」而「字符串」也。
「高亮源码」者会「源码」而会「语言」而
若「字符串相等吗」于「语言」于『yuyan』
则
「高亮豫言字符」于(「获取字符」于「源码」)于「罄」
否则
「高亮通用字符」
于(「获取字符」于「源码」)
于「罄」
于(「或者」
于(「字符串相等吗」于「语言」于『python』)
于(「或者」
于(「字符串相等吗」于「语言」于『shell』)
于(「或者」于(「字符串相等吗」于「语言」于『yaml』)于(「字符串相等吗」于「语言」于『toml』))))
也。