豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 453 行 · 25494 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字节串」之书。

「:
文言:回收网页汇编之模块,以豫言之数据书之,编译器直构之而编为二进制,不经文本。类型、函数、局部、全局、标号皆以名记,编码时乃解为序号;模块诸项依书写之序,编码之规同标准文本汇编器。
汉语:WasmGC 模块的结构化表示:编译器直接构造它,再编码为二进制,不经过 WAT 文本。类型、函数、局部变量、全局变量、标号都用名字引用,编码时再解析为索引;模块项保持书写顺序,编码规则(隐式类型的追加、局部变量的分组等)与标准 WAT 汇编器一致。
:」

「:文言:堆型:抽象者与具名者。汉语:堆类型:抽象堆类型,或按名字引用的具体类型。:」
「回收堆型」立「元类型」也。
  「回收堆等」立「回收堆型」也。
  「回收堆任」立「回收堆型」也。
  「回收堆小整」立「回收堆型」也。
  「回收堆结构」立「回收堆型」也。
  「回收堆数组」立「回收堆型」也。
  「回收堆函数」立「回收堆型」也。
  「回收堆外部」立「回收堆型」也。
  「回收堆空」立「回收堆型」也。
  「回收堆名」立化「字符串」而「回收堆型」也。

「:文言:值型;引用之型记其可空与堆型。汉语:值类型;引用类型记录是否可空与堆类型。:」
「回收值型」立「元类型」也。
  「回收整三二」立「回收值型」也。
  「回收整六四」立「回收值型」也。
  「回收浮三二」立「回收值型」也。
  「回收浮六四」立「回收值型」也。
  「回收向量型」立「回收值型」也。
  「回收引用」立化「爻」而化「回收堆型」而「回收值型」也。

「:文言:存型:值型,或八位、十六位之紧存。汉语:字段存储类型:值类型,或 i8、i16 紧凑存储。:」
「回收存型」立「元类型」也。
  「回收存值」立化「回收值型」而「回收存型」也。
  「回收存八」立「回收存型」也。
  「回收存十六」立「回收存型」也。

「:文言:字段记其可变与存型。汉语:字段:是否可变、存储类型。:」
「回收字段」即「爻」
  合「回收存型」
也。

「:文言:复合之型:函数、结构、数组。汉语:复合类型:函数类型(参数与结果)、结构体、数组。:」
「回收复合型」立「元类型」也。
  「回收函数型」立化(「列」于「回收值型」)而化(「列」于「回收值型」)而「回收复合型」也。
  「回收结构型」立化(「列」于「回收字段」)而「回收复合型」也。
  「回收数组型」立化「回收字段」而「回收复合型」也。

「:文言:用型:按名引之,或内书参与果;内书而无同型者,编码时追加隐式之型。汉语:类型用法:按名字引用,或内联写出参数与结果;内联且没有相同的显式函数类型时,编码时在类型段末尾追加隐式类型。:」
「回收型用」立「元类型」也。
  「回收型名用」立化「字符串」而「回收型用」也。
  「回收型内联」立化(「列」于「回收值型」)而化(「列」于「回收值型」)而「回收型用」也。

「回收块型」立「元类型」也。
  「回收块无果」立「回收块型」也。
  「回收块单果」立化「回收值型」而「回收块型」也。
  「回收块多果」立化(「列」于「回收值型」)而「回收块型」也。

「:文言:标号以名,或以深度。汉语:跳转目标:按标号名字,或直接给出深度。:」
「回收标号」立「元类型」也。
  「回收名标」立化「字符串」而「回收标号」也。
  「回收深标」立化「整数」而「回收标号」也。

「回收捕获」立「元类型」也。
  「回收捕标签」立化「字符串」而化「回收标号」而「回收捕获」也。
  「回收捕标签引用」立化「字符串」而化「回收标号」而「回收捕获」也。
  「回收捕全部」立化「回收标号」而「回收捕获」也。
  「回收捕全部引用」立化「回收标号」而「回收捕获」也。

「:文言:内存之参:对齐(以二为底之指数)与偏移。汉语:内存参数:对齐(以 2 为底的指数)与偏移。:」
「回收内存参」即「整数」
  合「整数」
也。

