豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 690 行 · 39036 字节 · UTF-8
§
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。
寻观「客体二号」之「平台」之书。
寻观「客体二号」之「基础」之书。
寻观「客体二号」之「实例」之书。
寻观「客体二号」之「模块」之书。
寻观「客体二号」之「对象」之书。
寻观「客体二号」之「块设备」之书。
寻观「客体二号」之「文件系统」之书。
寻观「客体二号」之「宿主对象」之书。
寻观「客体二号」之「主机文件」之书。
寻观「客体二号」之「远程文件」之书。
寻观「客体二号」之「裸机底层句柄」之书。

「:文言:子进程之原语:父任务自文件系统读子程序,复制任务,子任务换其模块而自头重启,父任务候其退而取其退出码。汉语:同步子进程:父任务从文件系统读出程序字节(存成堆里的字节数组)、把命令行参数与程序名写进“送子任务之区”,然后 复制任务。子任务带着父任务的整份内存醒来:把程序字节换进模块窗口、把送来的参数与程序名拷成自己的、置“待重启”格(存新程序长度),解释循环因此退出,由 入口 的启动循环清空状态格后从头启动新程序;新程序返回则以零退出任务,自己调用退出进程则由退出任务直接以其码结束。父任务阻塞等待子任务、收回任务槽,把退出码交给调用者。启动失败(找不到程序、不是文件、过大、参数装不下、没有空闲任务槽)返回 127,与标准库“启动失败为一百二十七”一致。子任务不能访问块设备(设备只属于初始任务)。:」

「:文言:参数之存:把参数组之诸字符串,逐个书于送子任务之参数区。汉语:把参数数组(元组加个数)的各个字符串依次写进 送参数区:每项 [长度 4 字节][字节…] 对齐到 4;每写一项就更新个数;装不下返回 -1,全部写完返回 0。:」
「存参数逐个」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「存参数逐个」者会「内」而会「个数」而会「位」而会「写址」而
  若「小于」于「位」于「个数」
  则
    虑「参」者「元组项」于「内」于「位」而
    虑「无」者(「空引用检」于「参」)而
    虑「长」者「字节数组长」于「参」而
    虑「用量」者
      「加」于(「减」于「写址」于「送参数区」)于(「加」于「长」于「八」)而
    若「大于」于「用量」于「参数区大小」
    则
      「负一」
    否则
      虑「无」者(「写四」于「写址」于「长」)
      而
      虑「无」者
        (「拷贝」于(「加」于「写址」于「四」)于(「加」于「参」于「一六」)于「长」)
      而
      虑「无」者(「写四」于「送参数区」于(「加」于「位」于「一」))而
      「存参数逐个」
        于「内」
        于「个数」
        于(「加」于「位」于「一」)
        于(「加」于「写址」于(「位与」于(「加」于(「加」于「长」于「四」)于「三」)于(「减」于「零」于「四」)))
  否则
    「零」
也。

「存命令行参数」乃化「整数」而「整数」也。
「存命令行参数」者会「数组对」而
  虑「内」者「元组项」于「数组对」于「零」而
  虑「无」者
    (「拆箱」于(「元组项」于「数组对」于「一」)于「状态_临时」)而
    虑「个数」者「读四」于「状态_临时」而
    虑「无」者(「写四」于「送参数区」于「零」)而
    「存参数逐个」于「内」于「个数」于「零」于(「加」于「送参数区」于「四」)
也。

「:文言:本任务之命令行与程序名:自本任务之区读出,作宿主原语之果。汉语:命令行参数对象:从本任务的 参数区 造出字符串数组(元组加个数);程序名对象:从 程序名区 造出字节数组,区为空则用缺省名 /程序.wasm。:」
「填参数逐个」乃化「整数」而化「整数」而化「整数」而化「整数」而「有」也。
「填参数逐个」者会「内」而会「个数」而会「位」而会「读址」而
  若「小于」于「位」于「个数」
  则
    虑「长」者「读四」于「读址」而
    虑「串」者「新字节数组」于「长」而
    虑「无」者
      (「拷贝」于(「加」于「串」于「一六」)于(「加」于「读址」于「四」)于「长」)而
      虑「无」者(「设元组项」于「内」于「位」于「串」)而
      「填参数逐个」
        于「内」
        于「个数」
        于(「加」于「位」于「一」)
        于(「加」于「读址」于(「位与」于(「加」于(「加」于「长」于「四」)于「三」)于(「减」于「零」于「四」)))
  否则
    「元」
