Shared_ast.PrintPrinting 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 ->
unitval external_ref :
Stdlib.Format.formatter ->
Shared_ast__.Definitions.external_ref Catala_utils.Mark.pos ->
unitval typ :
Stdlib.Format.formatter ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
unitval runtime_error : Stdlib.Format.formatter -> Catala_runtime.error -> unitval var : Stdlib.Format.formatter -> 'e Var.t -> unitval var_debug : Stdlib.Format.formatter -> 'e Var.t -> unitval attrs : Stdlib.Format.formatter -> Catala_utils.Pos.t -> unitval expr :
?debug:bool ->
unit ->
Stdlib.Format.formatter ->
(('a, 'a, 'm) Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
unitExpression printer.
val s_expr :
Stdlib.Format.formatter ->
((_, _, _) Shared_ast__.Definitions.base_gexpr,
_ Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
unitS-expression printer for all AST nodes.
module type EXPR_PARAM = sig ... endmodule ExprGen (_ : EXPR_PARAM) : sig ... endmodule ExprConciseParam : EXPR_PARAMmodule ExprDebugParam : EXPR_PARAMval scope :
?debug:bool ->
Stdlib.Format.formatter ->
(string
* (('a, 'a, 'm) Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.scope_body) ->
unitval 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 ->
unitmodule UserFacing : sig ... endUser-facing, localised printer
/
val skip_wrappers :
(('a, 'a, 'm) Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
(('a, 'a, 'm) Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.edThis is exported from Expr, but first defined here for dependency reasons