豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 424 行 · 25705 字节 · UTF-8
§
寻观「编译器核心」之「网页汇编核心」之「二进制生成」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「整数小数解析」之书。
寻观「编译器核心」之「网页汇编核心」之「二进制读取」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「标准库」之「语言核心」之「不安全」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「注释操作」之书。
寻观「标准库」之书。
寻观「编译器核心」之「网页汇编核心」之「模块结构」之书。
寻观「编译器核心」之「网页汇编核心」之「模块验证」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻观「编译器核心」之「编译步骤」之「总体过程」之「阶段源码基础」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「词法解析」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「表达式解析」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「抽象语法分析工具」之书。

「:文言:借本语词法,读而不执行。汉语:阶段文本是严格形状的扩展列,不调用普通程序的求值器;所有索引从零开始。:」
「网页文本读数字」乃化「字符串」而「整数」也。
「网页文本读数字」者会「名」而
  虑「负」者
    「或者」于(「串开头是它吗」于『负』于「名」)于(「串开头是它吗」于『-』于「名」)而
    虑「数字」者
      若「负」则「去除串开头」于(
        若「串开头是它吗」于『负』于「名」则『负』否则『-』)于「名」
      否则
        「名」
    而
    虑「字」者「获取字符」于「数字」而
    若「或者」
      于(「等于」于(「长度」授以「字符串」于「字」)于「零」)
      于(「大于」于(「长度」授以「字符串」于「字」)于「一零」)则「发生事故」
        于『整数立即数字数不符』
    否则
      虑「数」者「编译整数」于「字」
      而
      若「负」则「减」于「零」于「数」否则「数」
也。

「网页文本取整数」乃化「表达式」而「整数」也。
「网页文本取整数」者会「式」而
  鉴「去除表达式表层注释」于「式」而
    有「式节点」于(「整数节点」于「数」)于「罄」则「数」
    或有「自由变量」于「名」则
      「网页文本读数字」于「名」
    或有「其他」则
      「发生事故」于『期待整数立即数』
也。

「网页文本整数表示」乃化「整数」而「字符串」也。
「网页文本整数表示」者会「数」而
  『「』附(「间合」
    于『』
    于(「态射」授以「字符串」授以「字符串」
      于(「获取字符」于(「整数表示」于「数」))
      于(会「字」而鉴「字」而
          有『-』则『负』
          或有『0』则『零』
          或有『1』则『一』
          或有『2』则『二』
          或有『3』则『三』
          或有『4』则『四』
          或有『5』则『五』
          或有『6』则『六』
          或有『7』则『七』
          或有『8』则『八』
          或有『9』则『九』
          或有「其他」则
            「发生事故」于『整数表示含非法字符』
      )))附『」』
也。

「网页文本名称表示」乃化「字符串」而「字符串」也。
「网页文本名称表示」者会「名」而
  虑「字」者「字符串转字节串」于「名」而
  虑「项」者
    「态射」授以「整数」授以「整数」
    于(「整数范围」于「零」于(「字节串长度」于「字」))
    于(会「位」而「字节串取字节」于「字」于「位」)而
      若「存在吗」于(会「值」而「等于」于「值」于「零」)于「项」则
        「源码扩展表示」
          于『名称字节』
          于(「态射」于「项」于「网页文本整数表示」)
      否则
        「中间串表示」于「名」
也。

「网页文本取名称」乃化「表达式」而「字符串」也。
「网页文本取名称」者会「式」而
  鉴「去除表达式表层注释」于「式」而
    有「式节点」于(「字符串节点」于「名」)于「罄」则「名」
    或有「其他」则
      虑「项」者
        「态射」授以「表达式」授以「整数」
        于((「源码取扩展」于「式」)中「一」)于「网页文本取整数」而
        虑「名检」者
          若「串相等」
            于((「源码取扩展」于「式」)中「零」)于『《《名称字节》》』则
              「元」
          否则
            「发生事故」授以「有」于『期待字符串或名称字节』
        而
        虑「范围检」者
          若「全部符合」
            于(会「字」而「且」于(「非」于(「小于」于「字」于「零」))于(「小于」于「字」于「二五六」))
            于「项」则
            「元」
          否则
            「发生事故」授以「有」于『名称字节越界』
        而
        虑「检」者「网页验名字节」于「项」于「零」于「零」于「零」而
        「不安全转换」授以「字节串」授以「字符串」
        于(「网页拼字节」于(「态射」于「项」于「单字节串」))
