跳到正文
豫言包管理
← 全部包

中文网页汇编 0.1.0

豫言 · 可执行文件

中文网页汇编整数核心的验证与标准二进制生成。

系统编程架构的首批基础设施,以豫言实现独立模块结构、中文文本读写、验证、标准二进制双向编解码与参考执行。当前仅支持版本「整数核心一」:三十二位整数的常量、局部读取/写入/暂存、加减乘、直接调用、弃值、空操作,以及函数类型、导入、定义、导出。所有局部和参数均为三十二位整数,签名保存参数与结果数量,允许多结果。常量用有符号三十二位范围表示其位模式。

这是明确的标准子集,不是完整 Wasm 实现;暂不支持控制块、内存、浮点或 GC。附带的整数参考执行器支持可信宿主函数绑定、调用预算和深度限制;尚非完整执行器,也不提供进程隔离。未知指令及版本拒绝,不回退为任意文本。现有普通豫言后端尚未迁移至本结构。

node 豫言操作系统/宿主/节点/宿主.cjs yy3_bs.wasm 应用/网页汇编/中文网页汇编/入口。豫 -o yy中文网页汇编.wasm
node 豫言操作系统/宿主/节点/宿主.cjs yy中文网页汇编.wasm 验证 应用/网页汇编/中文网页汇编/求和.网页汇编。豫
node 豫言操作系统/宿主/节点/宿主.cjs yy中文网页汇编.wasm 编码 应用/网页汇编/中文网页汇编/求和.网页汇编。豫 yy中文求和.wasm
node 豫言操作系统/宿主/节点/宿主.cjs yy中文网页汇编.wasm 解码 yy中文求和.wasm yy中文读回。豫
node 豫言操作系统/宿主/节点/宿主.cjs yy中文网页汇编.wasm 执行 yy中文求和.wasm 求和 20 22
node 豫言操作系统/宿主/节点/宿主.cjs yy中文网页汇编.wasm 规范化 应用/网页汇编/中文网页汇编/求和.网页汇编。豫 yy中文求和。豫

模块索引从零开始,导入函数排在定义函数之前。中文文本只解析,不作为普通豫言程序求值。生成二进制前再次验证;检查类型/函数/局部索引、栈不足、函数结果数量、常量范围和导出重名。输出直接使用字节串,包括零字节,不调用外部汇编器。此工具自身目前仍由既有编译器构建。

格式与边界

「整数核心一」是试行子集版本,尚非完整中文 Wasm 规范。四张表依次为类型、导入、函数和导出;函数类型明确写作「整数三十二位函数类型」,两个数字为参数数和结果数。函数包含类型索引、附加局部数量及指令列。数字支持逐位中文数字,也可读十进制数字;规范输出使用中文,负数前缀为「负」。规范化不保留注释及排版。

导入导出名称原样保留;名称含零字节时用「名称字节」扩展列表示,避免字符串打印器截断。二进制名称严格检查通字符编码。自定义段以及本子集之外的标准段明确拒绝,不默默丢弃。所有合法标准模块的完整读入仍是后续工作。

读取器每个子段独立检查终点,检查无符号/有符号变长整数的位宽、末字节、长度、段顺序和函数数量。合法非最短变长编码可接受,重写时规范化为最短编码,不保证原始二进制字节一致。

当前二进制输入限制一兆字节,向量数量、签名参数/结果数和局部数量限制六万五千五百三十六;这是明确的实现资源限制,不是标准 Wasm 限制。大输入性能尚未作为验收目标;字节拼接使用分层合并以避免逐次复制长后缀。

命令行执行限制十万次预算扣减,函数进入与指令执行各扣一次,调用深度上限为一百二十八。库接口允许传入预算及按导入索引绑定的宿主函数;预算无法抢占可信宿主函数自身,外部绑定不是任意不可信代码的安全沙箱。现有整数实例装配器支持按名解析、签名检查与共享预算,见模块装配;客体用户态加载与完整 Wasm 实例仍待实现。

验证

node 豫言操作系统/宿主/节点/宿主.cjs yy3_bs.wasm 库/编译器核心/网页汇编核心/整数核心。测试。豫 -o yy中文网页汇编测试.wasm
node 豫言操作系统/宿主/节点/宿主.cjs yy中文网页汇编测试.wasm

测试覆盖文本与二进制往返、手写中文和注释、零字节名称、局部初始化及更新、常量符号边界、多结果、溢出回绕、宿主调用、执行预算、递归限制、畸形段、非法编码和一万条指令。测试生成「yy中文互调.wasm」与「yy中文求和.wasm」,可交标准引擎独立验证。解释器用于正确性差分,不能据此报告豫言运行性能提高。

标准依据:模块二进制格式、变长整数编码。当前锁定整数核心所用的既有核心编码;扩展规范前须另加特性与版本测试。

新增十一条三十二位比较指令,文本及双架构后端均已接通,详整数比较。

结构控制的表示、验证和编解码已加入;执行器接入仍待完成,详结构控制。

“执行”与“装配执行”现在支持自有单内存的整数访存,详内存指令。中文编码/解码入口仍限既有函数核心文本。

依赖

查看包配置

上传历史

当前上传修订:1 ·

  1. 上传修订 1
    下载 ZIP

包层级

父包:网页汇编

没有子包。