豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 510 行 · 26177 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「控制」之「异步」之书。
寻观「标准库」之「操作系统」之「异步子进程」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「构建基础」之「调度器」之书。
寻观「构建基础」之「构建监视」之书。
寻观「标准库」之「操作系统」之「时间」之书。

「:文言:以文件与阶段为事,沿旧工作协议行之。汉语:调度逻辑使用豫言,编译及缓存仍交给同一编译器的工作模式。:」
「文件依赖图」即「列」于(「字符串」合(「列」于「字符串」))也。

「过滤调度参数」乃化(「列」于「字符串」)而(「列」于「字符串」)也。
「过滤调度参数」者会「参数」而
  鉴「参数」而
    有「罄」则「罄」
    或有(「缀」于『--』于「余」)则「参数」
    或有(「缀」于『--parallel』于「余」)则
      「过滤调度参数」于「余」
    或有(「缀」于『--very-parallel』于「余」)则
      「过滤调度参数」于「余」
    或有(「缀」于『--yuyan-parallel』于「余」)则
      「过滤调度参数」于「余」
    或有(「缀」于『-j』于(「缀」于「数量」于「余」))则
      「过滤调度参数」于「余」
    或有(「缀」于『--num-cpu』于(「缀」于「数量」于「余」))则
      「过滤调度参数」于「余」
    或有(「缀」于「首」于「余」)则
      「缀」于「首」于(「过滤调度参数」于「余」)
也。

「:文言:双短线之后,皆属所生程序,不可删改。汉语:只移除编译输入,完整保留程序运行参数。:」
「过滤编译输入」乃
  化「字符串」而
  化(「列」于「字符串」)而
  (「列」于「字符串」)
也。
「过滤编译输入」者会「输入」而会「参数」而
  鉴「参数」而
    有「罄」则「罄」
    或有(「缀」于『--』于「余」)则「参数」
    或有(「缀」于「首」于「余」)则
      若「串相等」于「首」于「输入」则「余」
      否则
        「缀」于「首」于(「过滤编译输入」于「输入」于「余」)
也。

「含字符串」乃化(「列」于「字符串」)而化「字符串」而「爻」也。
「含字符串」者会「列值」而会「值」而
  鉴「列值」而
    有「罄」则「阴」
    或有(「缀」于「首」于「余」)则
      若「串相等」于「首」于「值」则「阳」否则「含字符串」于「余」于「值」
也。

「文件的依赖」乃化「文件依赖图」而化「字符串」而(「列」于「字符串」)也。
「文件的依赖」者会「图」而会「文件」而
  鉴「图」而
    有「罄」则「发生事故」授以(「列」于「字符串」)
    于(『缺少文件依赖:』附「文件」)
    或有(「缀」于(「名称」与「依赖」)于「余」)则
      若「串相等」于「名称」于「文件」则「依赖」否则「文件的依赖」于「余」于「文件」
也。

「字符串在前」乃化「字符串」而化「字符串」而「爻」也。
「字符串在前」者会「甲」而会「乙」而
  《《外调》》名『豫言_字符串按字节在前』传「甲」与「乙」
也。

「插入有序字符串」乃
  化「字符串」而
  化(「列」于「字符串」)而
  (「列」于「字符串」)
也。
「插入有序字符串」者会「值」而会「列值」而
  鉴「列值」而
    有「罄」则(「列」【「值」】)
    或有(「缀」于「首」于「余」)则
      若「字符串在前」于「值」于「首」则
        「缀」于「值」于「列值」
      否则
        「缀」于「首」于(「插入有序字符串」于「值」于「余」)
也。