也。

「网页指令名参」乃化「网页指令」而(「字符串」合(「列」于「字符串」))也。
「网页指令名参」者会「令」而
  鉴「令」而
    有「网页常量」于「数」则
      『整数三十二位常量』与(「列」【「网页文本整数表示」于「数」】)
    或有「网页局部读取」于「号」则
      『局部读取』与(「列」【「网页文本整数表示」于「号」】)
    或有「网页局部写入」于「号」则
      『局部写入』与(「列」【「网页文本整数表示」于「号」】)
    或有「网页局部暂存」于「号」则
      『局部暂存』与(「列」【「网页文本整数表示」于「号」】)
    或有「网页调用」于「号」则
      『调用』与(「列」【「网页文本整数表示」于「号」】)
    或有「网页为零」则
      『整数三十二位为零』与(「罄」授以「字符串」)
    或有「网页相等」则
      『整数三十二位相等』与(「罄」授以「字符串」)
    或有「网页不等」则
      『整数三十二位不等』与(「罄」授以「字符串」)
    或有「网页有符号小于」则
      『整数三十二位有符号小于』与(「罄」授以「字符串」)
    或有「网页无符号小于」则
      『整数三十二位无符号小于』与(「罄」授以「字符串」)
    或有「网页有符号大于」则
      『整数三十二位有符号大于』与(「罄」授以「字符串」)
    或有「网页无符号大于」则
      『整数三十二位无符号大于』与(「罄」授以「字符串」)
    或有「网页有符号小等」则
      『整数三十二位有符号小等』与(「罄」授以「字符串」)
    或有「网页无符号小等」则
      『整数三十二位无符号小等』与(「罄」授以「字符串」)
    或有「网页有符号大等」则
      『整数三十二位有符号大等』与(「罄」授以「字符串」)
    或有「网页无符号大等」则
      『整数三十二位无符号大等』与(「罄」授以「字符串」)
    或有「网页加」则
      『整数三十二位加』与(「罄」授以「字符串」)
    或有「网页减」则
      『整数三十二位减』与(「罄」授以「字符串」)
    或有「网页乘」则
      『整数三十二位乘』与(「罄」授以「字符串」)
    或有「网页有符号除」则
      『整数三十二位有符号除』与(「罄」授以「字符串」)
    或有「网页无符号除」则
      『整数三十二位无符号除』与(「罄」授以「字符串」)
    或有「网页有符号余」则
      『整数三十二位有符号余』与(「罄」授以「字符串」)
    或有「网页无符号余」则
      『整数三十二位无符号余』与(「罄」授以「字符串」)
    或有「网页按位与」则
      『整数三十二位按位与』与(「罄」授以「字符串」)
    或有「网页按位或」则
      『整数三十二位按位或』与(「罄」授以「字符串」)
    或有「网页按位异或」则
      『整数三十二位按位异或』与(「罄」授以「字符串」)
    或有「网页左移」则
      『整数三十二位左移』与(「罄」授以「字符串」)
    或有「网页有符号右移」则
      『整数三十二位有符号右移』与(「罄」授以「字符串」)
    或有「网页无符号右移」则
      『整数三十二位无符号右移』与(「罄」授以「字符串」)
    或有「网页循环左移」则
      『整数三十二位循环左移』与(「罄」授以「字符串」)
    或有「网页循环右移」则
      『整数三十二位循环右移』与(「罄」授以「字符串」)
    或有「网页块」于「数」则
      『块』与(「列」【「网页文本整数表示」于「数」】)
    或有「网页循环」于「数」则
      『循环』与(「列」【「网页文本整数表示」于「数」】)
    或有「网页条件」于「数」则
      『条件』与(「列」【「网页文本整数表示」于「数」】)
    或有「网页否则」则
      『否则』与(「罄」授以「字符串」)
    或有「网页结束」则
      『结束』与(「罄」授以「字符串」)
    或有「网页跳转」于「数」则
      『跳转』与(「列」【「网页文本整数表示」于「数」】)
    或有「网页条件跳转」于「数」则
      『条件跳转』与(「列」【「网页文本整数表示」于「数」】)
    或有「网页返回」则
      『返回』与(「罄」授以「字符串」)
    或有「网页陷阱」则
      『陷阱』与(「罄」授以「字符串」)
    或有「网页内存读四」于「甲」于「乙」则
      『内存读四』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存读八有符号」于「甲」于「乙」则
      『内存读八有符号』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存读八无符号」于「甲」于「乙」则
      『内存读八无符号』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存读十六有符号」于「甲」于「乙」则
      『内存读十六有符号』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存读十六无符号」于「甲」于「乙」则
      『内存读十六无符号』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存写四」于「甲」于「乙」则
      『内存写四』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存写八」于「甲」于「乙」则
      『内存写八』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存写十六」于「甲」于「乙」则
      『内存写十六』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存大小」于「甲」则
      『内存大小』与(「列」【「网页文本整数表示」于「甲」】)
    或有「网页内存增长」于「甲」则
      『内存增长』与(「列」【「网页文本整数表示」于「甲」】)
    或有「网页内存初始化令」于「甲」于「乙」则
      『内存初始化』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页数据丢弃」于「甲」则
      『数据丢弃』与(「列」【「网页文本整数表示」于「甲」】)
    或有「网页内存复制令」于「甲」于「乙」则
      『内存复制』
        与(「列」【「网页文本整数表示」于「甲」,「网页文本整数表示」于「乙」】)
    或有「网页内存填充令」于「甲」则
      『内存填充』与(「列」【「网页文本整数表示」于「甲」】)
    或有「网页选择」则
      『选择』与(「罄」授以「字符串」)
    或有「网页弃值」则
      『弃值』与(「罄」授以「字符串」)
    或有「网页空操作」则
      『空操作』与(「罄」授以「字符串」)
