Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Statements.
val error : t
an ill-formed term.
set_mem s m n x
is set v (mem x)
,
where v = Var.create (mems (bits m) (bits n) s
.
set_reg s m x
is set v (bitv x)
,
where v = Var.create (bits m) s.
set_ieee754 s p x
is set v (float x)
,
where v = Var.create (IEEE754.Sort.define p) s
.
set_rmode s x
is set v (rmode x)
,
where v = Var.create Rmode.t x
.
tmp_mem s x
is set v (mem x)
,
where v
is a freshly created variable, and all occurrences of s
are substituted with the identifier of v
in all subsequent statements.
tmp_reg s x
is set v (bitv x)
,
where v
is a freshly created variable, and all occurrences of s
are substituted with the identifier of v
in all subsequent statements.
tmp_bit s x
is set v (bool x)
,
where v
is a freshly created variable, and all occurrences of s
are substituted with the identifier of v
in all subsequent statements.
tmp_float s x
is set v (float x)
,
where v
is a freshly created variable, and all occurrences of s
are substituted with the identifier of v
in all subsequent statements.
tmp_rmode s x
is set v (rmode x)
,
where v
is a freshly created variable, and all occurrences of s
are substituted with the identifier of v
in all subsequent statements.
let_mem s x p
is seq (set v (mem x)) (stmt p)
,
where v
is freshly created variable, and all occurrences of s
will be substituted with the identifier of v
in the statement p
.
let_reg s x p
is seq (set v (bitv x)) (stmt p)
,
where v
is freshly created variable, and all occurrences of s
will be substituted with the identifier of v
in the statement p
.
let_bit s x p
is seq (set v (bool x)) (stmt p)
,
where v
is freshly created variable, and all occurrences of s
will be substituted with the identifier of v
in the statement p
.
let_float s x p
is seq (set v (float x)) (stmt p)
,
where v
is freshly created variable, and all occurrences of s
will be substituted with the identifier of v
in the statement p
.
let_rmode s x p
is seq (set v (rmode x)) (stmt p)
,
where v
is freshly created variable, and all occurrences of s
will be substituted with the identifier of v
in the statement p
.
jmp x
is jmp (bitv x)
,
where x
is a non-constant expression.
If x
is a constant use goto
.
val call : string -> t
call x
is goto lbl
,
where lbl = Label.for_name x
val special : string -> t
special s
is pass
.
val cpuexn : int -> t
cpuexn x
is goto lbl
,
where lbl = Label.for_ivec x
.
if_ c xs ys
is branch (bool c) (map stmt xs) (map stmt ys)
.