「依赖拓扑顺序」乃化「文件依赖图」而化「字符串」而(「列」于「字符串」)也。
「依赖拓扑顺序」者会「图」而会「主文件」而
  虑「候选」者
    「从左折叠」授以(「字符串」合(「列」于「字符串」))授以(「列」于「字符串」)
    于(会「项」而会「已排」而
      若「串相等」于(「项」中「零」)于「主文件」则「已排」
      否则
        「插入有序字符串」于(「项」中「零」)于「已排」
    )于「罄」于「图」而
  递归虑「依赖皆在」其化(「列」于「字符串」)而化(「列」于「字符串」)而「爻」者
    会「已排」而会「依赖」而
      鉴「依赖」而
        有「罄」则「阳」
        或有(「缀」于「首」于「余」)则
          若「含字符串」于「已排」于「首」则
            「依赖皆在」于「已排」于「余」
          否则
            「阴」
  而
  递归虑「遍历」其化(「列」于「字符串」)而化(「列」于「字符串」)而(「列」于「字符串」)者
    会「剩余」而会「已排」而
      鉴「剩余」而
        有「罄」则「已排」
        或有(「缀」于「首」于「余」)则
          若「含字符串」于「已排」于「首」则
            「遍历」于「余」于「已排」
          否则若「依赖皆在」于「已排」于(「文件的依赖」于「图」于「首」)
          则
            「遍历」于「余」于(「结尾多」授以「字符串」于「已排」于「首」)
          否则
            「遍历」于「余」于「已排」
  而
  递归虑「循环」其化(「列」于「字符串」)而(「列」于「字符串」)者会「已排」而
    若「等于」于(「长度」授以「字符串」于「已排」)
    于(「长度」授以「字符串」于「候选」)则「已排」
    否则
      虑「新序」者「遍历」于「候选」于「已排」
      而
      若「等于」于(「长度」授以「字符串」于「新序」)
      于(「长度」授以「字符串」于「已排」)
      则
        「发生事故」授以(「列」于「字符串」)于『文件依赖成环,无法链接』
      否则
        「循环」于「新序」
  而
  「循环」于「罄」
也。

「阶段名」乃化「整数」而「字符串」也。
「阶段名」者会「阶段」而
  鉴「阶段」而
    有「零」则
      『dependency-analysis』
    或有「一」则『parse』
    或有「二」则
      『type-check-and-erase』
    或有「三」则
      『cross-module-optimize』
    或有「四」则
      『pre-closure-convert』
    或有「五」则『anf』
    或有「六」则『all-codegen』
    或有「其他」则『exec-gen』
也。

「编译任务名」乃化「字符串」而化「整数」而「字符串」也。
「编译任务名」者会「文件」而会「阶段」而
  (「阶段名」于「阶段」)附『:』附「文件」
也。

「依赖参数」乃化(「列」于「字符串」)而(「列」于「字符串」)也。
「依赖参数」者会「依赖」而
  鉴「依赖」而
    有「罄」则「罄」
    或有(「缀」于「首」于「余」)则
      「缀」于『--override-add-file-dependency』于(「缀」于「首」于(「依赖参数」于「余」))
也。

「依赖输出行」乃化「字符串」而(「列」于「字符串」)也。
「依赖输出行」者会「输出」而
  「滤」授以「字符串」
    于(会「行」而「非」于(「串相等」于「行」于『』))
    于(「态射」授以(「列」于「字符串」)授以「字符串」
      于(「元素分隔」授以「字符串」于(会「字」而「串相等」于「字」于『「:换行:」』)于(「获取字符」于「输出」))
      于「串组合并」)
也。

「监视阶段名」乃化「整数」而「字符串」也。
「监视阶段名」者会「阶段」而
  鉴「阶段」而
    有「零」则『依赖分析』
    或有「一」则『语法解析』
    或有「二」则『类型检查』
    或有「三」则『跨模块优化』
    或有「四」则『闭包转换』
    或有「五」则『ANF』
    或有「六」则『代码生成』
    或有「其余」则『最终链接』
也。

「:文言:辨目标至双短线而止,后设胜前。汉语:辨认闭包转换后整模块生成的目标,不读取程序运行参数。:」
「是整卷目标」乃化「字符串」而「爻」也。
「是整卷目标」者会「值」而
  「存在吗」授以「字符串」
    于(会「目标」而「串相等」于「值」于「目标」)
    于(「列」【『native』,『llvm』,『shadow』,『wasm』,『wasmgc』,『wasmgc-anf』】)
也。

「回收目标参数」乃化(「列」于「字符串」)而化「爻」而「爻」也。
「回收目标参数」者会「参数」而会「当前」而
  鉴「参数」而
    有「罄」则「当前」
    或有(「缀」于『--』于「余」)则「当前」
    或有(「缀」于『--target』于(「缀」于「值」于「余」))则
      「回收目标参数」于「余」于(「是整卷目标」于「值」)
    或有(「缀」于「首」于「余」)则
      「回收目标参数」
        于「余」
        于(
          若「串开头是它吗」于『--target=』于「首」则
            「是整卷目标」
              于(「去除串开头」于『--target=』于「首」)
          否则
            「当前」
        )
也。

