4 kexpr
: (expression
-> unit) * visitor_c
-> expression
-> unit;
5 kstatement
: (statement
-> unit) * visitor_c
-> statement
-> unit;
6 ktype
: (fullType
-> unit) * visitor_c
-> fullType
-> unit;
8 kdecl
: (declaration
-> unit) * visitor_c
-> declaration
-> unit;
9 konedecl
: (onedecl
-> unit) * visitor_c
-> onedecl
-> unit;
10 kparam
: (parameterType
-> unit) * visitor_c
-> parameterType
-> unit;
11 kdef
: (definition
-> unit) * visitor_c
-> definition
-> unit;
12 kname
: (name
-> unit) * visitor_c
-> name
-> unit;
14 kini
: (initialiser
-> unit) * visitor_c
-> initialiser
-> unit;
15 kfield
: (field
-> unit) * visitor_c
-> field
-> unit;
17 kcppdirective
: (cpp_directive
-> unit) * visitor_c
-> cpp_directive
-> unit;
18 kdefineval
: (define_val
-> unit) * visitor_c
-> define_val
-> unit;
19 kstatementseq
: (statement_sequencable
-> unit) * visitor_c
-> statement_sequencable
-> unit;
23 (Control_flow_c.node
-> unit) * visitor_c
-> Control_flow_c.node
-> unit;
24 ktoplevel
: (toplevel
-> unit) * visitor_c
-> toplevel
-> unit;
26 kinfo
: (info
-> unit) * visitor_c
-> info
-> unit;
29 val default_visitor_c
: visitor_c
31 val vk_expr
: visitor_c
-> expression
-> unit
32 val vk_statement
: visitor_c
-> statement
-> unit
33 val vk_statement_sequencable
: visitor_c
-> statement_sequencable
-> unit
34 val vk_type
: visitor_c
-> fullType
-> unit
35 val vk_decl
: visitor_c
-> declaration
-> unit
36 val vk_decl_list
: visitor_c
-> declaration list
-> unit
37 val vk_onedecl
: visitor_c
-> onedecl
-> unit
38 val vk_ini
: visitor_c
-> initialiser
-> unit
39 val vk_ini_list
: visitor_c
-> initialiser wrap2 list
-> unit
40 val vk_inis_splitted
:
41 visitor_c
-> (initialiser
, il
) Common.either list
-> unit
42 val vk_name
: visitor_c
-> name
-> unit
43 val vk_def
: visitor_c
-> definition
-> unit
44 val vk_node
: visitor_c
-> Control_flow_c.node
-> unit
45 val vk_info
: visitor_c
-> info
-> unit
46 val vk_toplevel
: visitor_c
-> toplevel
-> unit
47 val vk_program
: visitor_c
-> program
-> unit
49 val vk_argument
: visitor_c
-> argument
-> unit
50 val vk_argument_list
: visitor_c
-> argument wrap2 list
-> unit
51 val vk_args_splitted
: visitor_c
-> (argument
, il
) Common.either list
-> unit
52 val vk_param
: visitor_c
-> parameterType
-> unit
53 val vk_param_list
: visitor_c
-> parameterType wrap2 list
-> unit
54 val vk_params_splitted
:
55 visitor_c
-> (parameterType
, il
) Common.either list
-> unit
57 val vk_struct_field
: visitor_c
-> field
-> unit
58 val vk_struct_fields
: visitor_c
-> field list
-> unit
59 val vk_struct_fieldkinds
: visitor_c
-> fieldkind wrap list
-> unit
60 val vk_enum_fields
: visitor_c
-> enumType
-> unit
61 val vk_enum_fields_splitted
:
62 visitor_c
-> (oneEnumType
, il
) Common.either list
-> unit
64 val vk_cst
: visitor_c
-> ((constant
, string) Common.either wrap
) -> unit
66 val vk_define_params_splitted
:
67 visitor_c
-> (string Ast_c.wrap
, il
) Common.either list
-> unit
71 (* ------------------------------------------------------------------------ *)
72 type 'a inout
= 'a
-> 'a
74 kexpr_s
: expression inout
* visitor_c_s
-> expression inout
;
75 kstatement_s
: statement inout
* visitor_c_s
-> statement inout
;
76 ktype_s
: fullType inout
* visitor_c_s
-> fullType inout
;
78 kdecl_s
: declaration inout
* visitor_c_s
-> declaration inout
;
79 kdef_s
: definition inout
* visitor_c_s
-> definition inout
;
80 kname_s
: name inout
* visitor_c_s
-> name inout
;
82 kini_s
: initialiser inout
* visitor_c_s
-> initialiser inout
;
84 kcppdirective_s
: (cpp_directive inout
* visitor_c_s
) -> cpp_directive inout
;
85 kdefineval_s
: (define_val inout
* visitor_c_s
) -> define_val inout
;
86 kstatementseq_s
: (statement_sequencable inout
* visitor_c_s
) -> statement_sequencable inout
;
88 (statement_sequencable list inout
* visitor_c_s
) -> statement_sequencable list inout
;
91 Control_flow_c.node inout
* visitor_c_s
-> Control_flow_c.node inout
;
92 ktoplevel_s
: toplevel inout
* visitor_c_s
-> toplevel inout
;
94 kinfo_s
: info inout
* visitor_c_s
-> info inout
;
97 val default_visitor_c_s
: visitor_c_s
99 val vk_expr_s
: visitor_c_s
-> expression
-> expression
100 val vk_argument_s
: visitor_c_s
-> argument
-> argument
101 val vk_statement_s
: visitor_c_s
-> statement
-> statement
102 val vk_statement_sequencable_s
: visitor_c_s
-> statement_sequencable
-> statement_sequencable
103 val vk_type_s
: visitor_c_s
-> fullType
-> fullType
104 val vk_decl_s
: visitor_c_s
-> declaration
-> declaration
105 val vk_decl_list_s
: visitor_c_s
-> declaration list
-> declaration list
106 val vk_ini_s
: visitor_c_s
-> initialiser
-> initialiser
108 val vk_inis_splitted_s
:
110 (initialiser
, il
) Common.either list
->
111 (initialiser
, il
) Common.either list
113 val vk_def_s
: visitor_c_s
-> definition
-> definition
114 val vk_name_s
: visitor_c_s
-> name
-> name
115 val vk_toplevel_s
: visitor_c_s
-> toplevel
-> toplevel
116 val vk_info_s
: visitor_c_s
-> info
-> info
117 val vk_ii_s
: visitor_c_s
-> info list
-> info list
118 val vk_node_s
: visitor_c_s
-> Control_flow_c.node
-> Control_flow_c.node
119 val vk_program_s
: visitor_c_s
-> program
-> program
121 val vk_arguments_s
: visitor_c_s
-> argument wrap2 list
-> argument wrap2 list
123 val vk_inis_s
: visitor_c_s
-> initialiser wrap2 list
-> initialiser wrap2 list
125 val vk_args_splitted_s
:
127 (argument
, il
) Common.either list
->
128 (argument
, il
) Common.either list
132 parameterType wrap2 list
-> parameterType wrap2 list
134 val vk_params_splitted_s
:
136 (parameterType
, il
) Common.either list
->
137 (parameterType
, il
) Common.either list
141 val vk_param_s
: visitor_c_s
-> parameterType
-> parameterType
143 val vk_define_params_splitted_s
:
145 (string Ast_c.wrap
, il
) Common.either list
->
146 (string Ast_c.wrap
, il
) Common.either list
148 val vk_enum_fields_s
: visitor_c_s
-> enumType
-> enumType
149 val vk_enum_fields_splitted_s
: visitor_c_s
->
150 (oneEnumType
, il
) Common.either list
->
151 (oneEnumType
, il
) Common.either list
152 val vk_struct_field_s
: visitor_c_s
-> field
-> field
153 val vk_struct_fields_s
: visitor_c_s
-> field list
-> field list
155 val vk_cst_s
: visitor_c_s
-> ((constant
, string) Common.either wrap
) inout