豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 291 行 · 17945 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「癸象工具」之「总集」之书。
寻观「编译器核心」之「编译数据」之「操作符」之「操作符数据结构」之书。

「:
语义标记由语法分析器在实际规约操作符时产生,不再由网页端猜测关键词。
解析器先产出保持源码顺序的标记草稿;本文件再以单调游标把草稿对齐到原始源码,
同时补入词法阶段略去的注释与顶层句号。所有偏移、行列均从零开始,区间为左闭右开。
JSON 是编译器与着色器之间的稳定边界,网页端只消费标记范围和种类。
:」

「语义标记」立「元类型」也。
  「构造语义标记」立化「语义标记种类」而化「整数」而化「整数」而
    化「整数」而化「整数」而化「整数」而化「整数」而「语义标记」也。

「语义源码状态」即(「列」于「字符串」)合「整数」合「整数」合「整数」也。

「语义状态剩余」乃化「语义源码状态」而(「列」于「字符串」)也。
「语义状态剩余」者会「状态」而「状态」中「零」也。
「语义状态偏移」乃化「语义源码状态」而「整数」也。
「语义状态偏移」者会「状态」而「状态」中「一」也。
「语义状态行」乃化「语义源码状态」而「整数」也。
「语义状态行」者会「状态」而「状态」中「二」也。
「语义状态列」乃化「语义源码状态」而「整数」也。
「语义状态列」者会「状态」而「状态」中「三」也。

「语义状态以串开头」乃化「语义源码状态」而化「字符串」而「爻」也。
「语义状态以串开头」者会「状态」而会「串」而
  (「以起否」授以「字符串」)于「串相等」于(「获取字符」于「串」)
    于(「语义状态剩余」于「状态」)也。

「语义状态前进一字」乃化「语义源码状态」而「语义源码状态」也。
「语义状态前进一字」者会「状态」而
  鉴(「语义状态剩余」于「状态」)而
    有「罄」则「状态」
    或有(「缀」于「字」于「尾」)则
      若「串相等」于「字」于『「:换行:」』
      则
        「尾」与(「加」于(「语义状态偏移」于「状态」)于「一」)与
      (「加」于(「语义状态行」于「状态」)于「一」)与「零」
      否则
        「尾」与(「加」于(「语义状态偏移」于「状态」)于「一」)与
        (「语义状态行」于「状态」)与(「加」于(「语义状态列」于「状态」)于「一」)
也。

「语义状态前进」乃化「语义源码状态」而化「整数」而「语义源码状态」也。
「语义状态前进」者会「状态」而会「个数」而
  若「等」于「个数」于「零」则「状态」
  否则
    「语义状态前进」于(「语义状态前进一字」于「状态」)于(「减」于「个数」于「一」)也。

「语义状态是注释开头」乃化「语义源码状态」而「爻」也。
「语义状态是注释开头」者会「状态」而
  鉴(「语义状态剩余」于「状态」)而
    有(「缀」于『「』于(「缀」于『:』于「忽略尾」))则「阳」
    或有「其他」则「阴」也。

「语义状态是注释结尾」乃化「语义源码状态」而「爻」也。
「语义状态是注释结尾」者会「状态」而
  鉴(「语义状态剩余」于「状态」)而
    有(「缀」于『:』于(「缀」于『」』于「忽略尾」))则「阳」
    或有「其他」则「阴」也。

「语义跳过注释」乃化「语义源码状态」而化「整数」而「语义源码状态」也。
「语义跳过注释」者会「状态」而会「深度」而
  鉴(「语义状态剩余」于「状态」)而
    有「罄」则「发生事故」于『未关闭的源码注释』
    或有「其他」则
      若「语义状态是注释开头」于「状态」
      则
        「语义跳过注释」于(「语义状态前进」于「状态」于「二」)
        于(「加」于「深度」于「一」)
      否则若「语义状态是注释结尾」于「状态」
      则
        (若「等」于「深度」于「一」
        则
          「语义状态前进」于「状态」于「二」
        否则
          「语义跳过注释」于(「语义状态前进」于「状态」于「二」)
            于(「减」于「深度」于「一」))
      否则
        「语义跳过注释」于(「语义状态前进一字」于「状态」)于「深度」
也。

「语义跳过字符串转义」乃化「语义源码状态」而「语义源码状态」也。
「语义跳过字符串转义」者会「状态」而
  鉴(「语义状态剩余」于「状态」)而
    有「罄」则「发生事故」于『未关闭的字符串转义序列』
    或有「其他」则
      若「语义状态是注释结尾」于「状态」
      则
        「语义状态前进」于「状态」于「二」
      否则
        「语义跳过字符串转义」于(「语义状态前进一字」于「状态」)
也。

「语义跳过字符串」乃化「语义源码状态」而「语义源码状态」也。
「语义跳过字符串」者会「状态」而
  鉴(「语义状态剩余」于「状态」)而
    有「罄」则「发生事故」于『未关闭的字符串』
    或有「其他」则
      若「语义状态以串开头」于「状态」于『「:』:」』
      则
        「语义状态前进一字」于「状态」
      否则若「语义状态是注释开头」于「状态」
      则
        「语义跳过字符串」于(「语义跳过字符串转义」于(「语义状态前进」于「状态」于「二」))
      否则
        「语义跳过字符串」于(「语义状态前进一字」于「状态」)