也。

「命令行参数对象」乃化「有」而「整数」也。
「命令行参数对象」者会「无」而
  虑「个数」者「读四」于「参数区」而
  虑「内」者「新元组」于「个数」而
  虑「无」者
    (「填参数逐个」于「内」于「个数」于「零」于(「加」于「参数区」于「四」))而
    虑「外」者「新元组」于「二」而
    虑「无」者(「设元组项」于「外」于「零」于「内」)而
    虑「无」者(「设元组项」于「外」于「一」于(「装箱整」于「个数」))而
    「外」
也。

「程序名对象」乃化「有」而「整数」也。
「程序名对象」者会「无」而
  虑「长」者「读四」于「程序名区」而
  若「等零」于「长」
  则
    「字节串常量」于(「静态串」于『/程序.wasm』)
  否则
    虑「对象」者「新字节数组」于「长」而
    虑「无」者
      (「拷贝」于(「加」于「对象」于「一六」)于(「加」于「程序名区」于「四」)于「长」)
    而
    「对象」
也。

「:文言:子任务之改装与重启:子任务醒后,换其模块、取其参数,置待重启;解释循环退出后,重启之备清状态格。汉语:子任务改装(复制任务返回零之后立刻调用):把新程序字节拷进模块窗口,把送来的参数区与程序名区拷成自己的,把新程序长度写进 状态_待重启;此后调用链原路返回,解释循环见待重启即退出。重启准备(由 入口 的启动循环在重新启动之前调用):先把动态区(区域起到内存末)清零——各区与位图都假定拿到的是全零内存,而复制来的内存里是父任务的旧数据——再清空状态格区,写回模块长度,块设备标为失败(子任务不用磁盘),清掉测试导出名与参数,撤待重启格。汉语补:这样做是因为状态格清零后不能再分配对象,所以清零必须等调用链全部返回之后。:」
「:文言:当前目录之传:父写于送区,子拷于程序名区,重启后复之。汉语:传工作目录(父任务,复制任务之前):把当前目录写进 送程序名区 + 工作目录偏;继承当前目录(子任务重启之后,文件系统初始化之后):若本任务是子任务且程序名区里存有当前目录,就把它设为当前目录。:」
「传工作目录」乃化「有」而「有」也。
「传工作目录」者会「无」而
  虑「长」者「读四」于「状态_文件系统_当前长」而
  虑「无」者
    (「写四」于(「加」于「送程序名区」于「工作目录偏」)于「长」)
  而
  「拷贝」
    于(「加」于(「加」于「送程序名区」于「工作目录偏」)于「四」)
    于(「读四」于「状态_文件系统_当前目录」)于「长」
也。

「:文言:标准输入之重定向与环境之送:父任务于复制之前以原语写送区,子任务改装拷之,重启后自文件读输入。汉语:设置子进程输入(原语 70):把输入文件路径(规范成绝对路径,至多路径上限,空串表示清除)写进 送程序名区 + 输入路径偏(长度 4 字节 + 路径字节),成功返回 0,路径过长或无效返回 -1;设置子进程环境(原语 71):把环境块(“名=值” 以换行相隔的字节数组,空串表示清除)写进 送程序名区 + 环境偏(总长 4 字节 + 以零结尾的字符串们,换行换成零,总长含末尾的零,至多环境上限),成功返回 0,过长返回 -1。两者都在下一次复制任务之后由 加载并复制 清零。加载输入文件(子任务重启后,在发现宿主类型之后调用):程序名区 + 输入路径偏 处有路径,就用 文件原语分派(29)读出整个文件(子任务经邮箱远程读),字节数组存进 状态_输入缓冲、位置置 0(读失败当作空文件);没有路径则清空 状态_输入缓冲。:」
「换行变零」乃化「整数」而化「整数」而「有」也。
「换行变零」者会「址」而会「长」而
  若「大于」于「长」于「零」
  则
    ((若「等」于(「读一」于「址」)于「一零」则「写一」于「址」于「零」否则「元」);
      「换行变零」于(「加」于「址」于「一」)于(「减」于「长」于「一」))
  否则
    「元」
