构造
判断
限制
⊢limits:k
函数类型
⊢functypeok
块类型
⊢blocktypeok
表类型
⊢tabletypeok
内存类型
⊢memtypeok
全局类型
⊢globaltypeok
外部类型
⊢externtypeok
指令
S;C⊢instr:stacktype
指令序列
S;C⊢instr∗:stacktype
表达式
C⊢expr:resulttype
函数
C⊢func:functype
表
C⊢table:tabletype
内存
C⊢mem:memtype
全局
C⊢global:globaltype
元素段
C⊢elem:reftype
元素模式
C⊢elemmode:reftype
数据段
C⊢dataok
数据模式
C⊢datamodeok
开始函数
C⊢startok
导出
C⊢export:externtype
导出描述
C⊢exportdesc:externtype
导入
C⊢import:externtype
导入描述
C⊢importdesc:externtype
模块
⊢module:externtype∗→externtype∗
值
S⊢val:valtype
结果
S⊢result:resulttype
外部值
S⊢externval:externtype
函数实例
S⊢funcinst:functype
表实例
S⊢tableinst:tabletype
内存实例
S⊢meminst:memtype
全局实例
S⊢globalinst:globaltype
元素实例
S⊢eleminst:t
数据实例
S⊢datainstok
导出实例
S⊢exportinstok
模块实例
S⊢moduleinst:C
存储
⊢storeok
配置
⊢configok
线程
S;resulttype?⊢thread:resulttype
帧
S⊢frame:C
常量表达式
C⊢exprconst
常量指令
C⊢instrconst
⊢externtype1≤externtype2
⊢limits1≤limits2
⊢funcinst1⪯funcinst2
⊢tableinst1⪯tableinst2
⊢meminst1⪯meminst2
⊢globalinst1⪯globalinst2
⊢eleminst1⪯eleminst2
⊢datainst1⪯datainst2
⊢store1⪯store2
S;F;instr∗↪S′;F′;instr′∗
S;F;expr↪S′;F′;expr′