ligo/src/passes/8-compiler/compiler_program.mli

49 lines
1.3 KiB
OCaml
Raw Normal View History

2019-10-07 18:18:32 +04:00
open Trace
open Mini_c
open Michelson
open Memory_proto_alpha.Protocol.Script_ir_translator
open Operators.Compiler
(*
module Contract_types = Meta_michelson.Types
module Stack = Meta_michelson.Stack
*)
type compiled_program = {
input : ex_ty ;
output : ex_ty ;
body : michelson ;
}
val get_operator : string -> type_value -> expression list -> predicate result
val translate_expression : expression -> environment -> michelson result
val translate_function_body : anon_function -> environment_element list -> type_value -> michelson result
val translate_value : value -> type_value -> michelson result
val translate_program : program -> string -> compiled_program result
val translate_contract : anon_function -> (type_value * type_value ) -> michelson result
val translate_entry : anon_function -> type_value * type_value -> compiled_program result
(*
open Operators.Compiler
val get_predicate : string -> type_value -> expression list -> predicate result
val translate_function : anon_function -> michelson result
val translate_expression : ?push_var_name:string -> expression -> environment -> ( michelson * environment ) result
val translate_quote_body : anon_function -> michelson result
val get_main : program -> string -> anon_function result
module Errors : sig
val corner_case : loc:string -> string -> unit -> error
end
*)