也。

「网页指令表示」乃化「网页指令」而「字符串」也。
「网页指令表示」者会「令」而
  虑「名参」者「网页指令名参」于「令」而
  「源码扩展表示」于(「名参」中「零」)于(「名参」中「一」)
也。

「网页读指令」乃化「表达式」而「网页指令」也。
「网页读指令」者会「式」而
  鉴「源码取扩展」于「式」而
    有『《《整数三十二位常量》》』与(「列」【「数」】)则
      「网页常量」于(「网页文本取整数」于「数」)
    或有『《《局部读取》》』与(「列」【「号」】)则
      「网页局部读取」于(「网页文本取整数」于「号」)
    或有『《《局部写入》》』与(「列」【「号」】)则
      「网页局部写入」于(「网页文本取整数」于「号」)
    或有『《《局部暂存》》』与(「列」【「号」】)则
      「网页局部暂存」于(「网页文本取整数」于「号」)
    或有『《《调用》》』与(「列」【「号」】)则
      「网页调用」于(「网页文本取整数」于「号」)
    或有『《《整数三十二位为零》》』与「罄」则「网页为零」
    或有『《《整数三十二位相等》》』与「罄」则「网页相等」
    或有『《《整数三十二位不等》》』与「罄」则「网页不等」
    或有『《《整数三十二位有符号小于》》』与「罄」则「网页有符号小于」
    或有『《《整数三十二位无符号小于》》』与「罄」则「网页无符号小于」
    或有『《《整数三十二位有符号大于》》』与「罄」则「网页有符号大于」
    或有『《《整数三十二位无符号大于》》』与「罄」则「网页无符号大于」
    或有『《《整数三十二位有符号小等》》』与「罄」则「网页有符号小等」
    或有『《《整数三十二位无符号小等》》』与「罄」则「网页无符号小等」
    或有『《《整数三十二位有符号大等》》』与「罄」则「网页有符号大等」
    或有『《《整数三十二位无符号大等》》』与「罄」则「网页无符号大等」
    或有『《《整数三十二位加》》』与「罄」则「网页加」
    或有『《《整数三十二位减》》』与「罄」则「网页减」
    或有『《《整数三十二位乘》》』与「罄」则「网页乘」
    或有『《《整数三十二位有符号除》》』与「罄」则「网页有符号除」
    或有『《《整数三十二位无符号除》》』与「罄」则「网页无符号除」
    或有『《《整数三十二位有符号余》》』与「罄」则「网页有符号余」
    或有『《《整数三十二位无符号余》》』与「罄」则「网页无符号余」
    或有『《《整数三十二位按位与》》』与「罄」则「网页按位与」
    或有『《《整数三十二位按位或》》』与「罄」则「网页按位或」
    或有『《《整数三十二位按位异或》》』与「罄」则「网页按位异或」
    或有『《《整数三十二位左移》》』与「罄」则「网页左移」
    或有『《《整数三十二位有符号右移》》』与「罄」则「网页有符号右移」
    或有『《《整数三十二位无符号右移》》』与「罄」则「网页无符号右移」
    或有『《《整数三十二位循环左移》》』与「罄」则「网页循环左移」
    或有『《《整数三十二位循环右移》》』与「罄」则「网页循环右移」
    或有『《《块》》』与(「列」【「数」】)则
      「网页块」于(「网页文本取整数」于「数」)
    或有『《《循环》》』与(「列」【「数」】)则
      「网页循环」于(「网页文本取整数」于「数」)
    或有『《《条件》》』与(「列」【「数」】)则
      「网页条件」于(「网页文本取整数」于「数」)
    或有『《《否则》》』与「罄」则「网页否则」
    或有『《《结束》》』与「罄」则「网页结束」
    或有『《《跳转》》』与(「列」【「数」】)则
      「网页跳转」于(「网页文本取整数」于「数」)
    或有『《《条件跳转》》』与(「列」【「数」】)则
      「网页条件跳转」于(「网页文本取整数」于「数」)
    或有『《《返回》》』与「罄」则「网页返回」
    或有『《《陷阱》》』与「罄」则「网页陷阱」
    或有『《《选择》》』与「罄」则「网页选择」
    或有『《《弃值》》』与「罄」则「网页弃值」
    或有『《《空操作》》』与「罄」则「网页空操作」
    或有「其他」则
      「发生事故」于『未知指令或立即数数量不符』