也。

「设置输入路径」乃化「整数」而「整数」也。
「设置输入路径」者会「参」而
  虑「串」者「元组项」于「参」于「零」而
  虑「基」者「加」于「送程序名区」于「输入路径偏」而
  若「等零」于(「字节数组长」于「串」)则
    ((「写四」于「基」于「零」);
      「零」)
  否则
    虑「出」者「读四」于「状态_文件系统_路径缓」而
    虑「规长」者「规范参数」于「串」于「出」而
    若「或者」于(「小于」于「规长」于「零」)于(「大于」于「规长」于「路径上限」)则「减」于「零」于「一」
    否则
      ((「写四」于「基」于「规长」);
        (「拷贝」于(「加」于「基」于「四」)于「出」于「规长」);
        「零」)
也。

「设置环境块」乃化「整数」而「整数」也。
「设置环境块」者会「参」而
  虑「串」者「元组项」于「参」于「零」而
  虑「长」者「字节数组长」于「串」而
  虑「基」者「加」于「送程序名区」于「环境偏」而
  若「等零」于「长」则
    ((「写四」于「基」于「零」);
      「零」)
  否则
    (
      若「大于」于(「加」于「长」于「一」)于「环境上限」则
        ((「写四」于「基」于「零」);
          (「减」于「零」于「一」))
      否则
        虑「无」者
          (「拷贝」于(「加」于「基」于「四」)于(「字节数组址」于「串」)于「长」)
        而
        虑「无」者
          (「写一」于(「加」于(「加」于「基」于「四」)于「长」)于「零」)
        而
        虑「无」者(「换行变零」于(「加」于「基」于「四」)于「长」)
        而
        虑「无」者(「写四」于「基」于(「加」于「长」于「一」))而
        「零」
    )
也。

「加载输入文件」乃化「有」而「有」也。
「加载输入文件」者会「无」而
  虑「基」者「加」于「程序名区」于「输入路径偏」而
  虑「长」者「读四」于「基」而
  虑「无」者(「写四」于「状态_输入缓冲」于「零」)而
  虑「无」者(「写四」于「状态_输入位」于「零」)而
  若「或者」于(「有符号小等」于「长」于「零」)于(「大于」于「长」于「路径上限」)则
    「元」
  否则
    虑「无」者
      (「写四」于「状态_回收禁」于(「加」于(「读四」于「状态_回收禁」)于「一」))
    而
    虑「路」者「新字节数组」于「长」而
    虑「无」者
      (「拷贝」于(「加」于「路」于「一六」)于(「加」于「基」于「四」)于「长」)
    而
    虑「参」者「新元组」于「一」而
    虑「无」者(「设元组项」于「参」于「零」于「路」)而
    虑「内容」者「文件原语分派」于「二九」于「参」而
    虑「无」者
      (「写四」
        于「状态_输入缓冲」
        于(「选择」于(「等零」于(「读四」于「状态_文件系统_错误码」))于「内容」于(「新字节数组」于「零」)))
    而
    「写四」于「状态_回收禁」于(「减」于(「读四」于「状态_回收禁」)于「一」)
也。

「继承当前目录」乃化「有」而「有」也。
「继承当前目录」者会「无」而
  虑「长」者「读四」于(「加」于「程序名区」于「工作目录偏」)而
  若「且」
    于(「不等于」于(「读四」于「状态_是子任务」)于「零」)
    于(「且」于(「大于」于「长」于「零」)于(「有符号小等」于「长」于「路径上限」))
  则
    ((「拷贝」
      于(「读四」于「状态_文件系统_当前目录」)
      于(「加」于(「加」于「程序名区」于「工作目录偏」)于「四」)于「长」);
      (「写四」于「状态_文件系统_当前长」于「长」))
  否则
    「元」
也。

