豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 134 行 · 6528 字节 · UTF-8
§
寻观「标准库」之书。

寻观「编译器核心」之「编译数据」之「操作符」之「操作符数据结构」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「命名环境术」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻观「编译器核心」之「编译数据」之「编译配置」之「编译期输出」之书。

「带定义绑定递归带名」乃
  化「命名环境」而
  化「表达式」 「:值:」而
  化「表达式」 「:绑定:」而
  化(化「字符串」而化「命名环境」而化「表达式」而「表达式」)而
  「表达式」 「:最终返回的绑定式:」
也。
「带定义绑定递归带名」者会「境」而会「值」而会「绑定式」而会「递归函数」而
  虑「抽象名及式体」者
    「解构抽象不重复名称」于「绑定式」于(「命名环境获取所有名称」于「境」)
  而
  「进行抽象」
    于(「抽象名及式体」中「零」)
    于(「递归函数」
      于(「抽象名及式体」中「零」)
      于(「添加声明不改变名」于『优44』于「境」于(「抽象名及式体」中「零」)于「值」)
      于(「抽象名及式体」中「一」))
也。

「带定义多绑定递归」乃
  化「整数」而
  化「命名环境」而
  化「表达式」 「:值:」而
  化「表达式」 「:绑定:」而
  化(化「命名环境」而化「表达式」而「表达式」)而
  「表达式」 「:最终返回的绑定式:」
也。
「带定义多绑定递归」者会「个数」而会「境」而会「值」而会「多绑定式」而会「递归函数」而
  虑「无」者
    「编译调试打印行」
      于『mult_bind_recurse』
      于(会「无」而『正则多绑定递归,』附(「整数表示」于「个数」)附『,』附(「表达式表示」于「多绑定式」))而
        若(「大于」于「个数」于「零」)则(
          虑「无」者
            「编译调试打印行」
              于『mult_bind_recurse』
              于(会「无」而『继续,』附(「整数表示」于「个数」)附『,』附(「表达式表示」于「多绑定式」))而
              虑「抽象名及式体」者
                「解构抽象不重复名称」
                  于「多绑定式」
                  于(「命名环境获取所有名称」于「境」)
              而
              「进行抽象」
                于(「抽象名及式体」中「零」)
                于(「带定义多绑定递归」
                  于(「减」于「个数」于「一」)
                  于(「添加声明不改变名」于『优27』于「境」于(「抽象名及式体」中「零」)于「值」)
                  于
                  「值」
                    于(「抽象名及式体」中「一」)于「递归函数」)
        )
        否则
          (
            虑「无」者
              「编译调试打印行」
                于
                『mult_bind_recurse』于(会「无」而
                  『返回,』附(「整数表示」于「个数」)
                  附『,』附(「表达式表示」于「多绑定式」))
            而
            「递归函数」于「境」于「多绑定式」
          )
也。

「多绑定递归」乃
  化「整数」而
  化「表达式」 「:绑定:」而
  化(化「表达式」而「表达式」)而
  「表达式」 「:最终返回的绑定式:」
也。
「多绑定递归」者会「个数」而会「多绑定式」而会「递归函数」而
  「带定义多绑定递归」
    于「个数」于「罄」
    于(「式节点」于「空值节点」于「罄」)于「多绑定式」
      于(会「境」而会「式」而「递归函数」于「式」)
也。

「带定义绑定递归」乃
  化「命名环境」而
  化「表达式」 「:值:」而
  化「表达式」 「:绑定:」而
  化(化「命名环境」而化「表达式」而「表达式」)而
  「表达式」 「:最终返回的绑定式:」
也。
「带定义绑定递归」者会「境」而会「值」而会「绑定式」而会「递归函数」而
  虑「抽象名及式体」者
    「解构抽象不重复名称」于「绑定式」于(「命名环境获取所有名称」于「境」)
  而
  「进行抽象」
    于(「抽象名及式体」中「零」)
    于(「递归函数」
      于(「添加声明不改变名」于『优44』于「境」于(「抽象名及式体」中「零」)于「值」)
      于(「抽象名及式体」中「一」))
也。

「:用于不知道定义的变量占位(例如续延和递归变量):」
「占位式」者「式节点」于「待定节点」于「罄」也。

「表达式带定义统一操作」乃
  化(化「命名环境」而化「表达式」而「表达式」)而
  化「命名环境」而
  化「表达式」而
  「表达式」
也。
「表达式带定义统一操作」者会「操作」而会「境」而会「式」而
  鉴「式」而
    有「自由变量」于「名」则「自由变量」于「名」
    或有「绑定变量」于「序数」则(「发生事故」于『不应出现绑定变量443』)
    或有「绑定」于「名」于「下式」则(「带定义绑定递归」于「境」于「占位式」于「式」于「操作」)
    或有(「式节点」于「内联虑」于((「列」【「当前式」,「后式」】)))
    则(
      虑「后当前式」者(「操作」于「境」于「当前式」)而
      (「式节点」
        于「内联虑」
        于(((「列」于「表达式」)也((「列」【
          「后当前式」,
          (「带定义绑定递归」于「境」于「后当前式」于「后式」于「操作」)
        】)
            )
          )
        ))
    )
    或有「式节点」于「名称」于「式列」则
      「式节点」于「名称」于((「态射」)于「式列」于(会「子式」而「操作」于「境」于「子式」))
    或有「其他」则
      「发生事故」于『未有487』
也。