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.
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.
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.
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/>.
20 * The authors reserve the right to distribute this or future versions of
21 * Coccinelle under other licenses.
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.
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.
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.
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/>.
44 * The authors reserve the right to distribute this or future versions of
45 * Coccinelle under other licenses.
49 val combiner_functions
: 'a
Visitor_ast0_types.combiner_functions
52 'a
-> 'a
Visitor_ast0_types.combiner_functions
->
53 'a
Visitor_ast0_types.combiner_rec_functions
56 ('a
-> 'a
-> 'a
) -> 'a
->
57 ((Ast_cocci.meta_name
,'a
) Visitor_ast0_types.flat_cmcode
) ->
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
87 val rebuilder_functions
: Visitor_ast0_types.rebuilder_functions
88 val rebuilder
: Visitor_ast0_types.rebuilder_functions
->
89 Visitor_ast0_types.rebuilder_rec_functions
92 (Ast_cocci.meta_name
Visitor_ast0_types.rmcode
) ->
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
121 val combiner_rebuilder_functions
:
122 'a
Visitor_ast0_types.combiner_rebuilder_functions
123 val combiner_rebuilder
:
124 ('a
-> 'a
-> 'a
) -> 'a
->
125 'a
Visitor_ast0_types.combiner_rebuilder_functions
->
126 'a
Visitor_ast0_types.all_functions