也。

「网页读列」乃化「字符串」而化「表达式」而(「列」于「表达式」)也。
「网页读列」者会「名」而会「式」而
  虑「名项」者「源码取扩展」于「式」而
  若「串相等」于(「名项」中「零」)于(『《《』附「名」附『》》』)则
    「名项」中「一」
  否则
    「发生事故」于(『期待』附「名」)
也。

「网页读签名」乃化「表达式」而「网页签名」也。
「网页读签名」者会「式」而
  鉴「网页读列」于『整数三十二位函数类型』于「式」而
    有(「列」【「参数」,「结果」】)则(「网页文本取整数」于「参数」)与(「网页文本取整数」于「结果」)
    或有「其他」则
      「发生事故」于『函数类型须指定参数与结果数量』
也。

「网页读导入」乃化「表达式」而「网页导入」也。
「网页读导入」者会「式」而
  鉴「网页读列」于『函数导入』于「式」而
    有(「列」【「模块」,「名」,「型」】)则(「网页文本取名称」于「模块」)与(「网页文本取名称」于「名」)
      与(「网页文本取整数」于「型」)
    或有「其他」则
      「发生事故」于『函数导入须有模块、名称及类型索引』
也。

「网页读函数」乃化「表达式」而「网页函数」也。
「网页读函数」者会「式」而
  鉴「网页读列」于『函数』于「式」而
    有(「列」【「型」,「局部」,「体」】)则(「网页文本取整数」于「型」)与(「网页文本取整数」于「局部」)
      与(「态射」于(「网页读列」于『指令列』于「体」)于「网页读指令」)
    或有「其他」则
      「发生事故」于『函数须有类型索引、局部数量及指令列』
