Coccinelle release-1.0.0-rc11
[bpt/coccinelle.git] / parsing_c / pretty_print_c.mli
CommitLineData
978fd7e5 1type type_with_ident =
113803cf 2 (string * Ast_c.info) option ->
ae4735db 3 (Ast_c.storage * Ast_c.il) option ->
978fd7e5
C
4 Ast_c.fullType ->
5 Ast_c.attribute list -> unit
6
ae4735db 7type 'a printer = 'a -> unit
978fd7e5
C
8
9type pretty_printers = {
10 expression : Ast_c.expression printer;
11 arg_list : (Ast_c.argument Ast_c.wrap2 list) printer;
17ba0788 12 arg : Ast_c.argument printer;
978fd7e5
C
13 statement : Ast_c.statement printer;
14 decl : Ast_c.declaration printer;
413ffc02 15 field : Ast_c.field printer;
190f1acf 16 field_list : Ast_c.field list printer;
978fd7e5 17 init : Ast_c.initialiser printer;
8f657093 18 init_list : (Ast_c.initialiser Ast_c.wrap2 list) printer;
978fd7e5 19 param : Ast_c.parameterType printer;
413ffc02 20 paramlist : (Ast_c.parameterType Ast_c.wrap2 list) printer;
978fd7e5
C
21 ty : Ast_c.fullType printer;
22 type_with_ident : type_with_ident;
23 toplevel : Ast_c.toplevel printer;
24 flow : Control_flow_c.node printer
25}
26
27val mk_pretty_printers :
ae4735db 28 pr_elem:Ast_c.info printer ->
978fd7e5 29 pr_space:unit printer ->
ae4735db 30 pr_nl: unit printer ->
978fd7e5 31 pr_indent: unit printer ->
ae4735db
C
32 pr_outdent: unit printer ->
33 pr_unindent: unit printer ->
978fd7e5
C
34 pretty_printers
35
36(* used in pycocci mostly *)
ae4735db 37val pp_expression_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
978fd7e5 38 Ast_c.expression printer
413ffc02
C
39val pp_arg_list_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
40 (Ast_c.argument Ast_c.wrap2 list) printer
17ba0788
C
41val pp_arg_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
42 Ast_c.argument printer
413ffc02
C
43val pp_decl_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
44 Ast_c.declaration printer
45val pp_field_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
46 Ast_c.field printer
190f1acf
C
47val pp_field_list_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
48 Ast_c.field list printer
ae4735db 49val pp_statement_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
978fd7e5 50 Ast_c.statement printer
ae4735db
C
51val pp_param_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
52 Ast_c.parameterType printer
413ffc02
C
53val pp_param_list_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer ->
54 (Ast_c.parameterType Ast_c.wrap2 list) printer
ae4735db
C
55val pp_type_gen: pr_elem:Ast_c.info printer -> pr_space:unit printer ->
56 Ast_c.fullType printer
57val pp_init_gen: pr_elem:Ast_c.info printer -> pr_space:unit printer ->
58 Ast_c.initialiser printer
8f657093
C
59val pp_init_list_gen: pr_elem:Ast_c.info printer -> pr_space:unit printer ->
60 (Ast_c.initialiser Ast_c.wrap2 list) printer
ae4735db 61val pp_program_gen : pr_elem:Ast_c.info printer -> pr_space:unit printer ->
978fd7e5
C
62 Ast_c.toplevel printer
63
64
65(* used in pretty_print_engine.ml mostly *)
66val pp_expression_simple: Ast_c.expression printer
67val pp_init_simple: Ast_c.initialiser printer
68val pp_type_simple: Ast_c.fullType printer
413ffc02
C
69val pp_decl_simple: Ast_c.declaration printer
70val pp_field_simple: Ast_c.field printer
978fd7e5
C
71val pp_statement_simple: Ast_c.statement printer
72val pp_toplevel_simple: Ast_c.toplevel printer
73
ae4735db 74val debug_info_of_node:
978fd7e5 75 Ograph_extended.nodei -> Control_flow_c.cflow -> string
91eba41f
C
76
77val string_of_expression: Ast_c.expression -> string
708f4980 78val string_of_toplevel: Ast_c.toplevel -> string