也。

「语义跳过标识符」乃化「语义源码状态」而「语义源码状态」也。
「语义跳过标识符」者会「状态」而
  鉴(「语义状态剩余」于「状态」)而
    有「罄」则「发生事故」于『未关闭的标识符』
    或有(「缀」于「字」于「忽略尾」)则
      若「串相等」于「字」于『」』
      则
        「语义状态前进一字」于「状态」
      否则
        「语义跳过标识符」于(「语义状态前进一字」于「状态」)
也。

「以状态范围构造语义标记」乃化「语义标记种类」而化「语义源码状态」而化「语义源码状态」而「语义标记」也。
「以状态范围构造语义标记」者会「种类」而会「开始」而会「结束」而
  「构造语义标记」于「种类」于(「语义状态偏移」于「开始」)于(「语义状态偏移」于「结束」)
    于(「语义状态行」于「开始」)于(「语义状态列」于「开始」)
    于(「语义状态行」于「结束」)于(「语义状态列」于「结束」)也。

「语义空白」乃化「字符串」而「爻」也。
「语义空白」者会「字」而
  「或者」于(「串相等」于「字」于『 』)于(「或者」于(「串相等」于「字」于『「:制表:」』)
    于(「串相等」于「字」于『「:换行:」』))也。

「语义标记未对齐信息」乃化「语义源码状态」而化「字符串」而「字符串」也。
「语义标记未对齐信息」者会「状态」而会「文字」而
  『语义标记未对齐源码:』附「文字」附『,位置 』附(「整数表示」于(「语义状态行」于「状态」))附『:』附(「整数表示」
    于(「语义状态列」于「状态」))
也。

「定位语义标记」乃化「字符串」而化(「列」于「语义标记草稿」)而「列」于「语义标记」也。
「定位语义标记」者会「源码」而会「草稿们」而
  递归虑「定位」其化「语义源码状态」而化(「列」于「语义标记草稿」)而化(「列」于「语义标记」)而「列」于「语义标记」
    者
      会「状态」而会「余稿」而会「反标记」而
        鉴(「语义状态剩余」于「状态」)而
          有「罄」则
            若「等」于(「长度」于「余稿」)于「零」则「反转」于「反标记」
            否则
              「发生事故」于『源码结束时仍有未定位的语义标记』
          或有(「缀」于「当前字」于「忽略尾」)则
            若「语义状态是注释开头」于「状态」
            则
              (虑「结束」者「语义跳过注释」于(「语义状态前进」于「状态」于「二」)于「一」而
                「定位」于「结束」于「余稿」于(「缀」于(「以状态范围构造语义标记」于「注释标记」于「状态」于「结束」)于
                「反标记」))
            否则若「串相等」于「当前字」于『。』
            则
              (虑「结束」者「语义状态前进一字」于「状态」而
                「定位」于「结束」于「余稿」于(「缀」于(「以状态范围构造语义标记」于「结构终止符标记」于「状态」于
                「结束」)于
                「反标记」))
            否则若「语义空白」于「当前字」则「定位」于(「语义状态前进一字」于「状态」)于「余稿」于「反标记」
            否则
              鉴「余稿」而
                有「罄」则「定位」于(「语义状态前进一字」于「状态」)于「罄」于「反标记」
                或有(「缀」于(「构造语义标记草稿」于「种类」于「文字」)于「稿尾」)
                则(虑「结束」者
                      鉴「种类」而
                        有「字符串标记」则若「串相等」于「当前字」于『『』则
                          「语义跳过字符串」于(「语义状态前进一字」于「状态」)
                        否则
                          「发生事故」于(「语义标记未对齐信息」于「状态」于『字符串』)
                        或有「引用标识符标记」则若「串相等」于「当前字」于『「』则
                          「语义跳过标识符」于(「语义状态前进一字」于「状态」)
                        否则
                          「发生事故」于(「语义标记未对齐信息」于「状态」于「文字」)
                        或有「绑定标识符标记」则若「串相等」于「当前字」于『「』则
                          「语义跳过标识符」于(「语义状态前进一字」于「状态」)
                        否则
                          「发生事故」于(「语义标记未对齐信息」于「状态」于「文字」)
                        或有「其他种类」则若「语义状态以串开头」于「状态」于「文字」
                        则
                          「语义状态前进」于「状态」于(「串长度」于「文字」)
                        否则
                          虑「引号文字」者『「』附「文字」附『」』而若
                  「语义状态以串开头」于「状态」于「引号文字」则
                    「语义状态前进」于「状态」于(「串长度」于「引号文字」)
                          否则
                            「发生事故」于(「语义标记未对齐信息」于「状态」于「文字」)
                    而
                    「定位」于「结束」于「稿尾」于(「缀」于(「以状态范围构造语义标记」于「种类」于「状态」于「结束」)于
                    「反标记」))
      而
      「定位」于((「获取字符」于「源码」)与「零」与「零」与「零」)于「草稿们」于「罄」