「:文言:大程序之暂置:程序逾模块窗,则置于动态区之尾。汉语:程序字节超过模块窗口时,先在动态区尾分配一块把它拷过去,地址记入 状态_暂存址(重启准备再搬到区域起)。:」
「暂存大程序」乃化「整数」而化「整数」而「有」也。
「暂存大程序」者会「程序对象」而会「长」而
  虑「暂」者「取区域」于「长」而
  虑「无」者
    (「拷贝」于「暂」于(「加」于「程序对象」于「一六」)于「长」)
  而
  「写四」于「状态_暂存址」于「暂」
也。

「子任务改装」乃化「整数」而化「整数」而「有」也。
「子任务改装」者会「程序对象」而会「长」而
  虑「无」者
    (
      若「无符号大于」于「长」于「模块窗」则
        「暂存大程序」于「程序对象」于「长」
      否则
        「拷贝」于「模块基」于(「加」于「程序对象」于「一六」)于「长」
    )而
    虑「无」者(「拷贝」于「参数区」于「送参数区」于「参数区大小」)而
    虑「无」者
      (「拷贝」于「程序名区」于「送程序名区」于(「加」于「程序名上限」于「四」))
    而
    虑「无」者
      (「拷贝」
        于(「加」于「程序名区」于「工作目录偏」)
        于(「加」于「送程序名区」于「工作目录偏」)
        于(「加」于「路径上限」于「八」))
    而
    虑「无」者
      (「拷贝」
        于(「加」于「程序名区」于「输入路径偏」)
        于(「加」于「送程序名区」于「输入路径偏」)
        于(「加」于「路径上限」于「八」))
    而
    虑「无」者
      (「拷贝」
        于(「加」于「程序名区」于「环境偏」)
        于(「加」于「送程序名区」于「环境偏」)
        于(「加」于「环境上限」于「四」))
    而
    「写四」于「状态_待重启」于「长」
也。

「:文言:大程序落位:搬程序至区域起,余皆清零。汉语:把暂存在动态区尾的程序搬到 区域起(可能与来源重叠,拷贝是 memmove),然后把程序之后直到内存末全部清零(包括暂存的原处)。:」
「大程序落位」乃化「整数」而化「整数」而化「整数」而「有」也。
「大程序落位」者会「暂」而会「长」而会「对齐长」而
  虑「无」者(「拷贝」于「区域起」于「暂」于「长」)而
  「清零」
    于(「加」于「区域起」于「对齐长」)
    于(「减」于(「乘」于(「内存页数」于「元」)于「页字节」)于(「加」于「区域起」于「对齐长」))
也。

「重启准备」乃化「整数」而「有」也。
「重启准备」者会「长」而
  虑「暂」者「读四」于「状态_暂存址」而
  虑「对齐长」者
    「位与」于(「加」于「长」于「七」)于(「减」于「零」于「八」)而
    虑「无」者
      (
        若「不等于」于「暂」于「零」则
          「大程序落位」于「暂」于「长」于「对齐长」
        否则
          「清零」
            于「区域起」
            于(「减」于(「乘」于(「内存页数」于「元」)于「页字节」)于「区域起」)
      )
    而
    虑「无」者
      (「写四」于「状态_主程序大」于(「选择」于(「不等于」于「暂」于「零」)于「一」于「零」))
    而
    虑「无」者(「写四」于「状态_暂存址」于「零」)而
    虑「无」者(「清零」于「状基」于「一二八零」)而
    「:文言:动态区既清,旧柄表之址不可复用;留子任务之志而独清此址。汉语:动态区已清零,旧句柄表指针必须清空,使下一次启动重建根句柄;子任务身份等后段状态仍须保留。:」
    虑「无」者(「写四」于「状态_底柄_表基」于「零」)而
    虑「无」者(「写四」于「状态_模块长」于「长」)而
    虑「无」者(「写四」于「状态_块态」于「二」)而
    虑「无」者(「写一」于「测试名」于「零」)而
    虑「无」者(「写四」于「测试参数数」于「零」)而
    虑「无」者(「写四」于「状态_当前实例」于「零」)而
    虑「无」者(「写四」于「状态_实例数」于「零」)而
    虑「无」者(「写四」于「状态_请求」于「零」)而
    「写四」于「状态_待重启」于「零」
也。

