2019-10-04 02:32:16 +04:00
|
|
|
(** Converts PascaLIGO programs to the Simplified Abstract Syntax Tree. *)
|
|
|
|
|
2019-10-07 18:18:32 +04:00
|
|
|
open Trace
|
2019-10-04 02:32:16 +04:00
|
|
|
open Ast_simplified
|
|
|
|
|
|
|
|
module Raw = Parser.Pascaligo.AST
|
|
|
|
module SMap = Map.String
|
|
|
|
|
2019-10-07 18:18:32 +04:00
|
|
|
module Errors : sig
|
2019-10-09 00:46:25 +04:00
|
|
|
|
2019-10-07 18:18:32 +04:00
|
|
|
val bad_bytes : Location.t -> string -> unit -> error
|
2019-10-09 00:46:25 +04:00
|
|
|
|
2019-10-07 18:18:32 +04:00
|
|
|
val unsupported_arith_op : Raw.expr -> unit -> error
|
2019-10-09 00:46:25 +04:00
|
|
|
|
2019-10-07 18:18:32 +04:00
|
|
|
val unsupported_proc_calls : 'a Raw.reg -> unit -> error
|
2019-10-09 00:46:25 +04:00
|
|
|
|
2019-10-07 18:18:32 +04:00
|
|
|
end
|
|
|
|
|
2019-10-09 00:46:25 +04:00
|
|
|
|
2019-10-04 02:32:16 +04:00
|
|
|
(** Convert a concrete PascaLIGO expression AST to the simplified expression AST
|
|
|
|
used by the compiler. *)
|
2019-10-07 18:18:32 +04:00
|
|
|
val simpl_expression : Raw.expr -> expr result
|
2019-10-04 02:32:16 +04:00
|
|
|
|
|
|
|
(** Convert a concrete PascaLIGO program AST to the simplified program AST used
|
|
|
|
by the compiler. *)
|
2019-10-07 18:18:32 +04:00
|
|
|
val simpl_program : Raw.ast -> program result
|