「:文言:同术可合可分,以实测定其界。汉语:整卷目标可选择前端任务粒度,双短线之后不解释选项,后设覆盖前设。:」
「合并前端参数」乃化(「列」于「字符串」)而化「爻」而「爻」也。
「合并前端参数」者会「参数」而会「当前」而
  鉴「参数」而
    有「罄」则「当前」
    或有(「缀」于『--』于「余」)则「当前」
    或有(「缀」于『--frontend-tasks=split』于「余」)则
      「合并前端参数」于「余」于「阴」
    或有(「缀」于『--frontend-tasks=combined』于「余」)则
      「合并前端参数」于「余」于「阳」
    或有(「缀」于「首」于「余」)则
      「合并前端参数」于「余」于「当前」
也。

「运行并行编译」乃
  化「字符串」而
  化「字符串」而
  化(「列」于「字符串」)而
  化「整数」而
  化「爻」而
  「整数」
也。
「运行并行编译」者会「程序」而会「主文件」而会「附加参数」而会「上限」而会「仅检查」而
  「:文言:前端诸阶共其途,合卷惟供对照。汉语:默认与 native 共用前端阶段图;整卷目标只到闭包转换,显式 combined 才把前端合为一个工作进程。:」
  虑「整卷目标」者「回收目标参数」于「附加参数」于「阳」而
  虑「整卷回收」者
    「且」于(「非」于「仅检查」)于(「且」于「整卷目标」于(「合并前端参数」于「附加参数」于「阴」))而
    虑「工作阶段名」者(化「整数」而「字符串」)也(会「段」而
      若「且」于「整卷回收」于(「等于」于「段」于「一」)则『wasmgc-module』否则「阶段名」于「段」
    )而
    虑「显示阶段名」者(化「整数」而「字符串」)也(会「段」而
      若「且」于「整卷回收」于(「等于」于「段」于「一」)则『模块编译』否则「监视阶段名」于「段」
    )而
    虑「工作任务名」者(化「字符串」而化「整数」而「字符串」)也(会「文件」而会「段」而
      (「工作阶段名」于「段」)附『:』附「文件」
    )而
    虑「图」者「新引用」授以「文件依赖图」于「罄」而
    虑「已知」者「新引用」授以(「列」于「字符串」)于「罄」而
    虑「任务图」者「新引用」授以(「列」于「构建任务」)于「罄」而
    虑「日志」者「新引用」授以(「列」于「字符串」)于「罄」而
    「:文言:启毕即告,勿候全图;进度不混数据。汉语:生命周期事件立即写入并刷新 stderr,工作进程的 stdout 仍保留给依赖协议。:」
    虑「显示进度」者
      「非」于(「含字符串」于「附加参数」于『--no-debug-print』)
    而
    虑「监视器值」者「新监视器」于「显示进度」于「上限」而
    虑「显示日志」者
      「且」于「显示进度」于(「非」于(「监视器值」中「零」))
    而
    虑「最后阶段」者
      若「仅检查」则「二」
      否则
        若「整卷回收」则「一」否则「四」
    而
    虑「监视总量」者(化「有」而(「列」于「阶段总量」))也(会「无」而
    虑「就绪」者
      「就绪任务」于(「读引用」授以(「列」于「构建任务」)于「任务图」)
    而
    「结尾多」授以「阶段总量」
    于(「态射」授以「整数」授以「阶段总量」
      于(「整数范围」于「零」于(「加」于「最后阶段」于「一」))
      于(会「段」而(「显示阶段名」于「段」)
        与(「长度」授以「字符串」于(「读引用」授以(「列」于「字符串」)于「已知」))
  与
        (「长度」授以「构建任务」于(「滤」授以「构建任务」
          于(会「任务」而「串开头是它吗」于((「工作阶段名」于「段」)附『:』)于(「任务」中「零」))
          于「就绪」))))
          于(『最终链接』与「一」与「零」))
    而
    虑「运行数」者「新引用」授以「整数」于「零」而
    虑「完成数」者「新引用」授以「整数」于「零」而
    虑「目录前缀」者(「获取当前路径」于「元」)附『/』而
    虑「短进度」者(化「字符串」而「字符串」)也(会「文本」而
    「从左折叠」授以「整数」授以「字符串」
    于(会「段」而会「串」而
      「串查找替换」于「串」于((「工作阶段名」于「段」)附『:』)
      于((「显示阶段名」于「段」)附『:』))
      于(「串查找替换」于「文本」于「目录前缀」于『』)
      于(「整数范围」于「零」于「八」))
    而
    虑「记录结果」者(化「字符串」而化「子进程结果」而「有」)也(会「名称」而
      会「结果」
        而
  虑「无」者
    「监视完成」于「监视器值」于(「短进度」于「名称」)于(「结果」中「一」)而
    虑「无」者
      「写引用」于「运行数」于(「减」于(「读引用」授以「整数」于「运行数」)于「一」)
    而
    虑「无」者
      「写引用」于「完成数」于(「加」于(「读引用」授以「整数」于「完成数」)于「一」)
    而
    虑「无」者
      若「显示日志」则
        「标准错误打印行」于((
          若「等于」于(「结果」中「一」)于「零」则『[完成] 』否则『[失败] 』)附(「短进度」于「名称」)附
            『 | PID 』附(「整数表示」于(「结果」中「零」))附『 | 退出 』附(「整数表示」于(「结果」中「一」))附
              『 | 运行 』附(「整数表示」于(「读引用」授以「整数」于「运行数」))附『/』附(「整数表示」于「上限」)
              附
              『 | 已完成 』附(「整数表示」于(「读引用」授以「整数」于「完成数」))
        )否则「元」
    而
    「写引用」
      于「日志」
      于(「缀」
        于(「名称」附『,进程:』附(「整数表示」于(「结果」中「零」))附『,退出码:』附(「整数表示」
          于(「结果」中「一」))附
            『「:换行:」标准输出:「:换行:」』附(「结果」中「二」)附『「:换行:」标准错误:「:换行:」』附(「结果」
              中「三」))于(「读引用」授以(「列」于「字符串」)于「日志」)))
    而
    虑「保存日志」者(化「有」而「有」)也(会「无」而
    「写文件」
      于『yy_parallel_log.txt』
      于(「间合」于『「:换行:」』于(「反转」授以「字符串」于(「读引用」授以(「列」于「字符串」)于「日志」))))
    而
    虑「运行工作」者
      (化「字符串」而化「整数」而(「异步任务」于「子进程结果」))也(会「文件」而会「阶段」而
          虑「依赖」者
            若「等于」于「阶段」于「零」则「罄」授以「字符串」
            否则若「串相等」于「文件」于「主文件」
            则
              「依赖拓扑顺序」
                于(「读引用」授以「文件依赖图」于「图」)于「主文件」
            否则
              「文件的依赖」于(「读引用」授以「文件依赖图」于「图」)于「文件」
          而
          虑「无」者
            「监视启动」
              于「监视器值」
              于(「短进度」于(「工作任务名」于「文件」于「阶段」))
              于(「显示阶段名」于「阶段」)
          而
          虑「无」者
            「写引用」
              于「运行数」
              于(「加」于(「读引用」授以「整数」于「运行数」)于「一」)
          而
          虑「无」者
            若「显示日志」则
              「标准错误打印行」于(『[启动] 』附(「工作阶段名」于「阶段」)附『:』附(「短进度」于「文件」)附
                『 | 运行 』
                  附
                  (「整数表示」于(「读引用」授以「整数」于「运行数」))附『/』附(「整数表示」于「上限」))
            否则
              「元」
          而
          「尝试运行」授以(「异步任务」于「子进程结果」)
          于(会「无」而
            「异步获取输出」
              于「程序」
              于(「缀」
                于『--mode=worker』
                于(「缀」
                  于(『--worker-task=』附(「工作阶段名」于「阶段」))
                  于(「缀」于「文件」于(「附加」授以「字符串」于(「依赖参数」于「依赖」)于「附加参数」)))))
                  于(会「错误」
                  而
  虑「无」者
    「监视完成」于「监视器值」于(「短进度」于(「工作任务名」于「文件」于「阶段」))于「一」而
    虑「无」者
      「写引用」于「运行数」于(「减」于(「读引用」授以「整数」于「运行数」)于「一」)
    而
    「发生事故」授以(「异步任务」于「子进程结果」)于「错误」))
    而
    递归虑「加入文件」其化「字符串」而「有」者会「文件」而
      若「含字符串」于(「读引用」授以(「列」于「字符串」)于「已知」)
      于「文件」则
        「元」
      否则
        (
          虑「无」者
            「写引用」
              于「已知」
              于(「缀」于「文件」于(「读引用」授以(「列」于「字符串」)于「已知」))
          而
          虑「任务」者
            「新优先构建任务」
              于「零」
              于(「工作任务名」于「文件」于「零」)
              于「罄」
              于(会「无」而「运行工作」于「文件」于「零」)
              于(会「结果」
                而
  虑「依赖」者「依赖输出行」于(「结果」中「二」)而
  虑「无」者
    「写引用」于「图」于(「缀」于(「文件」与「依赖」)于(「读引用」授以「文件依赖图」于「图」))
  而
  虑「无」者「态射」授以「字符串」授以「有」于「依赖」于「加入文件」而
  虑「阶段任务」者
    「态射」授以「整数」授以「构建任务」
    于(「整数范围」于「一」于(「加」于「最后阶段」于「一」))
    于(会「阶段」
      而
  虑「所待」者
    「缀」授以「字符串」
    于(「工作任务名」于「文件」于(「减」于「阶段」于「一」))
    于(
      若「大于」于「阶段」于「三」则
        「罄」授以「字符串」
      否则
        「态射」授以「字符串」授以「字符串」
        于「依赖」
        于(会「依赖文件」而「工作任务名」于「依赖文件」于「阶段」)
    )
  而
  「新优先构建任务」
    于「阶段」
    于(「工作任务名」于「文件」于「阶段」)
    于「所待」
    于(会「无」而「运行工作」于「文件」于「阶段」)
    于(会「结果」而「元」))
  而
  「写引用」
    于「任务图」
    于(「附加」授以「构建任务」于(「读引用」授以(「列」于「构建任务」)于「任务图」)于「阶段任务」))
          而
          「写引用」
            于「任务图」
            于(「结尾多」授以「构建任务」于(「读引用」授以(「列」于「构建任务」)于「任务图」)于「任务」)
        )
    而
    虑「无」者「加入文件」于「主文件」而
    虑「状态」者
      「执行任务图并监视」
        于「任务图」
        于「上限」
        于「记录结果」
        于(会「清除」
          而
          若「非」于(「监视器值」中「零」)则「元」
          否则
            若「清除」则「监视清屏」于「监视器值」否则
              若「监视应刷新」于「监视器值」则「监视刷新」
              于「监视器值」
              于(「监视总量」于「元」)于「阴」
              否则
                「元」
        )
        于(「监视器值」中「零」)
    而
    虑「无」者「保存日志」于「元」而
    虑「无」者
      「写文件」
        于『yy_parallel_deps.txt』
        于(「间合」
          于『「:换行:」』
          于(「态射」授以(「字符串」合(「列」于「字符串」))授以「字符串」
            于(「读引用」授以「文件依赖图」于「图」)
            于(会「项」而(「项」中「零」)附『 → 』附(「间合」于『,』于(「项」中「一」)))))
    而
    若「不等于」于「状态」于「零」则
      虑「无」者「监视清屏」于「监视器值」
      而
      虑「无」者
        若「监视器值」中「零」则
          「标准错误打印行」于(『构建失败 · 用时 』附
            (「监视用时」于(「监视器值」中「一」)于(「获取当前纳秒时间」于「元」)))
        否则
          「元」
      而
      「状态」
    否则
      虑「结果」者
        「监视等待」于「监视器值」于(「监视总量」于「元」)于(「运行工作」于「主文件」于「七」)
      而
      虑「无」者
        「记录结果」于(「工作任务名」于「主文件」于「七」)于「结果」
      而
      虑「无」者「保存日志」于「元」
      而
      虑「无」者「监视清屏」于「监视器值」
      而
      虑「无」者
        若「监视器值」中「零」则
          「标准错误打印行」于((
            若「等于」于(「结果」中「一」)于「零」则『构建完成』否则『构建失败』)附『 · 用时 』附
              (「监视用时」于(「监视器值」中「一」)于(「获取当前纳秒时间」于「元」))附
                『 · 已结束任务 』附(「整数表示」于(「读引用」授以「整数」于「完成数」)))
        否则
          「元」
      而
      虑「无」者「打印」于(「结果」中「二」)
      而
      虑「无」者「标准错误打印行」于(「结果」中「三」)而
      「结果」中「一」
也。

「:文言:异常亦撤其屏,勿掩诊辞。汉语:包括最终链接、日志写入等异常,均在上层打印诊断前清除面板。:」
「并行编译」乃
  化「字符串」而
  化「字符串」而
  化(「列」于「字符串」)而
  化「整数」而
  化「爻」而
  「整数」
也。
「并行编译」者会「程序」而会「主文件」而会「附加参数」而会「上限」而会「仅检查」而
  「尝试运行」授以「整数」
    于(会「无」而「运行并行编译」于「程序」于「主文件」于「附加参数」于「上限」于「仅检查」)
    于(会「错误」而虑「无」者「绘面板」于『』而
      「发生事故」授以「整数」于「错误」)
也。