豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 393 行 · 20425 字节 · UTF-8
§
寻观「标准库」之书。
寻观「编译器核心」之「编译步骤」之「代码生成」之「底层后端」之「底层中间式」之书。
寻观「编译器核心」之「编译步骤」之「代码生成」之「底层后端」之「底层读取」之书。

「:文言:提升:局部函数或内联为环,或单用而展开,或升为全局函数;末尾自调化为回跳;等值之链成派。汉语:把局部函数消掉:只被调用一次且不自调的展开进调用处;只被调用一次且自调都在尾位置的做成内联循环(共用外层函数的局部变量,因此可以捕获可变格);其余提升为全局函数,自由变量作为前置形参(不能是可变格)。全局函数里的自身尾调用改成回到函数起点的循环。连续的对同一变量的整数等值判断合成分派。:」
「底层提升函数们」者「新引用」授以(「列」于「低层函数」)
于(「罄」授以「低层函数」)
也。

「:文言:改写对局部函数之调用。汉语:把所有 `局调 函 实参` 换成变换后的项;实参已先改写。:」
「低层重写局调」乃
  化「字符串」而
  化(化(「列」于「低层项」)而「低层项」)而
  化「低层项」而
  「低层项」
也。
「低层重写局调」者会「函」而会「变换」而会「项」而
  虑「新」者
    「低层映射子项」于(会「子」而「低层重写局调」于「函」于「变换」于「子」)于「项」而
  鉴「新」而
    有「项局调」于「名」于「参们」则(
      若「串相等」于「名」于「函」则「变换」于「参们」否则「新」)
    或有「余项」则「新」
也。

「:文言:函数展开:形参依次令为实参,而后其体。汉语:把一次调用展开成一串 `令`(保持实参求值顺序)。:」
「低层内联展开」乃
  化(「列」于「字符串」)而
  化(「列」于「低层项」)而
  化「低层项」而
  「低层项」
也。
「低层内联展开」者会「形们」而会「实们」而会「体」而
  鉴「形们」而
    有「罄」则「体」
    或有「缀」于「形」于「余形」则(
      鉴「实们」而
        有「缀」于「实」于「余实」则
          「项令」
            于「形」
            于「实」
            于(「低层内联展开」于「余形」于「余实」于「体」)
        或有「罄」则「体」
    )
也。

「:文言:数被关注之调用。汉语:统计 `项` 中被 `选` 选中的调用个数。:」
「低层选调数」乃
  化(化「低层项」而(「或可有」于(「列」于「低层项」)))而
  化「低层项」而
  「整数」
也。
「低层选调数」者会「选」而会「项」而
  虑「自身」者
    (「整数」也(鉴「选」于「项」而
    有「可有」于「参们」则「一」
    或有「可无」则「零」))
  而
  「加」
    于「自身」
    于(「从左折叠」授以「低层项」授以「整数」
      于(会「子」而会「累」而「加」于「累」于(「低层选调数」于「选」于「子」))
      于「零」
      于(「低层子项们」于「项」))
也。

「:文言:末位所调,皆为某自调乎。汉语:`选` 从一个项取出(若它是被关注的自调用)实参;判断 `项` 中的所有被关注调用是否都在尾位置。`个` 是要求的实参个数。:」
「低层尾位全是自调」乃
  化(化「低层项」而(「或可有」于(「列」于「低层项」)))而
  化「整数」而
  化「低层项」而
  「爻」
也。
「低层尾位全是自调」者会「选」而会「个」而会「项」而
  虑「无自调」者(化「低层项」而「爻」)也(会「子」而
    「等于」于(「低层选调数」于「选」于「子」)于「零」)而
  鉴「选」于「项」而
    有「可有」于「参们」则
      「且」
        于(「等于」于(「长度」授以「低层项」于「参们」)于「个」)
        于(「全部符合」授以「低层项」于「无自调」于「参们」)
    或有「可无」则(
      鉴「项」而
        有「项若」于「条」于「真」于「假」则
          「且」
            于(「无自调」于「条」)
            于(「且」
              于(「低层尾位全是自调」于「选」于「个」于「真」)
              于(「低层尾位全是自调」于「选」于「个」于「假」))
        或有「项令」于「名」于「值」于「体」则
          「且」
            于(「无自调」于「值」)
            于(「低层尾位全是自调」于「选」于「个」于「体」)
        或有「项环」于「标」于「形们」于「初们」于「体」则
          「且」
            于(「全部符合」授以「低层项」于「无自调」于「初们」)
            于(「低层尾位全是自调」于「选」于「个」于「体」)
        或有「项派」于「被」于「分们」于「缺」则
          「且」
            于(「无自调」于「被」)
            于(「且」
              于(「全部符合」授以(「整数」合「低层项」)
              于(会「分」而「低层尾位全是自调」于「选」于「个」于(「分」中「一」))
              于「分们」)
              于(「低层尾位全是自调」于「选」于「个」于「缺」))
        或有「余项」则「无自调」于「项」
    )
