寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「标准库」之「操作系统」之「环境变量」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「子进程」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「豫言终端」之「命令目录」之书。
寻观「豫言终端」之「程序解析」之书。

「：文言：所用之器，明其处；所授之参，不乱其界。汉语：固定工具目录，所有工具通过原生子进程和参数列执行。：」
「指定项目」者「新引用」授以「字符串」于『』也。

「只预演」者「新引用」授以「爻」于「阴」也。

「绝对工具路径」乃化「字符串」而化「字符串」而「字符串」也。
「绝对工具路径」者会「根」而会「路径」而
  若「路径名是绝对路径」于「路径」则
    「路径」
  否则
    「路径合并」于「根」于「路径」
也。

「启动目录」者「获取当前路径」于「元」也。

「终端程序位置」者「查找可执行程序」于（「获取程序名」于「元」）也。

「终端工具目录」者
  虑「指定」者「获取环境变量」于『YYSH_TOOL_DIR』而
  若「指定」中「零」则
    「绝对工具路径」于「启动目录」于（「指定」中「一」）
  否则
    若「终端程序位置」中「零」则「获取文件夹名」于（「绝对工具路径」于「启动目录」于（「终端程序位置」中「一」））否则
      「启动目录」
也。

「寻找项目根」乃化「字符串」而「字符串」也。
「寻找项目根」者会「目录」而
  若「且」
    于（「路径存在」于（「路径合并」于「目录」于『应用/豫言编译器/入口。豫』））
    于（「路径存在」于（「路径合并」于「目录」于『应用』））
  则
    「目录」
  否则
    虑「父」者「获取文件夹名」于「目录」
    而
    若「或者」于（「字符串相等吗」于「父」于『』）于（「字符串相等吗」于「父」于「目录」）
    则
      『』
    否则
      「寻找项目根」于「父」
也。

「当前管理项目」乃化「有」而「字符串」也。
「当前管理项目」者会「无」而
  虑「指定」者「读引用」于「指定项目」而
  若「字符串相等吗」于「指定」于『』则
    「寻找项目根」于（「获取当前路径」于「元」）
  否则
    「绝对工具路径」于（「获取当前路径」于「元」）于「指定」
也。

「取工具路径」乃化「字符串」而「字符串」也。
「取工具路径」者会「名」而
  虑「路径」者「路径合并」于「终端工具目录」于（『yy』附「名」）而
  若「路径可执行」于「路径」则
    「路径」
  否则
    若「且」于（「字符串相等吗」于「名」于『豫构』）于（「路径可执行」于（「路径」附『_stable』））
    则
      「路径」附『_stable』
    否则
      「路径」
也。

「取管理编译器」乃化「有」而「字符串」也。
「取管理编译器」者会「无」而
  虑「指定」者「获取环境变量」于『YYSH_COMPILER』而
  若「指定」中「零」则
    「绝对工具路径」于「启动目录」于（「指定」中「一」）
  否则
    虑「随附」者「路径合并」于「终端工具目录」于『yy编译器』
    而
    若「路径可执行」于「随附」则
      「随附」
    否则
      「路径合并」于「终端工具目录」于『yy4_bs.wasm』
也。

「打印调用参数」乃化（「列」于「字符串」）而「有」也。
「打印调用参数」者会「参数」而
  鉴「参数」而
    有「罄」则「元」
    或有（「缀」于「首」于「尾」）则
      （「打印行」于（『  参数：〈』附「首」附『〉』）；
        「打印调用参数」于「尾」）
也。

「调用管理程序」乃
  化「字符串」而
  化「字符串」而
  化（「列」于「字符串」）而
  「整数」
也。
「调用管理程序」者会「目录」而会「程序」而会「参数」而
  若「读引用」于「只预演」
  则
    （「打印行」于（『工作目录：』附「目录」）；
      「打印行」于（『程序：』附「程序」）；
      「打印调用参数」于「参数」；
      「零」）
  否则若「非」于（「路径可执行」于「程序」）
  则
    （「标准错误打印行」于（『工具不可执行：』附「程序」附『。请运行“工具 构建 工具名”；豫构种子须先按快速开始安装。』）；
      「一二七」）
  否则
    虑「原目录」者「获取当前路径」于「元」而
    虑「切换结果」者「切换当前路径」于「目录」而
    若「非」于（「等于」于（「切换结果」中「零」）于「零」）
    则
      （「标准错误打印行」于（「切换结果」中「一」）；
        「一」）
    否则
      虑「状态」者「运行并继承标准流」于「程序」于「参数」
      而
      虑「还原」者「切换当前路径」于「原目录」
      而
      若「等于」于（「还原」中「零」）于「零」则「状态」
      否则
        （「标准错误打印行」于（『无法还原工作目录：』附（「还原」中「一」））；
          「一」）
