sig
type op2 =
Add
| Sub
| Mul
| Div
| Mod
| LShift
| RShift
| BAnd
| BOr
| LAnd
| LOr
| Eq
type op1 = LNot | BNot
type id = string
type exp =
EId of Sketching.id
| EInt of int
| EWidth
| EOp2 of Sketching.op2 * Sketching.exp * Sketching.exp
| EOp1 of Sketching.op1 * Sketching.exp
| EHole of int
type cmd =
CSkip
| CAbort
| CAssign of Sketching.id * Sketching.exp
| CIf of Sketching.exp * Sketching.cmd * Sketching.cmd
| CSeq of Sketching.cmd * Sketching.cmd
| CRepeat of Sketching.id * Sketching.exp * Sketching.cmd
val from_string : string -> Sketching.cmd
val from_file : string -> Sketching.cmd
val to_string : Sketching.cmd -> string
end