Module OByteLib.Normalised_instr

type unop =
| NOT
| NEG
| OFFSET of int
| VECTLENGTH
| ISINT
type binop =
| ADD
| SUB
| MUL
| DIV
| MOD
| AND
| OR
| XOR
| LSL
| LSR
| ASR
type compop =
| EQ
| NEQ
| LT
| LE
| GT
| GE
| ULT
| UGE
type t =
| ACC of int
| PUSH
| POP of int
| ASSIGN of int
| ENVACC of int
| PUSH_RETADDR of int
| APPLY of int
| APPTERM of int * int
| RETURN of int
| RESTART
| GRAB of int
| CLOSURE of int * int
| CLOSUREREC of int * int array
| OFFSETCLOSURE of int
| GETGLOBAL of int
| SETGLOBAL of int
| ATOM of int
| MAKEBLOCK of int * int
| MAKEFLOATBLOCK of int
| GETFIELD of int
| GETFLOATFIELD of int
| SETFIELD of int
| SETFLOATFIELD of int
| GETVECTITEM
| SETVECTITEM
| GETBYTESCHAR
| SETBYTESCHAR
| GETSTRINGCHAR
| BRANCH of int
| BRANCHIF of int
| BRANCHIFNOT of int
| SWITCH of int array * int array
| PUSHTRAP of int
| POPTRAP
| RAISE
| RERAISE
| RAISE_NOTRACE
| CHECK_SIGNALS
| C_CALL of int * int
| CONSTINT of int
| UNAPP of unop
| BINAPP of binop
| COMPARE of compop
| COMPBRANCH of compop * int * int
| OFFSETREF of int
| GETMETHOD
| GETPUBMET of int
| GETDYNMET
| STOP
val string_of_unop : unop -> string
val string_of_binop : binop -> string
val string_of_compop : compop -> string
val to_string : t -> string
val get_ptrs : t -> int list
val get_nexts : int -> t -> int list