コード生成
mincaml-rsはWebAssemblyへの出力にのみ対応しています.仮想アセンブリを経由せず,クロージャ変換後の式からコード生成を行います.これはWebAssemblyが構造化されたプログラムしか扱わないためです.relooper等で検索してください.
ターゲットとしてWebAssemblyを採用した理由は次の通りです.
- 環境に依存せず実行できる
- コンパイラ実験第11,12回とのインテグレーション
- 他の講義でなかなか登場しない
codegen_wasm
はwasm_encoder
を直接用いるために多少のプログラミングをしていますが,WebAssemblyへのコード生成は単純です.