「:
文言:指令。无立即数之单字节操作以其码记之(数值运算、弃、空操作、不可达、返回、否则、结束、选择、引用相等等);前缀 0xFB、0xFD 之无立即数者亦以子码记之;前缀 0xFC 之杂令记其子码与诸无符号立即数;余者各立其形。名皆符号,编码时解之。
汉语:指令。没有立即数的单字节操作直接记操作码(数值运算、drop、nop、unreachable、return、else、end、select、ref.eq 等);0xFB(GC)与 0xFD(SIMD)前缀下没有立即数的操作记子操作码;0xFC 前缀的杂项指令(如 memory.fill)记子操作码与若干无符号立即数;其余指令各有构造器。名字都是符号,编码时解析。
:」
「回收指令」立「元类型」也。
  「回收单码」立化「整数」而「回收指令」也。
  「回收回收码」立化「整数」而「回收指令」也。
  「回收向量码」立化「整数」而「回收指令」也。
  「回收向量车道」立化「整数」而化「整数」而「回收指令」也。
  「回收向量常」立化「字节串」而「回收指令」也。
  「回收杂码」立化「整数」而化(「列」于「整数」)而「回收指令」也。
  「回收块」立化「字符串」而化「回收块型」而「回收指令」也。
  「回收循环」立化「字符串」而化「回收块型」而「回收指令」也。
  「回收若」立化「字符串」而化「回收块型」而「回收指令」也。
  「回收试表」立化「字符串」而化「回收块型」而化(「列」于「回收捕获」)而「回收指令」也。
  「回收跳」立化「回收标号」而「回收指令」也。
  「回收条件跳」立化「回收标号」而「回收指令」也。
  「回收表跳」立化(「列」于「回收标号」)而化「回收标号」而「回收指令」也。
  「回收调用」立化「字符串」而「回收指令」也。
  「回收尾调用」立化「字符串」而「回收指令」也。
  「回收间接调用」立化「字符串」而化「字符串」而「回收指令」也。
  「回收尾间接调用」立化「字符串」而化「字符串」而「回收指令」也。
  「回收引用调用」立化「字符串」而「回收指令」也。
  「回收尾引用调用」立化「字符串」而「回收指令」也。
  「回收抛」立化「字符串」而「回收指令」也。
  「回收局部取」立化「字符串」而「回收指令」也。
  「回收局部存」立化「字符串」而「回收指令」也。
  「回收局部暂存」立化「字符串」而「回收指令」也。
  「回收全局取」立化「字符串」而「回收指令」也。
  「回收全局存」立化「字符串」而「回收指令」也。
  「回收整三二常」立化「整数」而「回收指令」也。
  「回收整六四常」立化「整数」而「回收指令」也。
  「回收浮六四常」立化「字符串」而化「字符串」而「回收指令」也。
  「回收内存码」立化「整数」而化「回收内存参」而「回收指令」也。
  「回收向量内存码」立化「整数」而化「回收内存参」而「回收指令」也。
  「回收引用空」立化「回收堆型」而「回收指令」也。
  「回收引用函数」立化「字符串」而「回收指令」也。
  「回收引用测」立化「爻」而化「回收堆型」而「回收指令」也。
  「回收引用转」立化「爻」而化「回收堆型」而「回收指令」也。
  「回收结构新」立化「字符串」而「回收指令」也。
  「回收结构新默认」立化「字符串」而「回收指令」也。
  「回收结构取」立化「字符串」而化「整数」而「回收指令」也。
  「回收结构存」立化「字符串」而化「整数」而「回收指令」也。
  「回收数组新」立化「字符串」而「回收指令」也。
  「回收数组新默认」立化「字符串」而「回收指令」也。
  「回收数组新定」立化「字符串」而化「整数」而「回收指令」也。
  「回收数组新数据」立化「字符串」而化「字符串」而「回收指令」也。
  「回收数组取」立化「字符串」而「回收指令」也。
  「回收数组取有」立化「字符串」而「回收指令」也。
  「回收数组取无」立化「字符串」而「回收指令」也。
  「回收数组存」立化「字符串」而「回收指令」也。
  「回收数组填」立化「字符串」而「回收指令」也。
  「回收数组复制」立化「字符串」而化「字符串」而「回收指令」也。
    「:文言:内存之大小与增长,皆施于零号内存。汉语:memory.size 与 memory.grow,作用于零号内存。:」
  「回收内存大小」立「回收指令」也。
  「回收内存增长」立「回收指令」也。

「:文言:指令之串为绳,合之常数之功,编码时乃展平。汉语:指令序列用“绳”表示:拼接只需常数时间,编码时一次展平,避免反复复制长列表。:」
「回收串」立「元类型」也。
  「回收空串」立「回收串」也。
  「回收单令」立化「回收指令」而「回收串」也。
  「回收令列」立化(「列」于「回收指令」)而「回收串」也。
  「回收串并」立化(「列」于「回收串」)而「回收串」也。

