豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 239 行 · 12622 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「构建基础」之「包定位」之书。
寻观「包配置」之「配置数据」之书。
寻观「包配置」之「配置解析」之书。
寻观「包配置」之「包依赖」之书。
寻观「编译器核心」之「编译数据」之「语言服务信息」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「词法解析」之书。

「:文言:建目录,并建其所缺之祖。汉语:建立目录(连同缺少的上级目录),用 mkdir -p。:」
「建立目录」乃化「字符串」而「有」也。
「建立目录」者会「目录」而
  虑「果」者
    「操作系统」之「子进程」之「获取输出」于『mkdir』于(「列」【『-p』,「目录」】)而
  若「果」中「零」则
    「元」
  否则
    「发生事故」授以「有」于(『无法建立目录:』附「目录」)
也。

「:文言:字依原文,列依双字节码元。汉语:使用原始文本计算 UTF-16 列号,转义串的长度不按解码值计算。:」
「包源码前进」乃化「源码搜索状态」而化「整数」而「源码搜索状态」也。
「包源码前进」者会「状态」而会「个数」而
  若「等于」于「个数」于「零」则「状态」否则鉴「状态」中「零」而
    有「罄」则「状态」
    或有(「缀」于「字」于「余」)则
      虑「后」者
        若「串相等」于「字」于『「:换行:」』则「余」与(「加」于(「状态」中「一」)于「一」)与「零」
        否则
          「余」与(「状态」中「一」)
  与(「加」
    于(「状态」中「二」)
    于(若「大于」于(「字节串长度」于(「字符串转字节串」于「字」))于「三」则「二」否则「一」))
      而
      「包源码前进」于「后」于(「减」于「个数」于「一」)
也。

「:文言:词法定串注之界,勿以同文妄指。汉语:复用词法扫描器跳过嵌套注释和标识符,按源码顺序保留所有字符串范围。:」
「包字符串范围」乃化「字符串」而化「源码搜索状态」而(「列」于「源码范围」)也。
「包字符串范围」者会「文件」而会「状态」而
  鉴「状态」中「零」而
    有「罄」则「罄」
    或有(「缀」于「字」于「余」)则
      若「源码状态是注释开头」于「状态」则
        虑「后注」者
          「扫描词法注释」于((「包源码前进」于「状态」于「二」)中「零」)
        而
        「包字符串范围」
          于「文件」
          于(「包源码前进」
            于「状态」
            于(「减」
              于(「长度」授以「字符串」于(「状态」中「零」))
              于(「长度」授以「字符串」于(「后注」中「一」))))
      否则若「串相等」于「字」于『『』则
        虑「词」者「扫描词法字符串」于「余」而
        虑「宽」者
          「减」
            于(「长度」授以「字符串」于「余」)
            于(「长度」授以「字符串」于(「词」中「一」))而
            虑「始」者「包源码前进」于「状态」于「一」而
            虑「终」者「包源码前进」于「始」于(「减」于「宽」于「一」)而
            「缀」
              于(「构造源码范围」
                于「文件」
                于(「始」中「一」)
                于(「始」中「二」)
                于(「终」中「一」)
                于(「终」中「二」))
                于(「包字符串范围」于「文件」于(「包源码前进」于「终」于「一」))
      否则若「串相等」于「字」于『「』则
        虑「词」者「扫描词法标识符」于「余」而
        「包字符串范围」
          于「文件」
          于(「包源码前进」
            于「状态」
            于(「减」
              于(「长度」授以「字符串」于(「状态」中「零」))
              于(「长度」授以「字符串」于(「词」中「一」))))
      否则
        「包字符串范围」于「文件」于(「包源码前进」于「状态」于「一」)
也。

「:文言:依典之序耗串位,所指为空者亦耗之。汉语:遍历解析后的静态配置;忽略字段也消费范围,避免简介中的同名文本误配。:」
「标注包配置值」乃
  化(「引用类」于(「列」于「源码范围」))而
  化「字符串」而
  化「配置值」而
  「有」
也。
「标注包配置值」者会「范围们」而会「目标」而会「值」而
  鉴「值」而
    有(「配置字符串」于「忽略串」)则(
      鉴「读引用」于「范围们」而
        有「罄」则「发生事故」授以「有」
        于『包配置字符串范围不足』
        或有(「缀」于「范围」于「余」)则
          虑「无」者「写引用」于「范围们」于「余」而
          若「串相等」于「目标」于『』则
            「元」
          否则
            「记录定义位置信息」
              于「范围」
              于(「构造源码范围」于「目标」于「零」于「零」于「零」于「零」)
    )
    或有(「配置列」于「值们」)则(
      虑「无」者
        「态射」授以「配置值」授以「有」
        于「值们」
        于(会「项」而「标注包配置值」于「范围们」于「目标」于「项」)
      而
      「元」
    )
    或有(「配置典」于「字段们」)则(
      虑「无」者
        「态射」授以(「字符串」合「配置值」)授以「有」
          于「字段们」
          于(会「字段」而「标注包配置值」于「范围们」于「目标」于(「字段」中「一」))
      而
      「元」
    )
    或有「其他」则「元」
