豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 502 行 · 24003 字节 · UTF-8
§
寻观「底层库」之书。
寻观「客体二号」之「布局」之书。
寻观「客体二号」之「平台」之书。
寻观「客体二号」之「基础」之书。
寻观「客体二号」之「实例」之书。
寻观「客体二号」之「模块」之书。
寻观「客体二号」之「堆」之书。
寻观「客体二号」之「对象」之书。
寻观「客体二号」之「文件系统」之书。
寻观「客体二号」之「宿主对象」之书。

「:文言:文件相关之宿主原语:名与义皆合标准库“文件系统”之原语;今二十八至三十六、三十九号已由垫层经底层接口行之,余仍循此旧途。汉语:文件宿主原语与标准库 文件系统 的名字和语义对齐;编号 28–36、39 已由垫层改经底层接口,其余操作仍沿本模块实现。路径先规范为绝对路径。:」

「:文言:路径之规范。汉语:路径规范化。输出到 出(至少 2048 字节),返回长度,失败为 -1。:」
「跳过斜线」乃化「整数」而化「整数」而化「整数」而「整数」也。
「跳过斜线」者会「址」而会「长」而会「起」而
  若「且」于(「小于」于「起」于「长」)于(「等」于(「读一」于(「加」于「址」于「起」))于「四七」)
  则
    「跳过斜线」于「址」于「长」于(「加」于「起」于「一」)
  否则
    「起」
也。

「段结束」乃化「整数」而化「整数」而化「整数」而「整数」也。
「段结束」者会「址」而会「长」而会「起」而
  若「且」于(「小于」于「起」于「长」)于(「不等于」于(「读一」于(「加」于「址」于「起」))于「四七」)
  则
    「段结束」于「址」于「长」于(「加」于「起」于「一」)
  否则
    「起」
也。

「回退一级」乃化「整数」而化「整数」而「整数」也。
「回退一级」者会「出」而
  会「输出长」而
    递归虑「逐」其化「整数」而「整数」者会「位」而
      若「且」
        于(「大于」于「位」于「零」)
        于(「不等于」于(「读一」于(「加」于「出」于(「减」于「位」于「一」)))于「四七」)
      则
        「逐」于(「减」于「位」于「一」)
      否则
        「选择」于(「大于」于「位」于「零」)于(「减」于「位」于「一」)于「位」
    而
    「逐」于「输出长」
也。

「是点段」乃化「整数」而化「整数」而化「整数」而「爻」也。
「是点段」者会「址」而会「段起」而会「段长」而
  「且」于(「等」于「段长」于「一」)于(「等」于(「读一」于(「加」于「址」于「段起」))于「四六」)
也。

「是双点段」乃化「整数」而化「整数」而化「整数」而「爻」也。
「是双点段」者会「址」而会「段起」而会「段长」而
  「且」
    于(「等」于「段长」于「二」)
    于(「且」
      于(「等」于(「读一」于(「加」于「址」于「段起」))于「四六」)
      于(「等」于(「读一」于(「加」于「址」于(「加」于「段起」于「一」)))于「四六」))
也。

「追加段」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「有」
也。
「追加段」者会「址」而会「出」而会「段起」而会「段长」而会「输出长」而
  虑「无」者(「写一」于(「加」于「出」于「输出长」)于「四七」)而
  「拷贝」于(「加」于「出」于(「加」于「输出长」于「一」))
  于(「加」于「址」于「段起」)于「段长」
也。