也。

「:文言:尾位之自调,改为回跳。汉语:把尾位置上被关注的调用改成 `续 标 实参`。:」
「低层尾改续」乃
  化(化「低层项」而(「或可有」于(「列」于「低层项」)))而
  化「字符串」而
  化「低层项」而
  「低层项」
也。
「低层尾改续」者会「选」而会「标」而会「项」而
  鉴「选」于「项」而
    有「可有」于「参们」则
      「项续」于「标」于「参们」
    或有「可无」则(
      鉴「项」而
        有「项若」于「条」于「真」于「假」则
          「项若」
            于「条」
            于(「低层尾改续」于「选」于「标」于「真」)
            于(「低层尾改续」于「选」于「标」于「假」)
        或有「项令」于「名」于「值」于「体」则
          「项令」
            于「名」
            于「值」
            于(「低层尾改续」于「选」于「标」于「体」)
        或有「项环」于「标二」于「形们」于「初们」于「体」则
          「项环」
            于「标二」
            于「形们」
            于「初们」
            于(「低层尾改续」于「选」于「标」于「体」)
        或有「项派」于「被」于「分们」于「缺」则
          「项派」
            于「被」
            于(「态射」授以(「整数」合「低层项」)授以(「整数」合「低层项」)
            于「分们」
            于(会「分」而(「分」中「零」)与(「低层尾改续」于「选」于「标」于(「分」中「一」))))
            于(「低层尾改续」于「选」于「标」于「缺」)
        或有「余项」则「项」
    )
也。

「:文言:尾位有被关注之调用否。汉语:判断尾位置上是否存在被关注的调用。:」
「低层尾含选调」乃
  化(化「低层项」而(「或可有」于(「列」于「低层项」)))而
  化「低层项」而
  「爻」
也。
「低层尾含选调」者会「选」而会「项」而
  鉴「选」于「项」而
    有「可有」于「参们」则「阳」
    或有「可无」则(
      鉴「项」而
        有「项若」于「条」于「真」于「假」则
          「或者」
            于(「低层尾含选调」于「选」于「真」)
            于(「低层尾含选调」于「选」于「假」)
        或有「项令」于「名」于「值」于「体」则
          「低层尾含选调」
            于「选」于「体」
        或有「项环」于「标」于「形们」于「初们」于「体」则
          「低层尾含选调」于「选」于「体」
        或有「项派」于「被」于「分们」于「缺」则
          「或者」
            于(「存在吗」授以(「整数」合「低层项」)
            于(会「分」而「低层尾含选调」于「选」于(「分」中「一」))
            于「分们」)
            于(「低层尾含选调」于「选」于「缺」)
        或有「余项」则「阴」
    )
也。

「:文言:凡新格者,令其名于格之集。汉语:值是 `底层_新格` 调用时,令绑定的变量是可变格。:」
「低层是新格」乃化「低层项」而「爻」也。
「低层是新格」者会「项」而
  鉴「项」而
    有「项外」于「名」于「参们」则
      「串相等」于「名」于『底层_新格』
    或有「余项」则「阴」
也。

「:文言:提升,自上而下:先定局部函数之归宿,再理其后。汉语:`基` 是当前全局函数名,`格们` 是作用域内的可变格变量名。处理 `局函 名 形参 体 余`:先提升体内更内层的局部函数;再按使用情况三选一(未使用则丢弃;单次调用且不自调则展开;单次调用且自调全为尾调则做成内联循环;否则提升为全局函数);然后把对它的调用在余式中改写完毕,才继续提升余式。:」
「低层提升」乃
  化「字符串」而
  化(「列」于「字符串」)而
  化「低层项」而
  「低层项」