「回收局部」即「字符串」
  合「回收值型」
也。

「回收导出种」立「元类型」也。
  「回收出函数」立「回收导出种」也。
  「回收出表」立「回收导出种」也。
  「回收出内存」立「回收导出种」也。
  「回收出全局」立「回收导出种」也。
  「回收出标签」立「回收导出种」也。

「:
文言:模块之项,依书写之序。函数项记名、用型、诸参之名、局部与指令;表为函数引用之表;元素段主动而入某表;数据段或被动,或主动而入某内存。
汉语:模块项,按书写顺序排列。函数项记录名字、类型用法、各参数名、局部变量与指令;表是 funcref 表;元素段为主动段,写入指定的表;数据段为被动段,或写入指定内存的主动段。
:」
「回收模块项」立「元类型」也。
  「回收类型项」立化「字符串」而化「回收复合型」而「回收模块项」也。
  「回收导入函数项」立化「字符串」而化「字符串」而化「字符串」而化「回收型用」而「回收模块项」也。
  「回收函数项」立
    化「字符串」而
    化「回收型用」而
    化(「列」于「字符串」)而
    化(「列」于「回收局部」)而
    化「回收串」而
    「回收模块项」
也。
  「回收表项」立化「字符串」而化「整数」而「回收模块项」也。
  「回收内存项」立化「字符串」而化「整数」而化(「或可有」于「整数」)而「回收模块项」也。
  「回收全局项」立化「字符串」而化「回收值型」而化「爻」而化「回收串」而「回收模块项」也。
  「回收导出项」立化「字符串」而化「回收导出种」而化「字符串」而「回收模块项」也。
  「回收起始项」立化「字符串」而「回收模块项」也。
  「回收元素项」立化「字符串」而化「回收串」而化(「列」于「字符串」)而「回收模块项」也。
  「回收数据项」立化「字符串」而化「字节串」而「回收模块项」也。
  「回收主动数据项」立化「字符串」而化「字符串」而化「回收串」而化「字节串」而「回收模块项」也。
  「回收标签项」立化「字符串」而化「回收型用」而「回收模块项」也。

「:文言:模块项亦以绳合之。汉语:模块项序列同样用“绳”表示。:」
「回收项串」立「元类型」也。
  「回收空项」立「回收项串」也。
  「回收单项」立化「回收模块项」而「回收项串」也。
  「回收项列」立化(「列」于「回收模块项」)而「回收项串」也。
  「回收项并」立化(「列」于「回收项串」)而「回收项串」也。

「:文言:常用之型。汉语:常用类型的简写。:」
「回收等引用」者「回收引用」于「阳」于「回收堆等」也。

「回收名引用」乃化「字符串」而「回收值型」也。
「回收名引用」者会「名」而
  「回收引用」于「阴」于(「回收堆名」于「名」)
也。

「回收可空名引用」乃化「字符串」而「回收值型」也。
「回收可空名引用」者会「名」而
  「回收引用」于「阳」于(「回收堆名」于「名」)
也。

「:文言:展平指令之绳,保其先后。汉语:把指令绳展平为列表,保持先后顺序;先逆序累积再反转,总成本线性。:」
「回收展平」乃化「回收串」而(「列」于「回收指令」)也。
「回收展平」者会「串」而
  递归虑「逆积」其化「回收串」而化(「列」于「回收指令」)而(「列」于「回收指令」)者会「当前」而
  会「逆」而
  鉴「当前」而
    有「回收空串」则「逆」
    或有(「回收单令」于「令」)则(「缀」于「令」于「逆」)
    或有(「回收令列」于「诸令」)则
      「从左折叠」授以「回收指令」授以(「列」于「回收指令」)
      于(会「令」而会「已有」而「缀」于「令」于「已有」)
      于「逆」
      于「诸令」
    或有(「回收串并」于「诸串」)则
      「从左折叠」授以「回收串」授以(「列」于「回收指令」)
      于(会「子」而会「已有」而「逆积」于「子」于「已有」)
      于「逆」
      于「诸串」
  而
  「反转」于(「逆积」于「串」于(「罄」授以「回收指令」))
也。