也。

「:文言:所指之包未存,则阙其跳转,不阻他项。汉语:层级字段(包含在、包含包)指向的同所有者包的描述文件;找不到时返回空串,不生成跳转但仍消费字符串范围。:」
「层级目标文件」乃化「包索引」而化「字符串」而化「字符串」而「字符串」也。
「层级目标文件」者会「索引」而会「主」而会「名」而
  「尝试运行」授以「字符串」
    于(会「无」而(「查包」于「索引」于(「主」与「名」))中「二」)
    于(会「错误」而『』)
也。

「生成包语言服务」乃化「包索引」而化「包记录」而化「字符串」而「有」也。
「生成包语言服务」者会「索引」而会「记录」而会「输出」而
  虑「文件」者「记录」中「二」而
  虑「内容」者「读文件」于「文件」而
  虑「典」者「解析配置文本」于「文件」于「内容」而
  虑「配置」者「解析包文本」于「文件」于「内容」而
  虑「入口」者「包入口」于「配置」而
  「:文言:所指未存则阙,不阻另择入口。汉语:缺失或越界的声明入口不生成跳转,显式入口构建仍沿用原有校验。:」
  虑「入口文件」者
    若「等于」于(「长度」授以「字符串」于「入口」)于「零」则
      『』
    否则
      「尝试运行」授以「字符串」
      于(会「无」而「定位包内文件」于「索引」于「记录」于「入口」)
      于(会「错误」而『』)
  而
  虑「范围们」者
    「新引用」授以(「列」于「源码范围」)
    于(「包字符串范围」于「文件」于((「获取字符」于「内容」)与「零」与「零」))
  而
  虑「无」者「准备语言服务信息」于「文件」而
  虑「无」者
    「态射」授以(「字符串」合「配置值」)授以「有」
      于「典」
      于(会「字段」而
        鉴「字段」而
          有『类型』与(「配置典」于「类型字段」)
          则(
            虑「无」者
              「态射」授以(「字符串」合「配置值」)授以「有」
                于「类型字段」
                于(会「项」而「标注包配置值」
                  于「范围们」
                  于(若「串相等」于(「项」中「零」)于『入口』则「入口文件」否则『』)
                  于(「项」中「一」))
            而
            「元」
          )
          或有『依赖』与(「配置列」于「依赖们」)
          则(
            虑「无」者
              「态射」授以「配置值」授以「有」
              于「依赖们」
              于(会「依赖」
              而
  虑「引用」者「解码包引用」于「依赖」而
  虑「主」者鉴「引用」中「零」而
    有「可无」则(「记录」中「零」)
    或有(「可有」于「主」)则
      「主」
  而
  虑「目标」者「查包」于「索引」于(「主」与(「引用」中「一」))而
  「标注包配置值」于「范围们」于(「目标」中「二」)于「依赖」)而「元」
          )
            「:文言:父子互跳。汉语:“包含在”的值跳到父包描述文件,“包含包”的每一项跳到对应子包的描述文件。:」
          或有『包含在』与(「配置字符串」于「父名」)则(「标注包配置值」
            于「范围们」
            于(「层级目标文件」于「索引」于(「记录」中「零」)于「父名」)
            于(「字段」中「一」))
          或有『包含包』与(「配置列」于「子们」)
          则(
            虑「无」者
              「态射」授以「配置值」授以「有」
              于「子们」
              于(会「子」而
                鉴「子」而
                  有(「配置字符串」于「子名」)则(「标注包配置值」
                    于「范围们」
                    于(「层级目标文件」于「索引」于(「记录」中「零」)于「子名」)
                    于「子」)
                  或有「其他」则
                    「标注包配置值」于「范围们」于『』于「子」)
            而
            「元」
          )
          或有「其他」则
            「标注包配置值」于「范围们」于『』于(「字段」中「一」))
  而
  虑「无」者「建立目录」于(「获取文件夹名」于「输出」)而
  「写语言服务信息」于「输出」
也。

「:文言:图既定,乃书所达诸包;路径循旧制,编辑器无须别法。汉语:为依赖闭包中的项目内包写入通用语言服务 JSON;外部依赖保留绝对目标路径。:」
「写包图语言服务」乃化「字符串」而化「已解析包图」而「有」也。
「写包图语言服务」者会「项目根」而会「图」而
  虑「根」者(「真实路径」于「项目根」)附『/』而
  虑「无」者
    「态射」授以「包标识」授以「有」
    于(「图」中「一」)
    于(会「标识」而
    虑「记录」者「查包」于(「图」中「零」)于「标识」而
    虑「文件」者「记录」中「二」而
    若「串开头是它吗」于「根」于「文件」则
      虑「相对」者「去除串开头」于「根」于「文件」而
      「生成包语言服务」
        于(「图」中「零」)
        于「记录」
        于(「根」附『.yybuild/豫构语言服务/』附(「去除串结尾」于『。豫』于「相对」)附『.语言服务.json』)
    否则
      「元」
    )
  而
  「元」
也。