也。
「低层提升」者会「基」而会「格们」而会「项」而
  鉴「项」而
    有「项令」于「名」于「值」于「体」则(
      虑「新格们」者(「列」于「字符串」)也(
        若「低层是新格」于「值」则「缀」于「名」于「格们」否则「格们」)
      而
      「项令」于「名」于(「低层提升」于「基」于「格们」于「值」)
      于(「低层提升」于「基」于「新格们」于「体」)
    )
    或有「项局函」于「名」于「形们」于「体」于「余」则(
      虑「体一」者「低层提升」于「基」于「格们」于「体」
      而
      虑「个」者「长度」授以「字符串」于「形们」
      而
      虑「自数」者「低层局调数」于「名」于「体一」
      而
      虑「外数」者「低层局调数」于「名」于「余」
      而
      虑「选自」者
        (化「低层项」而(「或可有」于(「列」于「低层项」)))也(会「子」而
          鉴「子」而
            有「项局调」于「他」于「参们」则(
              若「串相等」于「他」于「名」则「可有」于「参们」否则「可无」)
            或有「余子」则「可无」
        )
      而
      若「等于」于「外数」于「零」则
        「低层提升」于「基」于「格们」于「余」
      否则若「且」于(「等于」于「自数」于「零」)于(「等于」于「外数」于「一」)则
        「低层提升」
          于「基」
          于「格们」
          于(「低层重写局调」于「名」于(会「实们」而「低层内联展开」于「形们」于「实们」于「体一」)于「余」)
      否则若「且」于(「等于」于「外数」于「一」)于(「低层尾位全是自调」于「选自」于「个」于「体一」)则
        「低层提升」
          于「基」
          于「格们」
          于(「低层重写局调」
            于「名」
            于(会「实们」而「项环」于「名」于「形们」于「实们」于(「低层尾改续」于「选自」于「名」于「体一」))
            于「余」)
      否则
        (
          虑「捕获们」者
            「滤」授以「字符串」
            于(会「变」而「非」于(「低层含名」于「形们」于「变」))
            于(「低层自由们」于「体一」)
          而
          虑「捕获格」者
            「滤」授以「字符串」
            于(会「变」而「低层含名」于「格们」于「变」)于「捕获们」
          而
          若「等于」于(「长度」授以「字符串」于「捕获格」)于「零」则(
            虑「全名」者「低层新名」于(「基」附『/』附「名」)
            而
            虑「转调」者(化(「列」于「低层项」)而「低层项」)也(会「实们」而
            「项调」
              于「全名」
              于(「附加」授以「低层项」
                于(「态射」授以「字符串」授以「低层项」于「捕获们」于(会「变」而「项局」于「变」))
                于「实们」))
            而
            虑「体二」者「低层重写局调」于「名」于「转调」于「体一」
            而
            虑「无」者
              「写引用」
                于「底层提升函数们」
                于(「缀」
                  于(「构造低层函数」于「全名」于(「附加」授以「字符串」于「捕获们」于「形们」)于「体二」)
                  于(「读引用」于「底层提升函数们」))
            而
            「低层提升」
              于「基」于「格们」
              于(「低层重写局调」于「名」于「转调」于「余」)
          )
          否则
            「低层出错」授以「低层项」于(『局部函数〈』附「名」附『〉捕获了可变格〈』附(「间合」于『,』于「捕获格」)
            附
            『〉:请让该函数只有一处调用且自调都在尾位置(成为内联循环),或改经内存传递』)
        )
    )
    或有「余项」则
      「低层映射子项」于(会「子」而「低层提升」于「基」于「格们」于「子」)于「余项」
也。

