Release coccinelle-0.2.4
[bpt/coccinelle.git] / parsing_cocci / visitor_ast0.mli
CommitLineData
9bc82bae
C
1(*
2 * Copyright 2010, INRIA, University of Copenhagen
3 * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix
4 * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
5 * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
6 * This file is part of Coccinelle.
7 *
8 * Coccinelle is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, according to version 2 of the License.
11 *
12 * Coccinelle is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with Coccinelle. If not, see <http://www.gnu.org/licenses/>.
19 *
20 * The authors reserve the right to distribute this or future versions of
21 * Coccinelle under other licenses.
22 *)
23
24
c491d8ee
C
25(*
26 * Copyright 2010, INRIA, University of Copenhagen
27 * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix
28 * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
29 * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
30 * This file is part of Coccinelle.
31 *
32 * Coccinelle is free software: you can redistribute it and/or modify
33 * it under the terms of the GNU General Public License as published by
34 * the Free Software Foundation, according to version 2 of the License.
35 *
36 * Coccinelle is distributed in the hope that it will be useful,
37 * but WITHOUT ANY WARRANTY; without even the implied warranty of
38 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39 * GNU General Public License for more details.
40 *
41 * You should have received a copy of the GNU General Public License
42 * along with Coccinelle. If not, see <http://www.gnu.org/licenses/>.
43 *
44 * The authors reserve the right to distribute this or future versions of
45 * Coccinelle under other licenses.
46 *)
47
48
b1b2de81 49val combiner_functions : 'a Visitor_ast0_types.combiner_functions
34e49164 50val combiner :
b1b2de81
C
51 ('a -> 'a -> 'a) ->
52 'a -> 'a Visitor_ast0_types.combiner_functions ->
53 'a Visitor_ast0_types.combiner_rec_functions
34e49164 54
b1b2de81
C
55val flat_combiner :
56 ('a -> 'a -> 'a) -> 'a ->
ae4735db 57 ((Ast_cocci.meta_name,'a) Visitor_ast0_types.flat_cmcode) ->
b1b2de81
C
58 ((string,'a) Visitor_ast0_types.flat_cmcode) ->
59 ((Ast_cocci.constant,'a) Visitor_ast0_types.flat_cmcode) ->
60 ((Ast_cocci.assignOp,'a) Visitor_ast0_types.flat_cmcode) ->
61 ((Ast_cocci.fixOp,'a) Visitor_ast0_types.flat_cmcode) ->
62 ((Ast_cocci.unaryOp,'a) Visitor_ast0_types.flat_cmcode) ->
63 ((Ast_cocci.binaryOp,'a) Visitor_ast0_types.flat_cmcode) ->
64 ((Ast_cocci.const_vol,'a) Visitor_ast0_types.flat_cmcode) ->
65 ((Ast_cocci.sign,'a) Visitor_ast0_types.flat_cmcode) ->
66 ((Ast_cocci.structUnion,'a) Visitor_ast0_types.flat_cmcode) ->
67 ((Ast_cocci.storage,'a) Visitor_ast0_types.flat_cmcode) ->
68 ((Ast_cocci.inc_file,'a) Visitor_ast0_types.flat_cmcode) ->
69 ((Ast0_cocci.expression Ast0_cocci.dots,'a) Visitor_ast0_types.ccode) ->
70 ((Ast0_cocci.initialiser Ast0_cocci.dots,'a) Visitor_ast0_types.ccode) ->
71 ((Ast0_cocci.parameterTypeDef Ast0_cocci.dots,'a)
72 Visitor_ast0_types.ccode) ->
73 ((Ast0_cocci.statement Ast0_cocci.dots,'a) Visitor_ast0_types.ccode) ->
74 ((Ast0_cocci.declaration Ast0_cocci.dots,'a) Visitor_ast0_types.ccode) ->
75 ((Ast0_cocci.case_line Ast0_cocci.dots,'a) Visitor_ast0_types.ccode) ->
76 ((Ast0_cocci.ident,'a) Visitor_ast0_types.ccode) ->
77 ((Ast0_cocci.expression,'a) Visitor_ast0_types.ccode) ->
78 ((Ast0_cocci.typeC,'a) Visitor_ast0_types.ccode) ->
79 ((Ast0_cocci.initialiser,'a) Visitor_ast0_types.ccode) ->
80 ((Ast0_cocci.parameterTypeDef,'a) Visitor_ast0_types.ccode) ->
81 ((Ast0_cocci.declaration,'a) Visitor_ast0_types.ccode) ->
82 ((Ast0_cocci.statement,'a) Visitor_ast0_types.ccode) ->
83 ((Ast0_cocci.case_line,'a) Visitor_ast0_types.ccode) ->
84 ((Ast0_cocci.top_level,'a) Visitor_ast0_types.ccode) ->
85 'a Visitor_ast0_types.combiner_rec_functions
34e49164 86
b1b2de81
C
87val rebuilder_functions : Visitor_ast0_types.rebuilder_functions
88val rebuilder : Visitor_ast0_types.rebuilder_functions ->
89 Visitor_ast0_types.rebuilder_rec_functions
34e49164 90
b1b2de81 91val flat_rebuilder :
ae4735db 92 (Ast_cocci.meta_name Visitor_ast0_types.rmcode) ->
b1b2de81
C
93 (string Visitor_ast0_types.rmcode) ->
94 (Ast_cocci.constant Visitor_ast0_types.rmcode) ->
95 (Ast_cocci.assignOp Visitor_ast0_types.rmcode) ->
96 (Ast_cocci.fixOp Visitor_ast0_types.rmcode) ->
97 (Ast_cocci.unaryOp Visitor_ast0_types.rmcode) ->
98 (Ast_cocci.binaryOp Visitor_ast0_types.rmcode) ->
99 (Ast_cocci.const_vol Visitor_ast0_types.rmcode) ->
100 (Ast_cocci.sign Visitor_ast0_types.rmcode) ->
101 (Ast_cocci.structUnion Visitor_ast0_types.rmcode) ->
102 (Ast_cocci.storage Visitor_ast0_types.rmcode) ->
103 (Ast_cocci.inc_file Visitor_ast0_types.rmcode) ->
104 (Ast0_cocci.expression Ast0_cocci.dots Visitor_ast0_types.rcode) ->
105 (Ast0_cocci.initialiser Ast0_cocci.dots Visitor_ast0_types.rcode) ->
106 (Ast0_cocci.parameterTypeDef Ast0_cocci.dots Visitor_ast0_types.rcode) ->
107 (Ast0_cocci.statement Ast0_cocci.dots Visitor_ast0_types.rcode) ->
108 (Ast0_cocci.declaration Ast0_cocci.dots Visitor_ast0_types.rcode) ->
109 (Ast0_cocci.case_line Ast0_cocci.dots Visitor_ast0_types.rcode) ->
110 (Ast0_cocci.ident Visitor_ast0_types.rcode) ->
111 (Ast0_cocci.expression Visitor_ast0_types.rcode) ->
112 (Ast0_cocci.typeC Visitor_ast0_types.rcode) ->
113 (Ast0_cocci.initialiser Visitor_ast0_types.rcode) ->
114 (Ast0_cocci.parameterTypeDef Visitor_ast0_types.rcode) ->
115 (Ast0_cocci.declaration Visitor_ast0_types.rcode) ->
116 (Ast0_cocci.statement Visitor_ast0_types.rcode) ->
117 (Ast0_cocci.case_line Visitor_ast0_types.rcode) ->
118 (Ast0_cocci.top_level Visitor_ast0_types.rcode) ->
119 Visitor_ast0_types.rebuilder_rec_functions
34e49164 120
b1b2de81
C
121val combiner_rebuilder_functions :
122 'a Visitor_ast0_types.combiner_rebuilder_functions
123val combiner_rebuilder :
124 ('a -> 'a -> 'a) -> 'a ->
125 'a Visitor_ast0_types.combiner_rebuilder_functions ->
126 'a Visitor_ast0_types.all_functions