也。

「网页读导出」乃化「表达式」而「网页导出」也。
「网页读导出」者会「式」而
  鉴「网页读列」于『函数导出』于「式」而
    有(「列」【「名」,「号」】)则(「网页文本取名称」于「名」)与(「网页文本取整数」于「号」)
    或有「其他」则
      「发生事故」于『函数导出须有名称及函数索引』
也。

「解析中文网页模块」乃化「字符串」而「网页模块」也。
「解析中文网页模块」者会「文」而
  鉴「切分顶层语句」于(「去除词法注释列」于(「词法解析顶层」于「文」))而
    有(「列」【「句」】)则(
      鉴「网页读列」于『网页汇编模块』于(「解表达式默认操作符」于『中文网页汇编』于「句」)而
        有(「列」【「版本」,「类型项」,「导入」,「函数」,「导出」】)则
          若「串相等」于(「源码取串」于「版本」)于『整数核心一』则
            虑「模」者
              (「态射」于(「网页读列」于『类型表』于「类型项」)于「网页读签名」)
                与(「态射」于(「网页读列」于『导入表』于「导入」)于「网页读导入」)
                  与(「态射」于(「网页读列」于『函数表』于「函数」)于「网页读函数」)
                    与(「态射」于(「网页读列」于『导出表』于「导出」)于「网页读导出」)而
                    虑「检」者「验证网页模块」于「模」而
                    「模」
          否则
            「发生事故」于『不支持的中文网页汇编格式版本』
        或有「其他」则
          「发生事故」于『网页模块须有版本及四张表』
    )
    或有「其他」则
      「发生事故」于『中文网页汇编文件须恰有一个模块语句』
也。

「中文网页模块表示」乃化「网页模块」而「字符串」也。
「中文网页模块表示」者会「模」而
  虑「检」者「验证网页模块」于「模」而
  (「源码扩展表示」
    于『网页汇编模块』
    于(「列」【
      「中间串表示」于『整数核心一』,
      「源码扩展表示」
        于『类型表』
        于(「态射」授以「网页签名」授以「字符串」
          于(「模」中「零」)
          于(会「型」而「源码扩展表示」
            于『整数三十二位函数类型』
            于(「列」【「网页文本整数表示」于(「型」中「零」),「网页文本整数表示」于(「型」中「一」)】))),
            「源码扩展表示」
              于『导入表』
              于(「态射」授以「网页导入」授以「字符串」
                于(「模」中「一」)
                于(会「项」而「源码扩展表示」
                  于『函数导入』
                  于(「列」【
                    「网页文本名称表示」于(「项」中「零」),
                    「网页文本名称表示」于(「项」中「一」),
                    「网页文本整数表示」于(「项」中「二」)
                  】))),
                  「源码扩展表示」
                    于『函数表』
                    于(「态射」授以「网页函数」授以「字符串」
                      于(「模」中「二」)
                      于(会「函」而「源码扩展表示」
                        于『函数』
                        于(「列」【
                          「网页文本整数表示」于(「函」中「零」),
                          「网页文本整数表示」于(「函」中「一」),
                          「源码扩展表示」
                            于『指令列』
                            于(「态射」授以「网页指令」授以「字符串」于(「函」中「二」)于「网页指令表示」)
                        】))),
                        「源码扩展表示」
                          于『导出表』
                          于(「态射」授以「网页导出」授以「字符串」
                            于(「模」中「三」)
                            于(会「项」而「源码扩展表示」
                              于『函数导出』
                              于(「列」【
                                「网页文本名称表示」于(「项」中「零」),
                                「网页文本整数表示」于(「项」中「一」)
                              】)))
    】))附『。』
也。