「规范逐段」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「整数」
也。
「规范逐段」者会「址」而会「长」而会「出」而会「起」而会「输出长」而
  若「小于」于「起」于「长」
  则
    虑「段起」者「跳过斜线」于「址」于「长」于「起」而
    虑「段末」者「段结束」于「址」于「长」于「段起」而
    虑「段长」者「减」于「段末」于「段起」而
    若「有符号小等」于「段长」于「零」
    则
      「规范逐段」于「址」于「长」于「出」于「段末」于「输出长」
    否则
      (
        若「是点段」于「址」于「段起」于「段长」
        则
          「规范逐段」于「址」于「长」于「出」于「段末」于「输出长」
        否则
          (
            若「是双点段」于「址」于「段起」于「段长」
            则
              「规范逐段」
                于「址」
                于「长」于「出」于「段末」
                于(「回退一级」于「出」于「输出长」)
            否则
              (
                若「大于」
                  于(「加」于(「加」于「输出长」于「一」)于「段长」)
                  于「路径上限」
                则
                  「负一」
                否则
                  ((「追加段」于「址」于「出」于「段起」于「段长」于「输出长」);
                    「规范逐段」
                      于「址」
                      于「长」
                      于「出」
                      于「段末」
                      于(「加」于(「加」于「输出长」于「一」)于「段长」))
              )
          )
      )
  否则
    「输出长」
也。

「当前目录前缀」乃化「整数」而「整数」也。
「当前目录前缀」者会「出」而
  虑「长」者「读四」于「状态_文件系统_当前长」而
  虑「无」者
    (「拷贝」于「出」于(「读四」于「状态_文件系统_当前目录」)于「长」)
  而
  「选择」于(「等」于「长」于「一」)于「零」于「长」
也。

「规范路径」乃化「整数」而化「整数」而化「整数」而「整数」也。
「规范路径」者会「址」而会「长」而会「出」而
  虑「绝对」者
    「且」于(「大于」于「长」于「零」)于(「等」于(「读一」于「址」)于「四七」)而
    虑「初长」者(若「绝对」则「零」否则「当前目录前缀」于「出」)而
    虑「结果」者「规范逐段」于「址」于「长」于「出」于「零」于「初长」而
    若「小于」于「结果」于「零」则「结果」
    否则
      (
        若「等零」于「结果」则
          ((「写一」于「出」于「四七」);
            「一」)
        否则
          「结果」
      )
也。

「规范参数」乃化「整数」而化「整数」而「整数」也。
「规范参数」者会「引用」而会「出」而
  虑「无」者(「空引用检」于「引用」)而
  「规范路径」于(「加」于「引用」于「一六」)于(「字节数组长」于「引用」)于「出」
也。

「:文言:祖先目录之建与目录之列。汉语:创建路径的全部缺失祖先目录(不含路径自身),成功返回 0;当前目录对象;目录子项数;列目录对象(. 与 .. 在前)。:」
「建祖先一」乃化「整数」而化「整数」而「整数」也。
「建祖先一」者会「址」而会「位」而
  若「且」
    于(「等」于(「读一」于(「加」于「址」于「位」))于「四七」)
    于(「小于」于(「索引查」于「址」于「位」)于「零」)
  则
    「fs建目录」于「址」于「位」
  否则
    「零」
也。

「建祖先」乃化「整数」而化「整数」而「整数」也。
「建祖先」者会「址」而
  会「长」而
    递归虑「逐」其化「整数」而「整数」者会「位」而
      若「小于」于「位」于「长」
      则
        虑「果」者「建祖先一」于「址」于「位」而
        若「不等于」于「果」于「零」则「果」否则「逐」于(「加」于「位」于「一」)
      否则
        「零」
    而
    「逐」于「一」
也。

「当前目录对象」乃化「有」而「整数」也。
「当前目录对象」者会「无」而
  虑「长」者「读四」于「状态_文件系统_当前长」而
  虑「对象」者「新字节数组」于「长」而
  虑「无」者
    (「拷贝」于(「加」于「对象」于「一六」)于(「读四」于「状态_文件系统_当前目录」)于「长」)
  而
  「对象」
也。

