Skip to content

Latest commit

 

History

History
115 lines (94 loc) · 7.82 KB

index-rules.rst

File metadata and controls

115 lines (94 loc) · 7.82 KB

Index of Semantic Rules

.. index:: validation

Typing of Static Constructs

Construct Judgement
:ref:`Limits <valid-limits>` \vdashlimits \limits : k
:ref:`Function type <valid-functype>` \vdashfunctype \functype \ok
:ref:`Block type <valid-blocktype>` \vdashblocktype \blocktype \ok
:ref:`Table type <valid-tabletype>` \vdashtabletype \tabletype \ok
:ref:`Memory type <valid-memtype>` \vdashmemtype \memtype \ok
:ref:`Global type <valid-globaltype>` \vdashglobaltype \globaltype \ok
:ref:`External type <valid-externtype>` \vdashexterntype \externtype \ok
:ref:`Instruction <valid-instr>` S;C \vdashinstr \instr : \stacktype
:ref:`Instruction sequence <valid-instr-seq>` S;C \vdashinstrseq \instr^\ast : \stacktype
:ref:`Expression <valid-expr>` C \vdashexpr \expr : \resulttype
:ref:`Function <valid-func>` C \vdashfunc \func : \functype
:ref:`Table <valid-table>` C \vdashtable \table : \tabletype
:ref:`Memory <valid-mem>` C \vdashmem \mem : \memtype
:ref:`Global <valid-global>` C \vdashglobal \global : \globaltype
:ref:`Element segment <valid-elem>` C \vdashelem \elem : \reftype
:ref:`Element mode <valid-elemmode>` C \vdashelemmode \elemmode : \reftype
:ref:`Data segment <valid-data>` C \vdashdata \data \ok
:ref:`Data mode <valid-datamode>` C \vdashdatamode \datamode \ok
:ref:`Start function <valid-start>` C \vdashstart \start \ok
:ref:`Export <valid-export>` C \vdashexport \export : \externtype
:ref:`Export description <valid-exportdesc>` C \vdashexportdesc \exportdesc : \externtype
:ref:`Import <valid-import>` C \vdashimport \import : \externtype
:ref:`Import description <valid-importdesc>` C \vdashimportdesc \importdesc : \externtype
:ref:`Module <valid-module>` \vdashmodule \module : \externtype^\ast \to \externtype^\ast
.. index:: runtime

Typing of Runtime Constructs

Construct Judgement
:ref:`Value <valid-val>` S \vdashval \val : \valtype
:ref:`Result <valid-result>` S \vdashresult \result : \resulttype
:ref:`External value <valid-externval>` S \vdashexternval \externval : \externtype
:ref:`Function instance <valid-funcinst>` S \vdashfuncinst \funcinst : \functype
:ref:`Table instance <valid-tableinst>` S \vdashtableinst \tableinst : \tabletype
:ref:`Memory instance <valid-meminst>` S \vdashmeminst \meminst : \memtype
:ref:`Global instance <valid-globalinst>` S \vdashglobalinst \globalinst : \globaltype
:ref:`Element instance <valid-eleminst>` S \vdasheleminst \eleminst \ok
:ref:`Data instance <valid-datainst>` S \vdashdatainst \datainst \ok
:ref:`Export instance <valid-exportinst>` S \vdashexportinst \exportinst \ok
:ref:`Module instance <valid-moduleinst>` S \vdashmoduleinst \moduleinst : C
:ref:`Store <valid-store>` \vdashstore \store \ok
:ref:`Configuration <valid-config>` \vdashconfig \config \ok
:ref:`Thread <valid-thread>` S;\resulttype^? \vdashthread \thread : \resulttype
:ref:`Frame <valid-frame>` S \vdashframe \frame : C

Constantness

Construct Judgement
:ref:`Constant expression <valid-constant>` C \vdashexprconst \expr \const
:ref:`Constant instruction <valid-constant>` C \vdashinstrconst \instr \const

Matching

Construct Judgement
:ref:`External type <match-externtype>` \vdashexterntypematch \externtype_1 \matchesexterntype \externtype_2
:ref:`Limits <match-limits>` \vdashlimitsmatch \limits_1 \matcheslimits \limits_2

Store Extension

Construct Judgement
:ref:`Function instance <extend-funcinst>` \vdashfuncinstextends \funcinst_1 \extendsto \funcinst_2
:ref:`Table instance <extend-tableinst>` \vdashtableinstextends \tableinst_1 \extendsto \tableinst_2
:ref:`Memory instance <extend-meminst>` \vdashmeminstextends \meminst_1 \extendsto \meminst_2
:ref:`Global instance <extend-globalinst>` \vdashglobalinstextends \globalinst_1 \extendsto \globalinst_2
:ref:`Element instance <extend-eleminst>` \vdasheleminstextends \eleminst_1 \extendsto \eleminst_2
:ref:`Data instance <extend-datainst>` \vdashdatainstextends \datainst_1 \extendsto \datainst_2
:ref:`Store <extend-store>` \vdashstoreextends \store_1 \extendsto \store_2

Execution

Construct Judgement
:ref:`Instruction <exec-instr>` S;F;\instr^\ast \stepto S';F';{\instr'}^\ast
:ref:`Expression <exec-expr>` S;F;\expr \stepto S';F';\expr'