也。

「管理参数有效」乃化「命令条目」而化（「列」于「字符串」）而「爻」也。
「管理参数有效」者会「条目」而会「参数」而
  虑「数量」者「长度」授以「字符串」于「参数」而
  「且」
    于（「非」于（「小于」于「数量」于（「条目」中「五」）））
    于（「非」于（「大于」于「数量」于（「条目」中「六」）））
也。

「适配工具参数」乃
  化「命令条目」而
  化（「列」于「字符串」）而
  （「列」于「字符串」）
也。
「适配工具参数」者会「条目」而会「参数」而
  虑「命」者「条目」中「零」而
  虑「实际」者
    若「字符串相等吗」于「命」于『文档 生成』
    则
      （
        鉴「参数」而
          有「罄」则（「列」【『应用/豫言编译器/入口。豫』，『dist/文档』】）
          或有（（「列」【「入口」】））则（「列」【「入口」，『dist/文档』】）
          或有「其他」则「参数」
      ）
    否则若「且」
      于（「字符串相等吗」于「命」于『源码 生成』）
      于（「等于」于（「长度」授以「字符串」于「参数」）于「零」）
    则
      （「列」【『dist/源码』】）
    否则
      「参数」
  而
  「附加」授以「字符串」于（「条目」中「四」）于「实际」
也。

「构建管理工具」乃化「字符串」而化（「列」于「程序候选」）而「整数」也。
「构建管理工具」者会「根」而会「工具们」而
  鉴「工具们」而
    有「罄」则「零」
    或有（「缀」于「工具」于「尾」）则
      虑「名」者「工具」中「一」而
      虑「输出」者
        「路径合并」于「终端工具目录」于（
          若「字符串相等吗」于「名」于『豫言终端』则『yysh』否则『yy』附「名」）而
      「：文言：先成新器，后易旧器。汉语：构建至临时产物，成功后替换，避免覆盖正在运行的终端或豫构。：」
      虑「暂存」者「输出」附『.新.exe』
      而
      虑「状态」者
        「调用管理程序」
          于「根」
          于（「取工具路径」于『豫构』）
          于（「列」【『构建』，「名」，『--编译器』，（「取管理编译器」于「元」），『--输出』，「暂存」】）
      而
      若「非」于（「等于」于「状态」于「零」）则
        「状态」
      否则
        虑「移动」者「查找可执行程序」于『mv』
        而
        虑「换器」者
          「调用管理程序」
            于「根」
            于（「移动」中「一」）
            于（「列」【「暂存」，「输出」】）
        而
        若「等于」于「换器」于「零」则
          「构建管理工具」于「根」于「尾」
        否则
          「换器」
也。

「显示工具状态」乃化（「列」于「程序候选」）而「整数」也。
「显示工具状态」者会「工具们」而
  鉴「工具们」而
    有「罄」则「零」
    或有（「缀」于「工具」于「尾」）则
      虑「路径」者
        若「字符串相等吗」于（「工具」中「一」）于『豫言终端』
        则
          「路径合并」于「终端工具目录」于『yysh』
        否则
          「取工具路径」于（「工具」中「一」）
      而
      虑「就绪」者「路径可执行」于「路径」
      而
      虑「无」者
        「打印行」于（（若「就绪」则『就绪  』否则『缺少  』）附「路径」）
      而
      虑「余」者「显示工具状态」于「尾」
      而
      若「就绪」则「余」否则「一」
也。

「检查外部依赖」乃化（「列」于「字符串」）而「整数」也。
「检查外部依赖」者会「名称们」而
  鉴「名称们」而
    有「罄」则「零」
    或有（「缀」于「名」于「尾」）则
      虑「结果」者「查找可执行程序」于「名」而
      虑「无」者
        「打印行」于（「名」附（
          若「结果」中「零」则『：』附（「结果」中「一」）否则『：未安装或不在 PATH 中』））
      而
      虑「余」者「检查外部依赖」于「尾」
      而
      若「结果」中「零」则「余」否则「一」
也。

「执行工具条目」乃
  化「字符串」而
  化「命令条目」而
  化（「列」于「字符串」）而
  「整数」
