Shared_ast.Print
Printing functions for the default calculus AST
The argument is assumed to be 1-column wide (but can be a multi-char utf8 character)
Prints the operator symbols with kind suffixes, as expected by the OCaml backend (e.g. "+^", "+$", etc.)
val uid_list :
Stdlib.Format.formatter ->
Catala_utils.Uid.MarkedString.info list ->
unit
val typ :
Shared_ast__Definitions.decl_ctx ->
Stdlib.Format.formatter ->
Shared_ast__Definitions.naked_typ Catala_utils.Mark.pos ->
unit
val var : Stdlib.Format.formatter -> 'e Var.t -> unit
val var_debug : Stdlib.Format.formatter -> 'e Var.t -> unit
val expr :
?hide_function_body:bool ->
?debug:bool ->
unit ->
Stdlib.Format.formatter ->
( ( 'a, 'a, 'm ) Shared_ast__Definitions.base_gexpr,
'm Shared_ast__Definitions.mark )
Catala_utils.Mark.ed ->
unit
Same as expr
, but with a debug flag that defaults to !Cli.debug_flag
. If ~hide_function_body:true
, prints "<function>" for EAbs
nodes
val typ_debug :
Stdlib.Format.formatter ->
Shared_ast__Definitions.naked_typ Catala_utils.Mark.pos ->
unit
val scope :
?debug:bool ->
Shared_ast__Definitions.decl_ctx ->
Stdlib.Format.formatter ->
(Shared_ast__Definitions.ScopeName.t
* ( ( 'a, 'a, 'm ) Shared_ast__Definitions.base_gexpr,
'm Shared_ast__Definitions.mark )
Catala_utils.Mark.ed
Shared_ast__Definitions.scope_body) ->
unit
val program :
?debug:bool ->
Stdlib.Format.formatter ->
( ( 'a, 'a, 'm ) Shared_ast__Definitions.base_gexpr,
'm Shared_ast__Definitions.mark )
Catala_utils.Mark.ed
Shared_ast__Definitions.program ->
unit