Jasmin.CompileSourceval preprocess :
Wsize.wsize ->
'asm Sopn.asmOp ->
(unit, 'asm) Prog.pprog ->
(unit, 'asm) Prog.progPreprocessing before translation to Coq representation:
Raises `Typing.TyError`.
val parse_file :
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op) Pretyping.arch_info ->
?idirs:(string * string) list ->
string ->
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op)
Arch_extra.extended_op
Pretyping.Env.env
* (unit,
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op)
Arch_extra.extended_op)
Prog.pmod_item
list
* Syntax.pprogramParsing and pre-typing of a complete file. Require directives are resolved using named path given through the idirs argument and the JASMINPATH environment variable.
Raises `Pretyping.TyError` and `Syntax.ParseError`.
val do_spill_unspill :
'asm Sopn.asmOp ->
?debug:bool ->
(unit, 'asm) Prog.prog ->
((unit, 'asm) Prog.prog, Utils.hierror) resultRemoves (aka implements) #spill and #unspill instructions.
val do_wint_int :
(module Arch_full.Arch
with type asm_op = 'asm_op
and type cond = 'cond
and type extra_op = 'extra_op
and type reg = 'reg
and type regx = 'regx
and type rflag = 'rflag
and type xreg = 'xreg) ->
(unit,
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op)
Arch_extra.extended_op
Sopn.asm_op_t)
Prog.prog ->
(unit,
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op)
Arch_extra.extended_op
Sopn.asm_op_t)
Prog.progval compile :
(module Arch_full.Arch
with type asm_op = 'asm_op
and type cond = 'cond
and type extra_op = 'extra_op
and type reg = 'reg
and type regx = 'regx
and type rflag = 'rflag
and type xreg = 'xreg) ->
(debug:bool ->
Compiler.compiler_step ->
(unit,
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op)
Arch_extra.extended_op
Sopn.asm_op_t)
Prog.prog ->
unit) ->
(_, _) Prog.prog ->
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op, 'extra_op)
Arch_extra.extended_op
Expr._uprog ->
('reg, 'regx, 'xreg, 'rflag, 'cond, 'asm_op) Arch_decl.asm_prog
Compiler_util.cexec