也。
「执行工具条目」者会「根」而会「条目」而会「参数」而
  虑「命」者「条目」中「零」而
  若「字符串相等吗」于「命」于『状态』
  则
    （「打印行」于（『项目：』附「根」）；
      「打印行」于（『编译器：』附（「取管理编译器」于「元」））；
      「显示工具状态」于（「常用工具候选」于「元」）；
      「零」）
  否则
    若「字符串相等吗」于「命」于『环境 检查』
    则
      虑「工具状态」者「显示工具状态」于（「常用工具候选」于「元」）
      而
      虑「外部状态」者
        「检查外部依赖」于（「列」【『clang』，『git』】）
      而
      虑「编译器就绪」者「路径可执行」于（「取管理编译器」于「元」）
      而
      虑「无」者
        「打印行」于（（若「编译器就绪」则『编译器就绪：』否则『缺少编译器：』）附（「取管理编译器」于「元」））
      而
      若「且」于「编译器就绪」于（「等于」于（「加」于「工具状态」于「外部状态」）于「零」）则
        「零」
      否则
        「一」
    否则若「字符串相等吗」于「命」于『工具 构建』
    则
      （
        鉴「参数」而
          有「罄」则「构建管理工具」
            于「根」
            于（「常用工具候选」于「元」）
          或有（「缀」于「工具名」于「余」）则
            虑「结果」者
              「决定命令词」于「工具名」于（「常用工具候选」于「元」）
            而
            若「等于」于（「结果」中「零」）于「零」
            则
              「构建管理工具」
                于「根」
                于（「列」【（「名称候选」于（「结果」中「一」））】）
            否则
              （「标准错误打印行」于（「结果」中「二」）；
                「二」）
      ）
    否则若「字符串相等吗」于「命」于『网页服务』
    则
      虑「服务参数」者「参数」而
      鉴「服务参数」而
        有（「缀」于「目录」于「端口们」）则
          「调用管理程序」
            于（「绝对工具路径」于「根」于「目录」）
            于（「取工具路径」于『简易网页服务器』）
            于（「附加」授以「字符串」于（「列」【『--本机』】）于「端口们」）
        或有「罄」则「二」
    否则
      虑「实际参数」者「适配工具参数」于「条目」于「参数」
      而
      虑「完整参数」者
        若「字符串相等吗」于（「条目」中「三」）于『豫构』
        则
          「附加」授以「字符串」
          于（「列」【『--编译器』，（「取管理编译器」于「元」）】）
          于「实际参数」
        否则
          「实际参数」
      而
      「调用管理程序」于「根」于（「取工具路径」于（「条目」中「三」））于「完整参数」
也。

「显示管理帮助」乃化（「列」于「字符串」）而「整数」也。
「显示管理帮助」者会「参数」而
  虑「解析」者「解析管理余词」于『』于「参数」而
  若「非」于（「等于」于（「解析」中「零」）于「零」）
  则
    （「标准错误打印行」于（「解析」中「三」）；
      「二」）
  否则
    鉴「解析」中「二」而
      有「罄」则
        （「打印行」于（「命令帮助文本」于（「解析」中「一」））；
          「打印行」
            于『全局选项置于命令前：--项目 路径、--预演。相对路径按项目根解释；网页服务按当前目录解释。』；
            「打印行」
              于『拼音仅用于筛选命令、工具与包名候选；Tab 选候选，Ctrl-E 或右方向键填入正式名称后执行。』；
              「零」）
      或有「其他」则
        （「标准错误打印行」于『帮助只接受命令路径，如：help 包 检查』；
          「二」）
也。

「执行管理命令」乃化「字符串」而化（「列」于「字符串」）而「整数」也。
「执行管理命令」者会「命」而会「参数」而
  鉴「查命令条目」于「命」而
    有（「缀」于「条目」于「余」）则（
      若「非」于（「管理参数有效」于「条目」于「参数」）
      则
        （「标准错误打印行」于（『用法：』附（「条目」中「一」））；
          「二」）
      否则
        虑「项目」者「当前管理项目」于「元」
        而
        虑「根」者
          若「字符串相等吗」于「命」于『网页服务』
          则
            （若「字符串相等吗」于（「读引用」于「指定项目」）于『』则「获取当前路径」于「元」否则「项目」）
          否则
            「项目」
        而
        若「字符串相等吗」于「根」于『』
        则
          （「标准错误打印行」
            于『未找到豫言仓库，请使用 --项目 路径 指定项目根目录。』；
            「二」）
        否则
          「执行工具条目」于「根」于「条目」于「参数」
    ）
    或有「罄」则
      （「打印行」于（「命令帮助文本」于「命」）；
        「零」）
也。