「是直接子项」乃化「整数」而化「整数」而化「整数」而「爻」也。
「是直接子项」者会「条」而会「址」而会「长」而
  虑「路径址」者「读字段」于「条」于「条_路径址」而
  虑「路径长」者「读字段」于「条」于「条_路径长」而
  「且」
    于(「且」于(「不等于」于(「读字段」于「条」于「条_种类」)于「零」)于(「大于」于「路径长」于「长」))
    于(「且」于(「等」于(「父长」于「路径址」于「路径长」)于「长」)于(「相同字节」于「路径址」于「址」于「长」))
也。

「子项数」乃化「整数」而化「整数」而「整数」也。
「子项数」者会「址」而会「长」而
  虑「个数」者「读四」于「状态_文件系统_条目数」而
  递归虑「逐」其化「整数」而化「整数」而「整数」者会「序」而
  会「数」而
  若「小于」于「序」于「个数」
  则
    「逐」
      于(「加」于「序」于「一」)
      于(「加」于「数」于(「爻整」于(「是直接子项」于(「条目址」于「序」)于「址」于「长」)))
  否则
    「数」
  而
  「逐」于「一」于「零」
也。

「登记子项名们」乃
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  化「整数」而
  「有」
也。
「登记子项名们」者会「内」而会「址」而会「长」而会「序」而会「位」而
  若「小于」于「序」于(「读四」于「状态_文件系统_条目数」)
  则
    虑「条」者「条目址」于「序」而
    若「是直接子项」于「条」于「址」于「长」
    则
      虑「路径址」者「读字段」于「条」于「条_路径址」而
      虑「路径长」者「读字段」于「条」于「条_路径长」而
      虑「名起」者
        「选择」于(「等」于「长」于「一」)于「一」于(「加」于「长」于「一」)而
        虑「名」者「新字节数组」于(「减」于「路径长」于「名起」)而
        虑「无」者
          (「拷贝」于(「加」于「名」于「一六」)于(「加」于「路径址」于「名起」)于(「减」于「路径长」于「名起」))
        而
        虑「无」者(「设元组项」于「内」于「位」于「名」)而
        「登记子项名们」
          于「内」
          于「址」
          于「长」
          于(「加」于「序」于「一」)
          于(「加」于「位」于「一」)
    否则
      「登记子项名们」于「内」于「址」于「长」于(「加」于「序」于「一」)于「位」
  否则
    「元」
也。

「列目录对象」乃化「整数」而化「整数」而「整数」也。
「列目录对象」者会「址」而会「长」而
  虑「数」者「子项数」于「址」于「长」而
  虑「内」者「新元组」于(「加」于「数」于「二」)而
  虑「点名」者「新字节数组」于「一」而
  虑「无」者(「写一」于(「加」于「点名」于「一六」)于「四六」)而
  虑「无」者(「设元组项」于「内」于「零」于「点名」)而
  虑「双点名」者「新字节数组」于「二」而
  虑「无」者(「写一」于(「加」于「双点名」于「一六」)于「四六」)而
  虑「无」者(「写一」于(「加」于「双点名」于「一七」)于「四六」)而
  虑「无」者(「设元组项」于「内」于「一」于「双点名」)而
  虑「无」者「登记子项名们」于「内」于「址」于「长」于「一」于「二」而
  虑「外」者「新元组」于「二」而
  虑「无」者(「设元组项」于「外」于「零」于「内」)而
  虑「无」者
    (「设元组项」于「外」于「一」于(「装箱整」于(「加」于「数」于「二」)))
  而
  「外」
也。

「:文言:诸原语之行:各取参数元组,返结果引用(无结果者为零)。汉语:文件系统宿主原语的实现:每个函数取参数元组,返回结果引用(无结果者为 0);错误码记入 状态_文件系统_错误码。:」
「项种类」乃化「整数」而「整数」也。
「项种类」者会「项」而
  若「有符号大等」于「项」于「零」则
    「读字段」于(「条目址」于「项」)于「条_种类」
  否则
    「零」
也。

「路径项」乃化「整数」而化「整数」而「整数」也。
「路径项」者会「出」而会「长」而
  若「有符号大等」于「长」于「零」则
    「索引查」于「出」于「长」
  否则
    「负一」
