WebAssembly Specificationの読み方に関する質問です。
WATで以下のmoduleを定義しました。
wat
1(module 2 (func (export "addInt") 3 (param $value_1 i32) (param $value_2 i32) 4 (result i32) 5 6 local.get $value_1 7 local.get $value_2 8 i32.add 9 ) 10)
このコードはWASMに変換して正しく実行することができました。
次にどうして関数定義はこのように定義するのだろうと考えたところ
仕様でそう決まっているから(WATからWASMに変換するツールが仕様にそって実装されているから)だと思いました。
そこで、WATの関数定義の仕様を参照したのですが、読み方が理解できませんでした。
具体的にはText Format > Functionsの箇所です。(MathJaxをteratailに書く方法がわからなかったので画像で失礼します)
TextFormatの仕様に関する読み方はConventionsに定義されていると思うのですが、そこを読んでみてもこの仕様の書き方から上記の具体的なコードが書けるという理解に至れませんでした。
特にわからなかったのが、=>の意味です。
Grammarによりますと

とあり、Productionってなに?となってしまいました。
WASM Specificationを読むにあたり前提となっている知識がたりないのかなとも考えており、もし本仕様を読むにあたりこれを知っておくとよいというようなものがあれば併せて教えていただけると助かります。
回答2件
あなたの回答
tips
プレビュー

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/10 10:19