豫言源码浏览器 / Source Browser

浏览项目文件与源码

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

寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「内建常量数据」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「结构名称操作数据」之书。

「:valence,表达一个ABT节点的参数类型:」
「语法类」立「元类型」也。
  「元类」立「语法类」也。
  「函类」立化「语法类」而化「语法类」而「语法类」也。

「参数形式」立「元类型」也。
  「隐式」立「参数形式」也。
  「显式」立「参数形式」也。
  「合并式」立「参数形式」也。 「:过时:用于ANF合并点:」
  「多参数形」立化「整数」而「参数形式」也。 「:整数为参数个数:」
  「尾多参数形」立化「整数」而「参数形式」也。
    「:自隐式为自动补全时会自动补全:」
    「: 自隐式立参数形式也。 :」
「定义透明性」立「元类型」也。
  「定义透明」立「定义透明性」也。
  「定义不透明」立「定义透明性」也。

「源码范围」即
  「字符串」
  合「整数」
  合「整数」
  合「整数」
  合「整数」
也。 「:文件、开始行、开始列、结束行、结束列;行列均从零开始。:」

「注释方向」立「元类型」也。
  「前置注释」立「注释方向」也。
  「后置注释」立「注释方向」也。

「节点名称」立「元类型」也。
「声明」立「元类型」也。
「表达式」立「元类型」也。