「:文言:输出之捕获:父任务以邮箱收子任务之出,积于两缓冲;字节数组随需倍增。汉语:输出捕获(父任务一侧):重置捕获清空两个缓冲;捕获追加把一个字节追加到标准输出(流位 0)或标准错误(流位 1)的缓冲,满了就倍增(起始 64 字节);处理捕获消息把一条消息里的一至三个字节追加进去;接收捕获循环“阻塞等待消息、追加、回复确认”,直到等待返回空(子任务已退出);取捕获串按已用长度拷出一个新字节数组。:」
「重置捕获」乃化「有」而「有」也。
「重置捕获」者会「无」而
  虑「无」者(「写四」于「状态_捕获出引」于「零」)而
  虑「无」者(「写四」于「状态_捕获出长」于「零」)而
  虑「无」者(「写四」于「状态_捕获出容」于「零」)而
  虑「无」者(「写四」于「状态_捕获误引」于「零」)而
  虑「无」者(「写四」于「状态_捕获误长」于「零」)而
  「写四」于「状态_捕获误容」于「零」
也。

「捕获追加」乃化「整数」而化「整数」而「有」也。
「捕获追加」者会「流位」而会「字节」而
  虑「引址」者
    「选择」于(「等零」于「流位」)于「状态_捕获出引」于「状态_捕获误引」而
    虑「长」者「读四」于(「加」于「引址」于「四」)而
    虑「容」者「读四」于(「加」于「引址」于「八」)而
    虑「无」者
      (
        若「等」于「长」于「容」
        则
          虑「新容」者
            「选择」
              于(「小于」于「容」于「六四」)
              于「六四」
              于(「乘」于「容」于「二」)而
              虑「新」者「新字节数组」于「新容」而
              虑「无」者
                (
                  若「大于」于「长」于「零」则
                    「拷贝」
                      于(「加」于「新」于「一六」)
                      于(「加」于(「读四」于「引址」)于「一六」)于「长」
                  否则
                    「元」
                )
              而
              虑「无」者(「写四」于「引址」于「新」)而
              「写四」于(「加」于「引址」于「八」)于「新容」
        否则
          「元」
      )
    而
    虑「无」者
      (「写一」于(「加」于(「加」于(「读四」于「引址」)于「一六」)于「长」)于「字节」)
    而
    「写四」于(「加」于「引址」于「四」)于(「加」于「长」于「一」)
也。

「:文言:捕获一块:容不足则扩至倍或所需。汉语:把(址,数)一块字节追加到捕获缓冲(流位 0 标准输出、1 标准错误);容量不够时扩到两倍或所需大小(取大者)。原生系统读管道时用。:」
「捕获追加块」乃化「整数」而化「整数」而化「整数」而「有」也。
「捕获追加块」者会「流位」而会「址」而会「数」而
  虑「引址」者
    「选择」于(「等零」于「流位」)于「状态_捕获出引」于「状态_捕获误引」而
    虑「长」者「读四」于(「加」于「引址」于「四」)而
    虑「容」者「读四」于(「加」于「引址」于「八」)而
    虑「需」者「加」于「长」于「数」而
    虑「无」者
      (
        若「大于」于「需」于「容」
        则
          虑「新容」者
            「选择」
              于(「大于」于「需」于(「乘」于「容」于「二」))
              于「需」
              于(「乘」于「容」于「二」)而
              虑「新」者「新字节数组」于「新容」而
              虑「无」者
                (
                  若「大于」于「长」于「零」则
                    「拷贝」
                      于(「加」于「新」于「一六」)
                      于(「加」于(「读四」于「引址」)于「一六」)于「长」
                  否则
                    「元」
                )
              而
              虑「无」者(「写四」于「引址」于「新」)而
              「写四」于(「加」于「引址」于「八」)于「新容」
        否则
          「元」
      )
    而
    虑「无」者
      (「拷贝」于(「加」于(「加」于(「读四」于「引址」)于「一六」)于「长」)于「址」于「数」)
    而
    「写四」于(「加」于「引址」于「四」)于「需」
也。

「捕获字节们」乃化「整数」而「有」也。
「捕获字节们」者会「消息」而
  虑「标」者「无符号右移」于「消息」于「二四」而
  虑「数」者「位与」于「标」于「一五」而
  虑「流位」者「位与」于(「无符号右移」于「标」于「四」)于「一」而
  递归虑「逐」其化「整数」而「有」者会「位」而
    若「小于」于「位」于「数」
    则
      ((「捕获追加」于「流位」于(「位与」于(「无符号右移」于「消息」于(「乘」于「八」于「位」))于「二五五」));
        「逐」于(「加」于「位」于「一」))
    否则
      「元」
  而
  「逐」于「零」