也。

「路径查询结果」乃化「整数」而化「整数」而「整数」也。
「路径查询结果」者会「号」而会「项」而
  若「小于」于「项」于「零」则
    「零」
  否则
    (
      若「等」于「号」于「三四」则
        「一」
      否则
        (
          若「等」于「号」于「三五」则
            「爻整」于(「等」于(「项种类」于「项」)于「种类_目录」)
          否则
            「爻整」于(「等」于(「项种类」于「项」)于「种类_文件」)
        )
    )
也。

「文件查询原语」乃化「整数」而化「整数」而「整数」也。
「文件查询原语」者会「号」而会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「项」者「路径项」于「出」于「长」而
  「装箱整」于(「路径查询结果」于「号」于「项」)
也。

「读文件原语」乃化「整数」而「整数」也。
「读文件原语」者会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「项」者「路径项」于「出」于「长」而
  若「等」于(「项种类」于「项」)于「种类_文件」
  则
    虑「数据长」者「读字段」于(「条目址」于「项」)于「条_数据长」而
    虑「对象」者「新字节数组」于「数据长」而
    虑「果」者「fs读文件」于「项」于(「加」于「对象」于「一六」)而
    虑「无」者(「写四」于「状态_文件系统_错误码」于「果」)而
    「对象」
  否则
    虑「无」者(「写四」于「状态_文件系统_错误码」于「错_不存在」)而
    「新字节数组」于「零」
也。

「写文件并建祖先」乃化「整数」而化「整数」而化「整数」而「整数」也。
「写文件并建祖先」者会「出」而会「长」而会「字节」而
  虑「果」者「建祖先」于「出」于「长」而
  若「不等于」于「果」于「零」则
    「果」
  否则
    「fs写文件」于「出」于「长」于(「加」于「字节」于「一六」)
    于(「字节数组长」于「字节」)
也。

「写文件原语」乃化「整数」而「整数」也。
「写文件原语」者会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「字节」者「元组项」于「参」于「一」而
  虑「无」者(「空引用检」于「字节」)而
  虑「果」者
    (若「有符号大等」于「长」于「零」则「写文件并建祖先」于「出」于「长」于「字节」否则「错_参数」)而
    虑「无」者(「写四」于「状态_文件系统_错误码」于「果」)而
    「零」
也。

「删除文件原语」乃化「整数」而「整数」也。
「删除文件原语」者会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「果」者
    (若「有符号大等」于「长」于「零」则「fs删除」于「出」于「长」否则「错_参数」)而
    虑「无」者(「写四」于「状态_文件系统_错误码」于「果」)而
    「零」
也。

「建文件夹」乃化「整数」而化「整数」而「整数」也。
「建文件夹」者会「出」而会「长」而
  虑「果」者「建祖先」于「出」于「长」而
  若「不等于」于「果」于「零」则
    「果」
  否则
    (若「有符号大等」于(「索引查」于「出」于「长」)于「零」则「零」否则「fs建目录」于「出」于「长」)
也。

「创建文件夹原语」乃化「整数」而「整数」也。
「创建文件夹原语」者会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「果」者
    (若「有符号大等」于「长」于「零」则「建文件夹」于「出」于「长」否则「错_参数」)而
    虑「无」者(「写四」于「状态_文件系统_错误码」于「果」)而
    「装箱整」于「果」
也。

「列出文件夹原语」乃化「整数」而「整数」也。
「列出文件夹原语」者会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「项」者「路径项」于「出」于「长」而
  若「等」于(「项种类」于「项」)于「种类_目录」
  则
    「列目录对象」于「出」于「长」
  否则
    虑「无」者(「写四」于「状态_文件系统_错误码」于「错_不存在」)而
    虑「空组」者「新元组」于「零」而
    虑「结果」者「新元组」于「二」而
    虑「无」者(「设元组项」于「结果」于「零」于「空组」)而
    虑「无」者(「设元组项」于「结果」于「一」于(「装箱整」于「零」))而
    「结果」
