コード生成

mincaml-rsはWebAssemblyへの出力にのみ対応しています.仮想アセンブリを経由せず,クロージャ変換後の式からコード生成を行います.これはWebAssemblyが構造化されたプログラムしか扱わないためです.relooper等で検索してください.

ターゲットとしてWebAssemblyを採用した理由は次の通りです.

  • 環境に依存せず実行できる
  • コンパイラ実験第11,12回とのインテグレーション
  • 他の講義でなかなか登場しない

codegen_wasmwasm_encoderを直接用いるために多少のプログラミングをしていますが,WebAssemblyへのコード生成は単純です.