也。

「:文言:处理一信:远程文件请求由 服务远程调用 办理并自行确认,余者为输出之字节。汉语:处理捕获消息:标为 0x60 的是子任务发来的远程文件请求头,交给 服务远程调用(它自己发过全部确认,返回 1);其余按输出字节追加,返回 0(由外层回确认)。:」
「处理捕获消息」乃化「整数」而化「整数」而「整数」也。
「处理捕获消息」者会「消息」而会「子号」而
  若「等」于(「无符号右移」于「消息」于「二四」)于「远程请求标」
  则
    「服务远程调用」于「消息」于「子号」
  否则
    ((「捕获字节们」于「消息」);
      「零」)
也。

「接收捕获」乃化「整数」而「有」也。
「接收捕获」者会「子号」而
  虑「消息」者「等待消息」于「元」而
  虑「源」者「消息来源」于「元」而
  若「小于」于「源」于「零」则
    「元」
  否则
    虑「已确认」者「处理捕获消息」于「消息」于「子号」而
    虑「无」者
      (
        若「等零」于「已确认」则
          ((「发送消息」于「子号」于「一」);
            「元」)
        否则
          「元」
      )
    而
    「接收捕获」于「子号」
也。

「排空捕获」乃化「整数」而「有」也。
「排空捕获」者会「子号」而
  虑「消息」者「接收消息」于「元」而
  虑「源」者「消息来源」于「元」而
  若「小于」于「源」于「零」则
    「元」
  否则
    虑「已确认」者「处理捕获消息」于「消息」于「子号」而
    虑「无」者
      (
        若「等零」于「已确认」则
          ((「发送消息」于「子号」于「一」);
            「元」)
        否则
          「元」
      )
    而
    「排空捕获」于「子号」
也。

「取捕获串」乃化「整数」而「整数」也。
「取捕获串」者会「流位」而
  虑「引址」者
    「选择」于(「等零」于「流位」)于「状态_捕获出引」于「状态_捕获误引」而
    虑「长」者「读四」于(「加」于「引址」于「四」)而
    虑「串」者「新字节数组」于「长」而
    虑「无」者
      (
        若「大于」于「长」于「零」则
          「拷贝」
            于(「加」于「串」于「一六」)
            于(「加」于(「读四」于「引址」)于「一六」)于「长」
        否则
          「元」
      )
    而
    「串」
也。

「:文言:运行子进程:定其路径,读其字节,送其参数,复制任务,父候子退。汉语:子进程的三段:解析并复制(把路径规范为绝对路径,查文件系统,读程序字节、写好要送给子任务的参数与程序名、复制任务)返回子任务号(父任务)、0(子任务,随后走 子任务改装 并重启)或 -1(任何准备阶段失败、没有空闲任务槽);收尾同步(父任务:模式 3 先接收捕获,再等待任务、回收任务,返回退出码);运行子进程 = 解析并复制 + 收尾同步,失败返回 子进程失败码。模式:1 继承输出,2 丢弃输出,3 捕获输出。:」
「加载并复制」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「加载并复制」者会「出」而会「长」而会「项」而会「参数对」而会「模式」而
  虑「数据长」者「读字段」于(「条目址」于「项」)于「条_数据长」而
  若「或者」于(「无符号大于」于「数据长」于「最大主程序长」)
  于(「小于」于「数据长」于「八」)
  则
    「负一」
  否则
    虑「程序」者「新字节数组」于「数据长」而
    若「不等于」于(「fs读文件」于「项」于(「加」于「程序」于「一六」))于「零」
    则
      「负一」
    否则
      (
        若「不等于」于(「存命令行参数」于「参数对」)于「零」
        则
          「负一」
        否则
          虑「无」者(「写四」于「送程序名区」于「长」)
          而
          虑「无」者
            (「拷贝」于(「加」于「送程序名区」于「四」)于「出」于「长」)
          而
          虑「无」者「传工作目录」于「元」
          而
          虑「原模式」者「读四」于「状态_是子任务」
          而
          虑「无」者(「写四」于「状态_是子任务」于「模式」)
          而
          虑「无」者
            ((「写四」于「状态_中断挂起」于「零」);
              「中断查询」于「元」)
          而
          虑「子号」者「复制任务」于「元」
          而
          若「等零」于「子号」
          则
            ((「子任务改装」于「程序」于「数据长」);
              「零」)
          否则
            虑「无」者(「写四」于「状态_是子任务」于「原模式」)
            而
            虑「无」者
              (「写四」于(「加」于「送程序名区」于「输入路径偏」)于「零」)
            而
            虑「无」者
              (「写四」于(「加」于「送程序名区」于「环境偏」)于「零」)
            而
            若「小于」于「子号」于「零」则「负一」否则「子号」
      )
