4 kexpr
: (expression
-> unit) * visitor_c
-> expression
-> unit;
5 kstatement
: (statement
-> unit) * visitor_c
-> statement
-> unit;
6 ktype
: (fullType
-> unit) * visitor_c
-> fullType
-> unit;
7 kdecl
: (declaration
-> unit) * visitor_c
-> declaration
-> unit;
8 kdef
: (definition
-> unit) * visitor_c
-> definition
-> unit;
9 kini
: (initialiser
-> unit) * visitor_c
-> initialiser
-> unit;
10 kcppdirective
: (cpp_directive
-> unit) * visitor_c
-> cpp_directive
-> unit;
11 kdefineval
: (define_val
-> unit) * visitor_c
-> define_val
-> unit;
12 kstatementseq
: (statement_sequencable
-> unit) * visitor_c
-> statement_sequencable
-> unit;
14 (Control_flow_c.node
-> unit) * visitor_c
-> Control_flow_c.node
-> unit;
15 ktoplevel
: (toplevel
-> unit) * visitor_c
-> toplevel
-> unit;
16 kinfo
: (info
-> unit) * visitor_c
-> info
-> unit;
19 val default_visitor_c
: visitor_c
21 val vk_expr
: visitor_c
-> expression
-> unit
22 val vk_statement
: visitor_c
-> statement
-> unit
23 val vk_type
: visitor_c
-> fullType
-> unit
24 val vk_decl
: visitor_c
-> declaration
-> unit
25 val vk_ini
: visitor_c
-> initialiser
-> unit
26 val vk_def
: visitor_c
-> definition
-> unit
27 val vk_node
: visitor_c
-> Control_flow_c.node
-> unit
28 val vk_info
: visitor_c
-> info
-> unit
29 val vk_toplevel
: visitor_c
-> toplevel
-> unit
30 val vk_program
: visitor_c
-> program
-> unit
32 val vk_argument
: visitor_c
-> argument
-> unit
34 val vk_args_splitted
: visitor_c
-> (argument
, il
) Common.either list
-> unit
35 val vk_param
: visitor_c
-> parameterType
-> unit
36 val vk_params_splitted
:
37 visitor_c
-> (parameterType
, il
) Common.either list
-> unit
39 val vk_struct_fields
: visitor_c
-> field list
-> unit
40 val vk_struct_fieldkinds
: visitor_c
-> fieldkind wrap list
-> unit
42 val vk_cst
: visitor_c
-> ((constant
, string) Common.either wrap
) -> unit
44 val vk_define_params_splitted
:
45 visitor_c
-> (string Ast_c.wrap
, il
) Common.either list
-> unit
50 type 'a inout
= 'a
-> 'a
52 kexpr_s
: expression inout
* visitor_c_s
-> expression inout
;
53 kstatement_s
: statement inout
* visitor_c_s
-> statement inout
;
54 ktype_s
: fullType inout
* visitor_c_s
-> fullType inout
;
55 kdecl_s
: declaration inout
* visitor_c_s
-> declaration inout
;
56 kdef_s
: definition inout
* visitor_c_s
-> definition inout
;
57 kini_s
: initialiser inout
* visitor_c_s
-> initialiser inout
;
58 kcppdirective_s
: (cpp_directive inout
* visitor_c_s
) -> cpp_directive inout
;
59 kdefineval_s
: (define_val inout
* visitor_c_s
) -> define_val inout
;
60 kstatementseq_s
: (statement_sequencable inout
* visitor_c_s
) -> statement_sequencable inout
;
62 (statement_sequencable list inout
* visitor_c_s
) -> statement_sequencable list inout
;
64 Control_flow_c.node inout
* visitor_c_s
-> Control_flow_c.node inout
;
65 ktoplevel_s
: toplevel inout
* visitor_c_s
-> toplevel inout
;
66 kinfo_s
: info inout
* visitor_c_s
-> info inout
;
69 val default_visitor_c_s
: visitor_c_s
71 val vk_expr_s
: visitor_c_s
-> expression
-> expression
72 val vk_argument_s
: visitor_c_s
-> argument
-> argument
73 val vk_statement_s
: visitor_c_s
-> statement
-> statement
74 val vk_statement_sequencable_s
: visitor_c_s
-> statement_sequencable
-> statement_sequencable
75 val vk_type_s
: visitor_c_s
-> fullType
-> fullType
76 val vk_decl_s
: visitor_c_s
-> declaration
-> declaration
77 val vk_ini_s
: visitor_c_s
-> initialiser
-> initialiser
78 val vk_def_s
: visitor_c_s
-> definition
-> definition
79 val vk_toplevel_s
: visitor_c_s
-> toplevel
-> toplevel
80 val vk_info_s
: visitor_c_s
-> info
-> info
81 val vk_node_s
: visitor_c_s
-> Control_flow_c.node
-> Control_flow_c.node
82 val vk_program_s
: visitor_c_s
-> program
-> program
86 argument wrap2 list
-> argument wrap2 list
88 val vk_args_splitted_s
:
90 (argument
, il
) Common.either list
->
91 (argument
, il
) Common.either list
95 parameterType wrap2 list
-> parameterType wrap2 list
97 val vk_params_splitted_s
:
99 (parameterType
, il
) Common.either list
->
100 (parameterType
, il
) Common.either list
104 val vk_param_s
: visitor_c_s
-> parameterType
-> parameterType
106 val vk_define_params_splitted_s
:
108 (string Ast_c.wrap
, il
) Common.either list
->
109 (string Ast_c.wrap
, il
) Common.either list
111 val vk_struct_fields_s
: visitor_c_s
-> field list
-> field list
113 val vk_cst_s
: visitor_c_s
-> ((constant
, string) Common.either wrap
) inout