「回收项展平」乃化「回收项串」而(「列」于「回收模块项」)也。
「回收项展平」者会「串」而
  递归虑「逆积」其化「回收项串」而化(「列」于「回收模块项」)而(「列」于「回收模块项」)者会「当前」而
  会「逆」而
  鉴「当前」而
    有「回收空项」则「逆」
    或有(「回收单项」于「项」)则(「缀」于「项」于「逆」)
    或有(「回收项列」于「诸项」)则
      「从左折叠」授以「回收模块项」授以(「列」于「回收模块项」)
      于(会「项」而会「已有」而「缀」于「项」于「已有」)
      于「逆」
      于「诸项」
    或有(「回收项并」于「诸串」)则
      「从左折叠」授以「回收项串」授以(「列」于「回收模块项」)
      于(会「子」而会「已有」而「逆积」于「子」于「已有」)
      于「逆」
      于「诸串」
  而
  「反转」于(「逆积」于「串」于(「罄」授以「回收模块项」))
也。

「:文言:常用之令,以名代码。汉语:常用指令的具名常量,免得在生成代码里直接写操作码。:」
「回收不可达」者「回收单码」于「零」也。

「回收空操作」者「回收单码」于「一」也。

「回收否则」者「回收单码」于「五」也。

「回收结束」者「回收单码」于「一一」也。

「回收返回」者「回收单码」于「一五」也。

「回收弃」者「回收单码」于「二六」也。

「回收选择」者「回收单码」于「二七」也。

「回收整三二为零」者「回收单码」于「六九」也。

「回收整三二相等」者「回收单码」于「七零」也。

「回收整三二不等」者「回收单码」于「七一」也。

「回收整三二有符号小于」者「回收单码」于「七二」也。

「回收整三二无符号小于」者「回收单码」于「七三」也。

「回收整三二有符号大于」者「回收单码」于「七四」也。

「回收整三二无符号大于」者「回收单码」于「七五」也。

「回收整三二有符号小等」者「回收单码」于「七六」也。

「回收整三二无符号小等」者「回收单码」于「七七」也。

「回收整三二有符号大等」者「回收单码」于「七八」也。

「回收整三二无符号大等」者「回收单码」于「七九」也。

「回收整六四为零」者「回收单码」于「八零」也。

「回收整六四相等」者「回收单码」于「八一」也。

「回收整六四不等」者「回收单码」于「八二」也。

「回收整六四有符号小于」者「回收单码」于「八三」也。

「回收整六四无符号小于」者「回收单码」于「八四」也。

「回收整六四有符号大于」者「回收单码」于「八五」也。

「回收整六四无符号大于」者「回收单码」于「八六」也。

「回收整六四有符号小等」者「回收单码」于「八七」也。

「回收整六四无符号小等」者「回收单码」于「八八」也。

「回收整六四有符号大等」者「回收单码」于「八九」也。

「回收整六四无符号大等」者「回收单码」于「九零」也。

「回收整三二加」者「回收单码」于「一零六」也。

「回收整三二减」者「回收单码」于「一零七」也。

「回收整三二乘」者「回收单码」于「一零八」也。

「回收整三二有符号除」者「回收单码」于「一零九」也。

「回收整三二无符号除」者「回收单码」于「一一零」也。

「回收整三二有符号余」者「回收单码」于「一一一」也。

「回收整三二无符号余」者「回收单码」于「一一二」也。

「回收整三二与」者「回收单码」于「一一三」也。

「回收整三二或」者「回收单码」于「一一四」也。

「回收整三二异或」者「回收单码」于「一一五」也。

「回收整三二左移」者「回收单码」于「一一六」也。

「回收整三二有符号右移」者「回收单码」于「一一七」也。

「回收整三二无符号右移」者「回收单码」于「一一八」也。

「回收整六四加」者「回收单码」于「一二四」也。

「回收整六四减」者「回收单码」于「一二五」也。

「回收整六四乘」者「回收单码」于「一二六」也。

「回收整六四有符号除」者「回收单码」于「一二七」也。

「回收整六四无符号除」者「回收单码」于「一二八」也。

「回收整六四有符号余」者「回收单码」于「一二九」也。

「回收整六四无符号余」者「回收单码」于「一三零」也。

「回收整六四与」者「回收单码」于「一三一」也。

「回收整六四或」者「回收单码」于「一三二」也。

「回收整六四异或」者「回收单码」于「一三三」也。

「回收整六四左移」者「回收单码」于「一三四」也。

「回收整六四有符号右移」者「回收单码」于「一三五」也。

「回收整六四无符号右移」者「回收单码」于「一三六」也。

「回收整六四截三二」者「回收单码」于「一六七」也。

「回收整三二有符号扩六四」者「回收单码」于「一七二」也。

「回收整三二无符号扩六四」者「回收单码」于「一七三」也。

「回收引用为空」者「回收单码」于「二零九」也。