也。

「解析并复制」乃化「整数」而化「整数」而化「整数」而「整数」也。
「解析并复制」者会「名对象」而会「参数对」而会「模式」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于「名对象」于「出」而
  若「或者」于(「小于」于「长」于「零」)于(「大于」于「长」于「程序名上限」)
  则
    「负一」
  否则
    虑「项」者「索引查」于「出」于「长」而
    若「小于」于「项」于「零」
    则
      「负一」
    否则
      (
        若「不等于」于(「项种类」于「项」)于「种类_文件」
        则
          「负一」
        否则
          「加载并复制」于「出」于「长」于「项」于「参数对」于「模式」
      )
也。

「收尾同步」乃化「整数」而化「整数」而「整数」也。
「收尾同步」者会「子号」而会「模式」而
  虑「无」者「接收捕获」于「子号」而
  虑「码」者「等待任务」于「子号」而
  虑「无」者「回收任务」于「子号」而
  「码」
也。

「运行子进程」乃化「整数」而化「整数」而化「整数」而「整数」也。
「运行子进程」者会「名对象」而会「参数对」而会「模式」而
  虑「子号」者「解析并复制」于「名对象」于「参数对」于「模式」而
  若「小于」于「子号」于「零」则
    「子进程失败码」
  否则
    (若「等零」于「子号」则「零」否则「收尾同步」于「子号」于「模式」)
也。

「:文言:子进程诸原语之门:四十三继承流,四十四传递出,四十五弃其出而返爻,四十六捕其出而返三元组。汉语:宿主原语 43(继承标准流)、44(传递输出)返回退出码;45(运行,丢弃输出)返回“退出码是否为零”的爻;46(获取输出)捕获子进程的标准输出与标准错误,返回(退出码是否为零,标准输出,标准错误)三元组,启动失败得(假,空,空)。:」
「子进程原语」乃化「整数」而化「整数」而「整数」也。
「子进程原语」者会「号」而会「参」而
  若「等」于「号」于「四六」
  则
    虑「无」者「重置捕获」于「元」而
    虑「码」者
      「运行子进程」于(「元组项」于「参」于「零」)于(「元组项」于「参」于「一」)于「三」而
      虑「结果」者「新元组」于「三」而
      虑「无」者
        (「设元组项」于「结果」于「零」于(「装箱整」于(「爻整」于(「等零」于「码」))))而
        虑「无」者
          (「设元组项」于「结果」于「一」于(「取捕获串」于「零」))而
          虑「无」者
            (「设元组项」于「结果」于「二」于(「取捕获串」于「一」))
          而
          「结果」
  否则
    虑「模式」者「选择」于(「等」于「号」于「四五」)于「二」于「一」而
    虑「码」者
      「运行子进程」于(「元组项」于「参」于「零」)于(「元组项」于「参」于「一」)于「模式」
    而
    若「等」于「号」于「四五」
    则
      「装箱整」于(「爻整」于(「等零」于「码」))
    否则
      「装箱整」于「码」
也。

