豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 136 行 · 7627 字节 · UTF-8
§
寻观「标准库」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻观「编译器核心」之「顺序标识符」之「顺序标识符」之书。

「:文言:连抽象者合其内工,外仍逐参受之。汉语:首版只专门化递归函数的完整自调用;外部接口保留柯里化,遇到部分自应用或函数逃逸则不变换。:」
「去柯里化拆函数」乃化「表达式」而((「列」于「字符串」)合「表达式」)也。
「去柯里化拆函数」者会「式」而
  鉴「式」而
    有(「式节点」于(「拉姆达抽象」于(「多参数形」于「一」))于(「列」【「绑定体」】))则(
      虑「解」者「解构抽象」于「绑定体」而
      虑「余」者「去柯里化拆函数」于(「解」中「一」)而
      ((「缀」于(「解」中「零」)于(「余」中「零」))与(「余」中「一」))
    )
    或有「其他」则((「罄」授以「字符串」)与「式」)
也。

「去柯里化拆调用」乃化「表达式」而(「表达式」合(「列」于「表达式」))也。
「去柯里化拆调用」者会「式」而
  鉴「式」而
    有(「式节点」
      于「函数调用」
      于(「列」【「函」,(「式节点」于(「参数节点」于(「多参数形」于「一」))于(「列」【「参」】))】))则(
      虑「前」者「去柯里化拆调用」于「函」而
      ((「前」中「零」)与(「附加」于(「前」中「一」)于(「列」【「参」】)))
    )
    或有(「式节点」于(「自由变量标注节点」于「名」)于(「列」【「内」】))则
      「去柯里化拆调用」于「内」
    或有「其他」则(「式」与(「罄」授以「表达式」))
也。

「去柯里化包装」乃化(「列」于「字符串」)而化「表达式」而「表达式」也。
「去柯里化包装」者会「诸名」而会「体」而
  鉴「诸名」而
    有「罄」则「体」
    或有(「缀」于「名」于「余」)则
      「式节点」
        于(「拉姆达抽象」于(「多参数形」于「一」))
        于(「列」【「进行抽象」于「名」于(「去柯里化包装」于「余」于「体」)】)
也。

「去柯里化递归」乃化「字符串」而化「表达式」而「表达式」也。
「去柯里化递归」者会「路径」而会「式」而
  鉴「式」而
    有(「式节点」于「递归节点」于(「列」【「型」,「绑定体」】))则(
      虑「解」者「解构抽象」于「绑定体」而
      虑「自名」者「解」中「零」而
      虑「函」者「去柯里化递归」于「路径」于(「解」中「一」)而
      虑「原式」者
        「式节点」于「递归节点」于(「列」【「型」,「进行抽象」于「自名」于「函」】)而
        虑「拆」者「去柯里化拆函数」于「函」而
        虑「诸名」者「拆」中「零」而
        虑「数」者「长度」授以「字符串」于「诸名」而
        虑「捕获」者
          「滤」授以「字符串」
          于(会「名」而「非」于(「串相等」于「名」于「自名」))
          于(「读取式自由变量」于「函」)而
          虑「可直」者
            「等于」于(「长度」授以「字符串」于「捕获」)于「零」而
          若「或者」
            于(「等于」于「数」于「零」)
            于(「且」于(「等于」于「数」于「一」)于(「非」于「可直」))则「原式」
          否则
            (
              虑「工名」者
                「下个字符序数」于(「路径」附『_满参递归』)
              而
              虑「工引用」者
                若「可直」则「式节点」于(「函数引用节点」于「工名」)于「罄」否则「自由变量」
                  于「工名」
              而
              虑「可改」者「新引用」授以「爻」于「阳」
              而
              虑「有调用」者「新引用」授以「爻」于「阴」而
              递归虑「改」其化「表达式」而「表达式」者会「内」而
                虑「调用」者「去柯里化拆调用」于「内」
                而
                虑「为自」者鉴(「调用」中「零」)而
                  有(「自由变量」于「名」)则
                    「串相等」于「名」于「自名」
                  或有「其他」则
                    「阴」
                而
                若「为自」则(
                  若「等于」
                    于(「长度」授以「表达式」于(「调用」中「一」))于「数」则
                      (「写引用」于「有调用」于「阳」;
                        「分组函数调用式」
                          于(「多参数形」于「数」)
                          于「工引用」
                          于(「态射」于(「调用」中「一」)于「改」))
                  否则
                    (「写引用」于「可改」于「阴」;
                      「内」)
                )
                否则
                  「表达式统一操作」于「改」于「内」
              而
              虑「后体」者「改」于(「拆」中「一」)
              而
              若「且」于(「读引用」于「可改」)于(「读引用」于「有调用」)则(
                虑「拉工」者
                  「式节点」
                    于(「拉姆达抽象」于(「多参数形」于「数」))
                    于(「列」【「进行多抽象」于「诸名」于「后体」】)
                而
                「:文言:无外取者直立其工,有捕获者仍存闭包。汉语:只有不存在自由捕获的递归函数才提升为静态入口;普通捕获保留原先的多参数闭包。:」
        虑「工」者
          若「可直」则「式节点」
            于(「函数全局声明节点」于「工名」)
            于(「列」【「拉工」】)
          否则
            「式节点」
              于「递归节点」
              于(「列」【「型」,「进行抽象」于「工名」于「拉工」】)
        而
        虑「包装」者
          「去柯里化包装」
            于「诸名」
            于(「分组函数调用式」于(「多参数形」于「数」)于「工引用」于(「态射」于「诸名」于「自由变量」))
        而
        「式节点」
          于「内联虑」
          于(「列」【「工」,「进行抽象」于「工名」于「包装」】)
              )
              否则
                「原式」
            )
    )
    或有「其他」则
      「表达式统一操作」于(会「内」而「去柯里化递归」于「路径」于「内」)于「式」
也。

「去柯里化顶层」乃化「字符串」而化「表达式」而「表达式」也。
「去柯里化顶层」者会「路径」而会「式」而
  「去柯里化递归」于「路径」于「式」
也。