也。

「切换目录检查」乃化「整数」而化「整数」而「整数」也。
「切换目录检查」者会「出」而会「长」而
  虑「项」者「索引查」于「出」于「长」而
  若「小于」于「项」于「零」则
    「错_不存在」
  否则
    (
      若「不等于」于(「项种类」于「项」)于「种类_目录」则
        「错_类型」
      否则
        虑「无」者
          (「拷贝」于(「读四」于「状态_文件系统_当前目录」)于「出」于「长」)
        而
        虑「无」者(「写四」于「状态_文件系统_当前长」于「长」)而
        「零」
    )
也。

「切换目录原语」乃化「整数」而「整数」也。
「切换目录原语」者会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「果」者
    (若「有符号大等」于「长」于「零」则「切换目录检查」于「出」于「长」否则「错_参数」)而
    虑「结果」者「新元组」于「二」而
    虑「无」者(「设元组项」于「结果」于「零」于(「装箱整」于「果」))而
    虑「无」者
      (「设元组项」于「结果」于「一」于(「新字节数组」于「零」))
    而
    「结果」
也。

「格式化原语」乃化「有」而「整数」也。
「格式化原语」者会「无」而
  虑「果」者「文件系统格式化」于「元」而
  虑「无」者(「写四」于「状态_文件系统_错误码」于「果」)而
  「装箱整」于「果」
也。

「挂载原语」乃化「有」而「整数」也。
「挂载原语」者会「无」而
  虑「果」者「文件系统挂载」于「元」而
  虑「无」者(「写四」于「状态_文件系统_错误码」于「果」)而
  「装箱整」于「果」
也。

「:文言:文件之大小:不读其内容而得其长;不为文件则返负一。汉语:获取文件大小(原语 72,供文件状态查询等用,可远程):返回文件的字节数(装箱整数),路径不存在或不是普通文件返回 -1 并置错误码 错_不存在。:」
「文件大小原语」乃化「整数」而「整数」也。
「文件大小原语」者会「参」而
  虑「出」者「读四」于「状态_文件系统_路径缓」而
  虑「长」者「规范参数」于(「元组项」于「参」于「零」)于「出」而
  虑「项」者「路径项」于「出」于「长」而
  若「等」于(「项种类」于「项」)于「种类_文件」
  则
    「装箱整」于(「读字段」于(「条目址」于「项」)于「条_数据长」)
  否则
    ((「写四」于「状态_文件系统_错误码」于「错_不存在」);
      「装箱整」于(「减」于「零」于「一」))
也。

「宿主文件调用」乃化「整数」而化「整数」而「整数」也。
「宿主文件调用」者会「号」而会「参」而
  鉴「号」而
    有「三四」则
      「文件查询原语」于「号」于「参」
    或有「三五」则
      「文件查询原语」于「号」于「参」
    或有「三六」则
      「文件查询原语」于「号」于「参」
    或有「二八」则
      「读文件原语」于「参」
    或有「二九」则
      「读文件原语」于「参」
    或有「三零」则
      「写文件原语」于「参」
    或有「三一」则
      「写文件原语」于「参」
    或有「三二」则
      「删除文件原语」于「参」
    或有「三九」则
      「创建文件夹原语」于「参」
    或有「三三」则
      「列出文件夹原语」于「参」
    或有「三七」则「装箱整」于「零」
    或有「三八」则
      「切换目录原语」于「参」
    或有「四零」则
      「格式化原语」于「元」
    或有「四一」则「挂载原语」于「元」
    或有「四二」则
      「装箱整」于(「读四」于「状态_文件系统_错误码」)
    或有「七二」则
      「文件大小原语」于「参」
    或有「其他」则
      ((「打印零串」于(「静态串」于『未实现的宿主文件原语』));
        (「写字节」于「一零」);
        (「退出任务」于「一三六」);
        「零」)
也。