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