「回收引用相等」者「回收单码」于「二一一」也。

「回收数组长」者「回收回收码」于「一五」也。

「回收转小整」者「回收回收码」于「二八」也。

「回收小整取有符号」者「回收回收码」于「二九」也。

「回收小整取无符号」者「回收回收码」于「三零」也。

「回收整六四双铺」者「回收向量码」于「一八」也。

「回收整六四双加」者「回收向量码」于「二零六」也。

「回收整六四双减」者「回收向量码」于「二零九」也。

「:文言:内存之取存,依自然对齐。汉语:内存读写指令,按自然对齐(i32 为 2,i64 为 3,v128 为 4)。:」
「回收整三二读」乃化「整数」而「回收指令」也。
「回收整三二读」者会「偏移」而
  「回收内存码」于「四零」于(「二」与「偏移」)
也。

「回收整六四读」乃化「整数」而「回收指令」也。
「回收整六四读」者会「偏移」而
  「回收内存码」于「四一」于(「三」与「偏移」)
也。

「回收整三二存」乃化「整数」而「回收指令」也。
「回收整三二存」者会「偏移」而
  「回收内存码」于「五四」于(「二」与「偏移」)
也。

「回收整六四存」乃化「整数」而「回收指令」也。
「回收整六四存」者会「偏移」而
  「回收内存码」于「五五」于(「三」与「偏移」)
也。

「:文言:八位之取存:取者补零,存者截低。汉语:8 位读写:i32.load8_u 读入一个字节并零扩展,i32.store8 存入低 8 位;对齐为 1 字节。:」
「回收整三二读八无」乃化「整数」而「回收指令」也。
「回收整三二读八无」者会「偏移」而
  「回收内存码」于「四五」于(「零」与「偏移」)
也。

「回收整三二存八」乃化「整数」而「回收指令」也。
「回收整三二存八」者会「偏移」而
  「回收内存码」于「五八」于(「零」与「偏移」)
也。

「回收向量读」乃化「整数」而「回收指令」也。
「回收向量读」者会「偏移」而
  「回收向量内存码」于「零」于(「四」与「偏移」)
也。

「回收向量存」乃化「整数」而「回收指令」也。
「回收向量存」者会「偏移」而
  「回收向量内存码」于「一一」于(「四」与「偏移」)
也。

「回收整六四双取道」乃化「整数」而「回收指令」也。
「回收整六四双取道」者会「道」而
  「回收向量车道」于「二九」于「道」
也。

「回收整六四双换道」乃化「整数」而「回收指令」也。
「回收整六四双换道」者会「道」而
  「回收向量车道」于「三零」于「道」
也。

「:文言:以一值填内存之一段(零号内存)。汉语:memory.fill:用一个字节值填充零号内存中的一段。:」
「回收内存填」者「回收杂码」于「一一」于(「列」【「零」】)也。

「:文言:六十四位之数,依补码书为小端八字节;负者先加二之六十三次方使非负,末字节乃加一百二十八。汉语:把 i64 整数按补码写成小端 8 字节;负数先加 2^63 化为非负,再给最高字节加 0x80。:」
「回收整六四八字节」乃化「整数」而「字节串」也。
「回收整六四八字节」者会「数」而
  虑「负」者「小于」于「数」于「零」而
  虑「底」者
    若「负」则「减」于「数」于(「减」于(「减」于「零」于「九二二三三七二零三六八五四七七五八零七」)于「一」)否则
      「数」
  而
  递归虑「逐」其化「整数」而化「整数」而「字节串」者会「余」而
  会「次」而
  若「等于」于「次」于「八」则
    「空字节串」于「元」
  否则
    虑「商」者「除以」于「余」于「二五六」而
    虑「低」者「减」于「余」于(「乘」于「商」于「二五六」)而
    虑「字」者
      若「且」于「负」于(「等于」于「次」于「七」)则「加」于「低」于「一二八」否则「低」
    而
    「拼接字节串」于(「单字节串」于「字」)于(「逐」于「商」于(「加」于「次」于「一」))
  而
  「逐」于「底」于「零」
也。

「:文言:六十四位双道之常:先甲道,后乙道。汉语:v128.const i64x2 甲 乙:由两个 i64 车道组成的向量常量,甲为第 0 道。:」
「回收整六四双常」乃化「整数」而化「整数」而「回收指令」也。
「回收整六四双常」者会「甲」而会「乙」而
  「回收向量常」于(「拼接字节串」于(「回收整六四八字节」于「甲」)于(「回收整六四八字节」于「乙」))
也。