「:文言:全局函数中,末位自调化为回跳。汉语:若函数体里有尾位置的自身调用,则把体包成一个以形参为循环变量的循环,并把这些调用改成回跳。:」
「低层函数尾环」乃化「低层函数」而「低层函数」也。
「低层函数尾环」者会「函」而
  鉴「函」而
    有「构造低层函数」于「全名」于「形们」于「体」则(
      虑「选」者(化「低层项」而(「或可有」于(「列」于「低层项」)))也(会「项」而
        鉴「项」而
          有「项调」于「名」于「参们」则(
            若「且」
              于(「串相等」于「名」于「全名」)
              于(「等于」于(「长度」授以「低层项」于「参们」)于(「长度」授以「字符串」于「形们」))则
                「可有」于「参们」
            否则
              「可无」
          )
          或有「余项」则「可无」
      )
      而
      若「低层尾含选调」于「选」于「体」
      则
        「构造低层函数」
          于「全名」
          于「形们」
          于(「项环」
            于『函数环』
            于「形们」
            于(「态射」授以「字符串」授以「低层项」于「形们」于(会「形」而「项局」于「形」))
            于(「低层尾改续」于「选」于『函数环』于「体」))
      否则
        「函」
    )
也。

「:文言:一函数及其所生之全局函数,皆已提升。汉语:提升一个全局函数:返回它自己与提升过程中产生的全局函数,都已把尾自调化为回跳。:」
「低层提升函数」乃化「低层函数」而(「列」于「低层函数」)也。
「低层提升函数」者会「函」而
  鉴「函」而
    有「构造低层函数」于「全名」于「形们」于「体」则(
      虑「无」者
        「写引用」于「底层提升函数们」于(「罄」授以「低层函数」)而
        虑「体一」者
          「低层提升」于「全名」于(「罄」授以「字符串」)于「体」而
          虑「附」者
            「反转」授以「低层函数」于(「读引用」于「底层提升函数们」)
          而
          「态射」授以「低层函数」授以「低层函数」
          于(「缀」于(「构造低层函数」于「全名」于「形们」于「体一」)于「附」)
          于「低层函数尾环」
    )
也。

「:文言:整数等值之链,合为分派。汉语:`若 变量 = 常量 则 甲 否则 若 同一变量 = 常量 …` 合成 `派`;先前的判断优先,故同键后者被舍。:」
「低层等常式」乃化「低层项」而(「或可有」于(「字符串」合「整数」))也。
「低层等常式」者会「项」而
  鉴「项」而
    有「项外」于「名」于(「列」【「项局」于「变」,「项整」于「键」】)则
      (若「串相等」于「名」于『底层_等』则「可有」于(「变」与「键」)否则「可无」)
    或有「项外」于「名」于(「列」【「项整」于「键」,「项局」于「变」】)则
      (若「串相等」于「名」于『底层_等』则「可有」于(「变」与「键」)否则「可无」)
    或有「余项」则「可无」
也。

「低层除键」乃
  化「整数」而
  化(「列」于(「整数」合「低层项」))而
  (「列」于(「整数」合「低层项」))
也。
「低层除键」者会「键」而会「分们」而
  「滤」授以(「整数」合「低层项」)
  于(会「分」而「不等于」于(「分」中「零」)于「键」)
  于「分们」
也。

「低层成派」乃化「低层项」而「低层项」也。
「低层成派」者会「项」而
  虑「新」者「低层映射子项」于「低层成派」于「项」而
  鉴「新」而
    有「项若」于「条」于「真」于「假」则(
      鉴「低层等常式」于「条」而
        有「可有」于「对」则(
          虑「变」者「对」中「零」而
          虑「键」者「对」中「一」而
          鉴「假」而
            有「项派」于(「项局」于「他变」)于「分们」于「缺」则(
              若「串相等」于「他变」于「变」则
                「项派」
                  于(「项局」于「变」)
                  于(「缀」于(「键」与「真」)于(「低层除键」于「键」于「分们」))
                  于「缺」
              否则
                「新」
            )
            或有「项若」于「条二」于「真二」于「假二」则(
              鉴「低层等常式」于「条二」而
                有「可有」于「对二」则(
                  若「串相等」于(「对二」中「零」)于「变」则
                    「项派」
                      于(「项局」于「变」)
                      于(「缀」
                        于(「键」与「真」)
                        于(「低层除键」于「键」于(「列」【((「对二」中「一」)与「真二」)】)))
                        于「假二」
                  否则
                    「新」
                )
                或有「可无」则「新」
            )
            或有「余假」则「新」
        )
        或有「可无」则「新」
    )
    或有「余项」则「新」
也。