X-Git-Url: https://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/34e491640531bd81a0e2238fd599e1aafe53613e..9bc82bae75129fec4d981ebf245f2f7d7ca73a41:/parsing_cocci/visitor_ast.mli diff --git a/parsing_cocci/visitor_ast.mli b/parsing_cocci/visitor_ast.mli index e1d561a..21bc1d7 100644 --- a/parsing_cocci/visitor_ast.mli +++ b/parsing_cocci/visitor_ast.mli @@ -1,3 +1,51 @@ +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type 'a combiner = {combiner_ident : Ast_cocci.ident -> 'a; combiner_expression : Ast_cocci.expression -> 'a; @@ -17,14 +65,16 @@ type 'a combiner = combiner_statement_dots : Ast_cocci.statement Ast_cocci.dots -> 'a; combiner_declaration_dots : - Ast_cocci.declaration Ast_cocci.dots -> 'a} + Ast_cocci.declaration Ast_cocci.dots -> 'a; + combiner_initialiser_dots : + Ast_cocci.initialiser Ast_cocci.dots -> 'a} type ('mc,'a) cmcode = 'a combiner -> 'mc Ast_cocci.mcode -> 'a type ('cd,'a) ccode = 'a combiner -> ('cd -> 'a) -> 'cd -> 'a val combiner : ('a -> 'a -> 'a) -> 'a -> - (((string*string),'a) cmcode) -> + ((Ast_cocci.meta_name,'a) cmcode) -> ((string,'a) cmcode) -> ((Ast_cocci.constant,'a) cmcode) -> ((Ast_cocci.assignOp,'a) cmcode) -> @@ -32,7 +82,6 @@ val combiner : ((Ast_cocci.unaryOp,'a) cmcode) -> ((Ast_cocci.binaryOp,'a) cmcode) -> ((Ast_cocci.const_vol,'a) cmcode) -> - ((Ast_cocci.baseType,'a) cmcode) -> ((Ast_cocci.sign,'a) cmcode) -> ((Ast_cocci.structUnion,'a) cmcode) -> ((Ast_cocci.storage,'a) cmcode) -> @@ -41,6 +90,7 @@ val combiner : ((Ast_cocci.parameterTypeDef Ast_cocci.dots,'a) ccode) -> ((Ast_cocci.statement Ast_cocci.dots,'a) ccode) -> ((Ast_cocci.declaration Ast_cocci.dots,'a) ccode) -> + ((Ast_cocci.initialiser Ast_cocci.dots,'a) ccode) -> ((Ast_cocci.ident,'a) ccode) -> ((Ast_cocci.expression,'a) ccode) -> ((Ast_cocci.fullType,'a) ccode) -> @@ -73,6 +123,7 @@ type rebuilder = rebuilder_expression_dots : Ast_cocci.expression Ast_cocci.dots inout; rebuilder_statement_dots : Ast_cocci.statement Ast_cocci.dots inout; rebuilder_declaration_dots : Ast_cocci.declaration Ast_cocci.dots inout; + rebuilder_initialiser_dots : Ast_cocci.initialiser Ast_cocci.dots inout; rebuilder_define_param_dots: Ast_cocci.define_param Ast_cocci.dots inout; rebuilder_define_param : Ast_cocci.define_param inout; rebuilder_define_parameters : Ast_cocci.define_parameters inout; @@ -82,7 +133,7 @@ type 'mc rmcode = 'mc Ast_cocci.mcode inout type 'cd rcode = rebuilder -> ('cd inout) -> 'cd inout val rebuilder : - ((string*string) rmcode) -> + (Ast_cocci.meta_name rmcode) -> (string rmcode) -> (Ast_cocci.constant rmcode) -> (Ast_cocci.assignOp rmcode) -> @@ -90,7 +141,6 @@ val rebuilder : (Ast_cocci.unaryOp rmcode) -> (Ast_cocci.binaryOp rmcode) -> (Ast_cocci.const_vol rmcode) -> - (Ast_cocci.baseType rmcode) -> (Ast_cocci.sign rmcode) -> (Ast_cocci.structUnion rmcode) -> (Ast_cocci.storage rmcode) -> @@ -99,6 +149,7 @@ val rebuilder : (Ast_cocci.parameterTypeDef Ast_cocci.dots rcode) -> (Ast_cocci.statement Ast_cocci.dots rcode) -> (Ast_cocci.declaration Ast_cocci.dots rcode) -> + (Ast_cocci.initialiser Ast_cocci.dots rcode) -> (Ast_cocci.ident rcode) -> (Ast_cocci.expression rcode) -> (Ast_cocci.fullType rcode) ->