「:节点名称:」
  「拉姆达抽象」立化「参数形式」而「节点名称」也。 「:一个参数:」
  「拉姆达抽象带类型」立化「参数形式」而「节点名称」也。 「:两个参数,第一个为定义域类型:」
  「内建节点」立化「内建常量」而「节点名称」也。
  「展开后内建节点」立化「内建常量」而「节点名称」也。
  「空缺」立「节点名称」也。
  「箭头类型节点」立「节点名称」也。 「:至少两个参数;末参数是值域,其余参数是连续定义域;不绑定变量:」
  「隐式派类型节点」立化「整数」而「节点名称」也。 「:整数为连续隐式参数个数;唯一参数是同样数量的嵌套抽象,隐式参数类型默认为元类型:」
  「函数调用」立「节点名称」也。 「:第一个参数是函数头,随后是连续的参数节点:」
  「参数节点」立化「参数形式」而「节点名称」也。
  「函数调用等待函数值」立化「参数形式」而「节点名称」也。 「:用于合一中:」
  「函数调用等待参数值」立化「参数形式」而「节点名称」也。
  「字符串节点」立化「字符串」而「节点名称」也。
  「整数节点」立化「整数」而「节点名称」也。
  「小数节点」立化「小数」而化(「字符串」合「字符串」) 「:Decimal 表示:」而
  「节点名称」也。
  「模式匹配分支」立「节点名称」也。 「:case caluse:」
  「常量模式匹配分支」立「节点名称」也。 「:第一个参数是比较常量,随后的参数是返回值:」
  「变量模式匹配分支」立「节点名称」也。 「:第一个的参数是绑定的返回值,其中绑定会被绑定成待匹配式:」
  「唯一构造器模式匹配分支」立化「整数」而「节点名称」也。 「:第一个的参数是绑定的返回值,其中绑定会被绑定成构造器的参数元组式:」
  「模式匹配」立「节点名称」也。 「:case, 第一个参数是被匹配对象,之后每个参数是一个分支:」
  「模式匹配新变量」立化「字符串」而「节点名称」也。 「:参数是变量的类型:」
  「结构投影」立化「字符串」而「节点名称」也。
  「结构投影带序数」立化「字符串」而化「整数」而「节点名称」也。
  「结构投影等待结构值」立化「字符串」而化「整数」而「节点名称」也。
  「爻分支节点」立「节点名称」也。
  「通用序列节点」立「节点名称」也。 「:仅在操作符阐述期间存在;第一个参数是序列头,剩余参数是按源码顺序排列的序列项。:」
  「逗号序列节点」立「节点名称」也。 「:仅用于收集【】内的多个序列项。:」
  「外部调用头节点」立「节点名称」也。 「:仅作为通用序列头;唯一参数为外部函数名称。:」
  「外部调用节点」立「节点名称」也。
  「解析后外部调用节点无类型」立化「字符串」而「节点名称」也。
  「解析后外部调用节点带类型」立化「字符串」而「节点名称」也。
  「类型定义节点」立「节点名称」也。 「:检查后文件结构项;唯一参数为检查后的类型定义:」
  「自由变量标注节点」立化「字符串」而「节点名称」也。 「:参数是要构建的Tuple:」
  「内联虑」立「节点名称」也。
  「内联虑带类型」立「节点名称」也。
  「顺序执行节点」立「节点名称」也。
  「类型判断节点」立「节点名称」也。
  「元组构造节点」立「节点名称」也。
  「元组类型节点」立「节点名称」也。
  「栈元组构造节点」立「节点名称」也。 「:代码生成时栈节点会在栈上分配:」
  「擦除后类型节点」立「节点名称」也。
  「元组解构节点」立化「整数」而「节点名称」也。
  「运行时元组构造转换节点」立化「整数」而「节点名称」也。 「:将普通元组指针转换成构造元组指针:」
  「指针偏移节点」立化「整数」而「节点名称」也。 「:getelementptr of char* (i8*), represented as i128:」
  「元组更新节点」立化「整数」而「节点名称」也。
  「元组解构节点等待元组值」立化「整数」而「节点名称」也。
  「文件引用节点」立化「字符串」而「节点名称」也。 「:字符串为模块文件的绝对路径:」
  「文件定义引用节点」立化「字符串」 「:文件路径:」而
  化「字符串」 「:定义名称:」而
  化「整数」 「:定义序数:」而
  「节点名称」也。
  「源码范围标注节点」立化「源码范围」而「节点名称」也。 「:仅在名称解析与类型检查之间存在;唯一参数为原表达式。:」
  「源码绑定范围标注节点」立化「源码范围」而「节点名称」也。 「:仅在名称解析与类型检查之间存在;标注绑定体所对应的声明范围。:」
  「带注释节点」立化(「列」于「字符串」) 「:前置注释:」而
  化(「列」于「字符串」) 「:后置注释:」而
  「节点名称」也。 「:仅在词法分析与抽象语法分析之间存在;唯一参数为原表达式。:」
  「顶层注释节点」立化(「列」于「字符串」) 「:声明前注释:」而
  化(「列」于「字符串」) 「:声明后注释:」而
  「节点名称」也。 「:仅供保留注释的语法分析结果使用;唯一参数为原顶层表达式。:」
  「文件定义内存引用节点」立化「字符串」 「:文件路径:」而
  化「字符串」 「:定义名称:」而
  化「整数」 「:定义序数:」而
  「节点名称」也。 「:引用定义全局变量的直接内存地址:」
  「非自由变量节点」立化「字符串」而「节点名称」也。 「:例如在代码生成时引用会生成的数据:」
  「唯一构造器节点」立化「整数」 「:所属类型内从一开始的序数:」而
  化「字符串」 「:文件路径:」而
  化「字符串」 「:构造器名称:」而
  「节点名称」也。 「:表达式参数唯一,为构造器类型;检查前序数只是占位,检查后序数是所属类型内的运行时标记:」 「:根据类型理论,我们或许应该使用recursive sum types,不过先用类型构造器试试看行不行:」
  「展开后唯一构造器节点」立化「整数」 「:序数:」而
  「节点名称」也。 「:根据类型理论,我们或许应该使用recursive sum types,不过先用类型构造器试试看行不行:」
  「唯一构造器序数元组节点」立化「整数」 「:序数:」而
  化「整数」 「:参数长度:」而
  「节点名称」也。 「:期待单参数,参数的类型必须是一个长度等于参数长度的元组:」
  「唯一构造器序数元组投影序数节点」立「节点名称」也。
  「唯一构造器序数元组投影元组节点」立「节点名称」也。
  「递归节点」立「节点名称」也。 「:参数必须是派类型,拥有:」
  「表达式树组节点」立化(「列」于「字符串」)而「节点名称」也。 「:相当于一个字典:」
  「待定节点」立「节点名称」也。 「:局部类型骨架比较使用的占位节点,不进入类型检查结果:」
  「近似类型原子节点」立「节点名称」也。
  「近似类型占位节点」立「节点名称」也。
  「构造声明近似类型节点」立「节点名称」也。 「:唯一参数为唯一构造器节点;构造器节点的唯一参数是用户指定类型:」
  「类型声明近似类型节点」立「节点名称」也。 「:参数一为名称,参数二为用户指定类型:」
  「定义声明近似类型节点」立化「定义透明性」而「节点名称」也。 「:参数一为近似的类型,参数二为定义式,用于定义声明:」 「:默认是不透明的!:」
  「文件操作近似类型节点」立化「结构名称操作」而「节点名称」也。 「:表达式分析后展开为导入/打开/导出近似节点;唯一参数为路径表达式:」
  「文件命名近似类型节点」立化「字符串」 「:本文件内的模块名:」而
  化「字符串」 「:文件路径:」而
  「节点名称」也。
  「文件导入近似类型节点」立化「字符串」而「节点名称」也。
  「文件打开近似类型节点」立化「字符串」而「节点名称」也。
  「文件导出近似类型节点」立化「字符串」而「节点名称」也。
  「续延调用节点」立「节点名称」也。
  「续延调用返回节点」立「节点名称」也。
  「拉姆达抽象两参数」立「节点名称」也。 「:第一个参数是连续两个绑定式,用于续延传递拉姆达调用,或者闭包的普通拉姆达:」
  「拉姆达抽象续延」立化「字符串」而「节点名称」也。 「:仅接受一个单绑定:」
  「拉姆达抽象续延无绑定」立化「字符串」而「节点名称」也。 「:仅接受一个单绑定:」
  「函数调用续延」立化「字符串」而「节点名称」也。
  「函数尾调用」立「节点名称」也。
  「函数调用续延无绑定」立化「字符串」而「节点名称」也。 「:仅接受一个单绑定:」
  「文件定义存储节点」立化「字符串」 「:文件路径:」而
  化「字符串」 「:定义名称:」而
  化「整数」 「:定义序数:」而
  「节点名称」也。
  「全局指针读取节点」立化「字符串」而「节点名称」也。
  「全局指针更新节点」立化「字符串」而「节点名称」也。
  「局部指针读取节点」立化「字符串」而「节点名称」也。
  「局部指针更新节点」立化「字符串」而「节点名称」也。
  「空值节点」立「节点名称」也。
  「函数引用调用节点」立「节点名称」也。
  「函数引用节点」立化「字符串」而「节点名称」也。 「:用于底层代码生成:」
  「函数全局声明节点」立化「字符串」而「节点名称」也。 「:声明一个全局拉姆达函数,参数为一个多参数拉姆达抽象,必须不含自由变量:」
  「:目标代码顶层函数节点立化字符串而节点名称也。「:第一个参数是拉姆达抽象,第二个是后续代码:」:」

  「:具体语法:」
  「具体字符节点」立化「字符串」而「节点名称」也。 「: 单个字符。 :」
  「词法注释节点」立化「字符串」而化「注释方向」而「节点名称」也。 「:注释文字不含最外层注释定界符。:」
  「:表达式:」
  「式节点」立化「节点名称」而化(「列」于「表达式」)而「表达式」也。
  「绑定」立化(「或可有」于「字符串」) 「:可能的字符串:」而
  化「表达式」而「表达式」也。 「:使用deBruijn:」
  「绑定变量」立化「整数」而「表达式」也。
  「自由变量」立化「字符串」而「表达式」也。

「文件定义列」即「列」于(「字符串」合「爻」合「表达式」)也。 「:名字、公开性、定义内容:」
「表达式树组」即「文件定义列」也。 「:同一格式;闭包转换后公开性才具有链接语义:」

「带注释声明列」即「列」于「表达式」也。 「:每项为尚未转换成文件定义的顶层表达式,可以含顶层注释节点与带注释节点。:」
「带注释编译单元」立「元类型」也。
  「构造带注释编译单元」立化「带注释声明列」而化(「列」于「字符串」) 「:文件尾注释:」而
  「带注释编译单元」也。