1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
open Wasm.Sexpr
open Operator
let unop uo = match uo with
| PosOp -> Atom "PosOp"
| NegOp -> Atom "NegOp"
| NotOp -> Atom "NotOp"
let binop bo = match bo with
| AddOp -> Atom "AddOp"
| SubOp -> Atom "SubOp"
| MulOp -> Atom "MulOp"
| DivOp -> Atom "DivOp"
| ModOp -> Atom "ModOp"
| AndOp -> Atom "AndOp"
| OrOp -> Atom "OrOp"
| XorOp -> Atom "XorOp"
| ShLOp -> Atom "ShiftLOp"
| ShROp -> Atom "ShiftROp"
| RotLOp -> Atom "RotLOp"
| RotROp -> Atom "RotROp"
| CatOp -> Atom "CatOp"
| PowOp -> Atom "PowOp"
| WAddOp -> Atom "WAddOp"
| WSubOp -> Atom "WSubOp"
| WMulOp -> Atom "WMulOp"
| WPowOp -> Atom "WPowOp"
let relop ro = match ro with
| EqOp -> Atom "EqOp"
| NeqOp -> Atom "NeqOp"
| LtOp -> Atom "LtOp"
| GtOp -> Atom "GtOp"
| LeOp -> Atom "LeOp"
| GeOp -> Atom "GeOp"