Shared_ast.PrintSourcePrinting 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 external_ref :
Format.formatter ->
Shared_ast__.Definitions.external_ref Catala_utils.Mark.pos ->
unitval typ :
Format.formatter ->
Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos ->
unitval expr :
?debug:bool ->
unit ->
Format.formatter ->
(('a, 'a, 'm) Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
unitExpression printer.
val s_expr :
Format.formatter ->
((_, _, _) Shared_ast__.Definitions.base_gexpr,
_ Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
unitS-expression printer for all AST nodes.
val scope :
?debug:bool ->
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 ->
Format.formatter ->
(('a, 'a, 'm) Shared_ast__.Definitions.base_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast__.Definitions.program ->
unitUser-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