「:文言:异步子进程:启而不候;收之则排空邮箱、察其已毕否。汉语:异步子进程(一次只能有一个,内核只有两个任务槽):启动异步子进程解析并复制(模式 3)后立即返回句柄 1(失败为负:已有异步子进程 -24、路径或加载失败 -2);尝试收取异步子进程排空邮箱(对每条消息回复确认)、看任务状态位 4,未结束返回(0,0,0,空,空),已结束则取退出码、回收任务、返回(1,任务号,退出码,标准输出,标准错误);输入输出多路等待不真等,对每个关注项报告“就绪”(事件即所关注的掩码),使异步框架转回来轮询。:」
「异步结果」乃化「整数」而化「整数」而化「整数」而化「整数」而「整数」也。
「异步结果」者会「完成」而会「号」而会「码」而会「带串」而
  虑「结果」者「新元组」于「五」而
  虑「无」者(「设元组项」于「结果」于「零」于(「装箱整」于「完成」))而
  虑「无」者(「设元组项」于「结果」于「一」于(「装箱整」于「号」))而
  虑「无」者(「设元组项」于「结果」于「二」于(「装箱整」于「码」))而
  虑「无」者
    (「设元组项」
      于「结果」
      于「三」
      于(「选择」于(「不等于」于「带串」于「零」)于(「取捕获串」于「零」)于(「新字节数组」于「零」)))而
      虑「无」者
        (「设元组项」
          于「结果」
          于「四」
          于(「选择」于(「不等于」于「带串」于「零」)于(「取捕获串」于「一」)于(「新字节数组」于「零」)))
      而
      「结果」
也。

「启动异步原语」乃化「整数」而「整数」也。
「启动异步原语」者会「参」而
  若「不等于」于(「读四」于「状态_异步子号」)于「零」则
    「装箱整」于(「减」于「零」于「二四」)
  否则
    虑「无」者「重置捕获」于「元」而
    虑「子号」者
      「解析并复制」于(「元组项」于「参」于「零」)于(「元组项」于「参」于「一」)于「三」
    而
    若「小于」于「子号」于「零」则
      「装箱整」于(「减」于「零」于「二」)
    否则
      (
        若「等零」于「子号」则「装箱整」于「零」
        否则
          ((「写四」于「状态_异步子号」于(「加」于「子号」于「一」));
            「装箱整」于「一」)
      )
也。

「收取异步原语」乃化「整数」而「整数」也。
「收取异步原语」者会「参」而
  虑「登记」者「读四」于「状态_异步子号」而
  虑「无」者
    (「若则致命」于(「等零」于「登记」)于「一二七」于(「静态串」于『无效的异步子进程句柄』))而
    虑「子号」者「减」于「登记」于「一」而
    虑「无」者(「排空捕获」于「子号」)而
    虑「状」者「任务状态」于「子号」而
    若「等零」于(「位与」于「状」于「四」)
    则
      「异步结果」于「零」于「零」于「零」于「零」
    否则
      虑「无」者(「排空捕获」于「子号」)
      而
      虑「码」者「任务退出码」于「子号」
      而
      虑「无」者「回收任务」于「子号」
      而
      虑「无」者(「写四」于「状态_异步子号」于「零」)而
      「异步结果」于「一」于「子号」于「码」于「一」
也。

「多路等待原语」乃化「整数」而「整数」也。
「多路等待原语」者会「参」而
  虑「关注」者「元组项」于「参」于「零」而
  虑「项们」者「元组项」于「关注」于「零」而
  虑「无」者
    (「拆箱」于(「元组项」于「关注」于「一」)于「状态_临时」)而
    虑「个数」者「读四」于「状态_临时」而
    虑「事件们」者「新元组」于「个数」而
    虑「无」者
      (
        递归虑「逐」其化「整数」而「有」者会「位」而
          若「小于」于「位」于「个数」
          则
            ((「设元组项」于「事件们」于「位」于(「元组项」于(「元组项」于「项们」于「位」)于「一」));
              「逐」于(「加」于「位」于「一」))
          否则
            「元」
        而
        「逐」于「零」
      )
    而
    虑「对」者「新元组」于「二」而
    虑「无」者(「设元组项」于「对」于「零」于「事件们」)而
    虑「无」者(「设元组项」于「对」于「一」于(「装箱整」于「个数」))而
    虑「结果」者「新元组」于「二」而
    虑「无」者(「设元组项」于「结果」于「零」于(「装箱整」于「零」))而
    虑「无」者(「设元组项」于「结果」于「一」于「对」)而
    「结果」
也。