也。

「语义标记种类文字」乃化「语义标记种类」而「字符串」也。
「语义标记种类文字」者会「种类」而
  鉴「种类」而
    有「结构操作符标记」则『结构操作符』
    或有「类型操作符标记」则『类型操作符』
    或有「控制操作符标记」则『控制操作符』
    或有「普通操作符标记」则『普通操作符』
    或有「内建类型标记」则『内建类型』
    或有「内建函数标记」则『内建函数』
    或有「内建常量标记」则『内建常量』
    或有「绑定标识符标记」则『绑定标识符』
    或有「引用标识符标记」则『引用标识符』
    或有「数值标记」则『数值』
    或有「字符串标记」则『字符串』
    或有「注释标记」则『注释』
    或有「结构终止符标记」则『结构终止符』
也。

「文字转语义标记种类」乃化「字符串」而「语义标记种类」也。
「文字转语义标记种类」者会「文字」而
  鉴「文字」而
    有『结构操作符』则「结构操作符标记」
    或有『类型操作符』则「类型操作符标记」
    或有『控制操作符』则「控制操作符标记」
    或有『普通操作符』则「普通操作符标记」
    或有『内建类型』则「内建类型标记」
    或有『内建函数』则「内建函数标记」
    或有『内建常量』则「内建常量标记」
    或有『绑定标识符』则「绑定标识符标记」
    或有『引用标识符』则「引用标识符标记」
    或有『数值』则「数值标记」
    或有『字符串』则「字符串标记」
    或有『注释』则「注释标记」
    或有『结构终止符』则「结构终止符标记」
    或有「其他」则「发生事故」于『不识别的语义标记种类:』附「文字」
也。

「语义标记转癸象」乃化「语义标记」而「癸象」也。
「语义标记转癸象」者会「标记」而
  鉴「标记」而有(「构造语义标记」于「种类」于「开始」于「结束」于「开始行」于「开始列」于「结束行」于「结束列」)则
    「癸象对象」于(「列」【
      『种类』与(「癸象字符串」于(「语义标记种类文字」于「种类」)),
      『开始』与(「癸象整数」于「开始」),
      『结束』与(「癸象整数」于「结束」),
      『开始行』与(「癸象整数」于「开始行」),
      『开始列』与(「癸象整数」于「开始列」),
      『结束行』与(「癸象整数」于「结束行」),
      『结束列』与(「癸象整数」于「结束列」)
    】)
也。

「语义标记自癸象」乃化「癸象」而「语义标记」也。
「语义标记自癸象」者会「象」而
  鉴「象」而
    有(「癸象对象」于(「列」【
      『种类』与(「癸象字符串」于「种类」),
      『开始』与(「癸象整数」于「开始」),
      『结束』与(「癸象整数」于「结束」),
      『开始行』与(「癸象整数」于「开始行」),
      『开始列』与(「癸象整数」于「开始列」),
      『结束行』与(「癸象整数」于「结束行」),
      『结束列』与(「癸象整数」于「结束列」)
    】))则
      「构造语义标记」于(「文字转语义标记种类」于「种类」)于「开始」于「结束」于
      「开始行」于「开始列」于「结束行」于「结束列」
    或有「其他」则「发生事故」于『语义标记 JSON 结构不正确:』附(「癸象表示」于「象」)
也。

「语义标记信息转JSON」乃化「字符串」而化(「列」于「语义标记」)而「字符串」也。
「语义标记信息转JSON」者会「源文件」而会「标记们」而
  虑「标记癸象」者(「态射」授以「语义标记」授以「癸象」)于「标记们」于「语义标记转癸象」而
  「癸象表示」于(「癸象对象」于(「列」【
    『版本』与(「癸象整数」于「一」),
    『源文件』与(「癸象字符串」于「源文件」),
    『标记』与(「癸象数组」于「标记癸象」)
  】))
也。

「语义标记信息自JSON」乃化「字符串」而(「字符串」合(「列」于「语义标记」))也。
「语义标记信息自JSON」者会「文字」而
  鉴(「癸象解析」于「文字」)而
    有(「癸象对象」于(「列」【
      『版本』与(「癸象整数」于「一」),
      『源文件』与(「癸象字符串」于「源文件」),
      『标记』与(「癸象数组」于「标记癸象」)
    】))则
      「源文件」与((「态射」授以「癸象」授以「语义标记」)于「标记癸象」于「语义标记自癸象」)
    或有「其他」则「发生事故」于『语义标记信息 JSON 结构不正确』
也。

「写语义标记信息」乃化「字符串」而化「字符串」而化(「列」于「语义标记」)而「有」也。
「写语义标记信息」者会「输出路径」而会「源文件」而会「标记们」而
  「文件系统」之「写文件」于「输出路径」于(「语义标记信息转JSON」于「源文件」于「标记们」)也。