Module Runtime.Instructions

type instr =
  1. | Block of string * expr
  2. | Loop of string * expr
  3. | If of expr * expr
  4. | IfVoid of expr * expr
  5. | Br of string
  6. | BrIf of string
  7. | Return
  8. | Call of string
  9. | Drop
  10. | LocalGet of string
  11. | LocalSet of string
  12. | LocalTee of string
  13. | I32Load
  14. | I32Load8S
  15. | I32Load8U
  16. | I32Store
  17. | I32Store8
  18. | I32Const of int
  19. | I32Eqz
  20. | I32Eq
  21. | I32Ne
  22. | I32LtU
  23. | I32GtU
  24. | I32GeU
  25. | I32Add
  26. | I32Sub
  27. | I32Mul
  28. | I32DivS
  29. | I32DivU
  30. | I32RemU
  31. | I32And
  32. | I32Or
and expr = instr list
val string_of_instr : instr -> string
val string_of_exprs : expr -> string
val string_of_expr : expr -> string