From f537ebc4bbd27866c9ac3e1198b6756ebab7f2ba Mon Sep 17 00:00:00 2001 From: Coccinelle Date: Sun, 3 Apr 2011 17:25:30 +0200 Subject: [PATCH] coccinelle release 0.2.5 ** Language: - Make a very small attempt to parse C++ code, amounting to accepting identifiers containing ::, tilde, and template invocations. Use the option -c++. This is not likely to be very useful in practice. - Added metavariable metavariable type. - Add disjunctions on identifiers in some contexts - Pretend that & indicates a pointer in -c++ mode - Support for new and delete - Allow arrays in smpl parameter declarations. Thanks to Jesper Louis Andersen for pointing out the problem. - Field list metavariables - Add the ability to add __attributes__ (NB, no matching on attributes) - Slightly improved the error message for transformation on multiple variable declaration. Thanks to Jonathan Nieder for pointing out the problem. ** Features: - support transformations on variables (only) in declarations that declare multiple variables - allow #endif XXX in C code - relax_include_path now applied to non local includes too, in which case it tries to find a unique file with a suffix of the provided name. this is useful for directories that are intended to be symbolic links. - support matching and removing #undef - support for iteration in ocaml, requires use of -no_show_diff - calls to likely and unlikely propagate test expression status to their arguments - reuse typedefs and macros from complete parsing when reparsing the transformed code - better explanation when presenting glimpse tokens - optimization for an if branch that is just { ... } - spatch -control_flow_to_file file.c generates a file file.dot - include files with names ending in .cpp if -c++ option is given - removed use of the no longer supported sexplib function Conv.hashtbl_of_sexp - add information about which Fedora packages are needed ** Bugfix: - improved parsing of expressions to allow ... to the right of operators in more places - Fix check_config for Python 2.7 on Fedora 14 (Reported-by: Michael Stefaniuc) - Check for ocamlfind in configure (Reported-by: Paul E. McKenney) - Postpone use of ocamlfind at runtime to report fewer errors - Add support for Python 2.4 binding with the provided pycaml library - Allow '@' in script code. Thanks to Laurent Reveillere for noticing the problem. - Remove an optimization of x or true to true in asttoctl2 for the case where x may make a modification, eg the case of -thing ?-thing - Allow adding comments before a function. - Introduction of newlines in function arguments needs to take into account that the code added by SmPL can include newlines. Thanks to Thomas Gleixner for finding the problem. --- Makefile | 22 + changes.txt | 4 + cocci.ml | 24 + cocci.mli | 24 + ctl/Makefile | 22 + ctl/ast_ctl.ml | 24 + ctl/ctl_engine.ml | 24 + ctl/ctl_engine.mli | 24 + ctl/flag_ctl.ml | 24 + ctl/pretty_print_ctl.ml | 24 + ctl/pretty_print_ctl.mli | 24 + ctl/test_ctl.ml | 24 + ctl/wrapper_ctl.ml | 24 + ctl/wrapper_ctl.mli | 24 + docs/manual/cocci_syntax.tex | 7 +- docs/manual/main_grammar.pdf | Bin 338484 -> 338692 bytes docs/manual/manual.pdf | Bin 443612 -> 443753 bytes docs/manual/options.pdf | Bin 138113 -> 137547 bytes engine/Makefile | 22 + engine/asttoctl.ml | 24 + engine/asttoctl.mli | 24 + engine/asttoctl2.ml | 24 + engine/asttoctl2.mli | 24 + engine/asttomember.ml | 24 + engine/asttomember.mli | 24 + engine/c_vs_c.ml | 24 + engine/c_vs_c.mli | 24 + engine/check_exhaustive_pattern.ml | 24 + engine/check_reachability.ml | 24 + engine/check_reachability.mli | 24 + engine/cocci_vs_c.ml | 24 + engine/cocci_vs_c.mli | 24 + engine/ctlcocci_integration.ml | 24 + engine/ctlcocci_integration.mli | 24 + engine/ctltotex.ml | 24 + engine/ctltotex.mli | 24 + engine/flag_engine.ml | 24 + engine/flag_matcher.ml | 24 + engine/isomorphisms_c_c.ml | 24 + engine/lib_engine.ml | 24 + engine/lib_matcher_c.ml | 24 + engine/lib_matcher_c.mli | 24 + engine/main.ml | 24 + engine/pattern_c.ml | 24 + engine/pattern_c.mli | 24 + engine/postprocess_transinfo.ml | 24 + engine/postprocess_transinfo.mli | 24 + engine/pretty_print_engine.ml | 24 + engine/pretty_print_engine.mli | 24 + engine/sgrep.ml | 24 + engine/transformation_c.ml | 24 + engine/transformation_c.mli | 24 + flag_cocci.ml | 24 + globals/Makefile | 22 + globals/config.ml.in | 2 +- globals/flag.ml | 24 + globals/iteration.ml | 24 + globals/iteration.mli | 24 + install.txt | 7 + main.ml | 24 + parsing_c/unparse_c.ml | 8 +- parsing_cocci/Makefile | 22 + parsing_cocci/adjacency.ml | 24 + parsing_cocci/adjacency.mli | 24 + parsing_cocci/adjust_pragmas.ml | 24 + parsing_cocci/adjust_pragmas.mli | 24 + parsing_cocci/arity.ml | 24 + parsing_cocci/arity.mli | 24 + parsing_cocci/ast0_cocci.ml | 24 + parsing_cocci/ast0_cocci.mli | 24 + parsing_cocci/ast0toast.ml | 24 + parsing_cocci/ast0toast.mli | 24 + parsing_cocci/ast_cocci.ml | 24 + parsing_cocci/ast_cocci.mli | 24 + parsing_cocci/check_meta.ml | 24 + parsing_cocci/check_meta.mli | 24 + parsing_cocci/comm_assoc.ml | 24 + parsing_cocci/comm_assoc.mli | 24 + parsing_cocci/compute_lines.ml | 24 + parsing_cocci/compute_lines.mli | 24 + parsing_cocci/context_neg.ml | 24 + parsing_cocci/context_neg.mli | 24 + parsing_cocci/data.ml | 24 + parsing_cocci/data.mli | 24 + parsing_cocci/disjdistr.ml | 24 + parsing_cocci/disjdistr.mli | 24 + parsing_cocci/flag_parsing_cocci.ml | 24 + parsing_cocci/free_vars.ml | 24 + parsing_cocci/free_vars.mli | 24 + parsing_cocci/function_prototypes.ml | 24 + parsing_cocci/function_prototypes.mli | 24 + parsing_cocci/get_constants.ml | 24 + parsing_cocci/get_constants.mli | 24 + parsing_cocci/get_constants2.ml | 24 + parsing_cocci/get_constants2.mli | 24 + parsing_cocci/id_utils.ml | 24 + parsing_cocci/id_utils.mli | 24 + parsing_cocci/index.ml | 24 + parsing_cocci/index.mli | 24 + parsing_cocci/insert_plus.ml | 24 + parsing_cocci/insert_plus.mli | 24 + parsing_cocci/iso_compile.ml | 24 + parsing_cocci/iso_compile.mli | 24 + parsing_cocci/iso_pattern.ml | 24 + parsing_cocci/iso_pattern.mli | 24 + parsing_cocci/lexer_cocci.mll | 24 + parsing_cocci/lexer_script.mll | 24 + parsing_cocci/main.ml | 24 + parsing_cocci/merge.ml | 24 + parsing_cocci/merge.mli | 24 + parsing_cocci/parse_aux.ml | 24 + parsing_cocci/parse_cocci.ml | 26 +- parsing_cocci/parse_cocci.mli | 24 + parsing_cocci/parser_cocci.mly | 24 + parsing_cocci/parser_cocci_menhir.ml | 4594 ++++++++++++------------ parsing_cocci/parser_cocci_menhir.mly | 24 + parsing_cocci/plus.ml | 24 + parsing_cocci/plus.mli | 24 + parsing_cocci/pretty_print_cocci.ml | 24 + parsing_cocci/pretty_print_cocci.mli | 24 + parsing_cocci/safe_for_multi_decls.ml | 24 + parsing_cocci/safe_for_multi_decls.mli | 24 + parsing_cocci/semantic_cocci.ml | 24 + parsing_cocci/simple_assignments.ml | 24 + parsing_cocci/simple_assignments.mli | 24 + parsing_cocci/single_statement.ml | 24 + parsing_cocci/single_statement.mli | 24 + parsing_cocci/test.cocci | 22 + parsing_cocci/test2.cocci | 22 + parsing_cocci/test_exps.ml | 24 + parsing_cocci/test_exps.mli | 24 + parsing_cocci/top_level.ml | 24 + parsing_cocci/top_level.mli | 24 + parsing_cocci/type_cocci.ml | 24 + parsing_cocci/type_cocci.mli | 24 + parsing_cocci/type_infer.ml | 24 + parsing_cocci/type_infer.mli | 24 + parsing_cocci/unify_ast.ml | 24 + parsing_cocci/unify_ast.mli | 24 + parsing_cocci/unitary_ast0.ml | 24 + parsing_cocci/unitary_ast0.mli | 24 + parsing_cocci/unparse_ast0.ml | 24 + parsing_cocci/unparse_ast0.mli | 24 + parsing_cocci/visitor_ast.ml | 24 + parsing_cocci/visitor_ast.mli | 24 + parsing_cocci/visitor_ast0.ml | 24 + parsing_cocci/visitor_ast0.mli | 24 + parsing_cocci/visitor_ast0_types.ml | 24 + popl/Makefile | 22 + popl/ast_popl.ml | 24 + popl/asttopopl.ml | 24 + popl/asttopopl.mli | 24 + popl/insert_befaft.ml | 24 + popl/insert_befaft.mli | 24 + popl/insert_quantifiers.ml | 24 + popl/insert_quantifiers.mli | 24 + popl/popl.ml | 24 + popl/popl.mli | 24 + popl/popltoctl.ml | 24 + popl/popltoctl.mli | 24 + popl/pretty_print_popl.ml | 24 + popl/pretty_print_popl.mli | 24 + popl09/Makefile | 22 + popl09/ast_popl.ml | 24 + popl09/asttopopl.ml | 24 + popl09/asttopopl.mli | 24 + popl09/flag_popl.ml | 24 + popl09/insert_quantifiers.ml | 24 + popl09/insert_quantifiers.mli | 24 + popl09/popl.ml | 24 + popl09/popl.mli | 24 + popl09/popltoctl.ml | 24 + popl09/popltoctl.mli | 24 + popl09/pretty_print_popl.ml | 24 + popl09/pretty_print_popl.mli | 24 + python/Makefile | 22 + python/no_pycocci.ml | 24 + python/pycocci.mli | 24 + python/pycocci_aux.ml | 24 + python/pycocci_aux.mli | 24 + python/yes_pycocci.ml | 24 + scripts/extract_c_and_res.pl | 22 + scripts/extract_examples.pl | 22 + scripts/extractor_README.pl | 22 + scripts/gather_failed.pl | 22 + scripts/readme.pl | 22 + scripts/stat_directories.pl | 22 + scripts/stat_directories_complete.pl | 22 + scripts/stat_directory_complete.pl | 22 + testing.ml | 24 + testing.mli | 24 + tools/Makefile | 22 + tools/alloc_free.ml | 24 + tools/bridge.ml | 24 + tools/dir_stats.ml | 24 + tools/dumper.ml | 24 + tools/dumper.mli | 24 + tools/extract_c_and_res.ml | 24 + tools/generate_dependencies.ml | 24 + tools/gitgrep.ml | 24 + tools/gitsort.ml | 24 + tools/licensify.ml | 24 + tools/process_isoprofile.ml | 24 + tools/splitpatch.ml | 24 + tools/spp.ml | 24 + 205 files changed, 6984 insertions(+), 2306 deletions(-) diff --git a/Makefile b/Makefile index cd02367..fa0db61 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,25 @@ +# 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. + + ############################################################################# # Configuration section diff --git a/changes.txt b/changes.txt index 0ac2e9c..fa143f5 100644 --- a/changes.txt +++ b/changes.txt @@ -49,6 +49,7 @@ - spatch -control_flow_to_file file.c generates a file file.dot - include files with names ending in .cpp if -c++ option is given - removed use of the no longer supported sexplib function Conv.hashtbl_of_sexp +- add information about which Fedora packages are needed ** Bugfix: - improved parsing of expressions to allow ... to the right of operators in @@ -62,6 +63,9 @@ - Remove an optimization of x or true to true in asttoctl2 for the case where x may make a modification, eg the case of -thing ?-thing - Allow adding comments before a function. +- Introduction of newlines in function arguments needs to take into account + that the code added by SmPL can include newlines. Thanks to Thomas + Gleixner for finding the problem. * 0.2.4 ** Language: diff --git a/cocci.ml b/cocci.ml index 9d849d2..5a86ffa 100644 --- a/cocci.ml +++ b/cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common module CCI = Ctlcocci_integration diff --git a/cocci.mli b/cocci.mli index 0dd9f66..190199c 100644 --- a/cocci.mli +++ b/cocci.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common (* full_engine takes (coccifile, isofile) and cfiles in parameters and diff --git a/ctl/Makefile b/ctl/Makefile index 582ac7f..996dfbc 100644 --- a/ctl/Makefile +++ b/ctl/Makefile @@ -1,3 +1,25 @@ +# 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. + + #note: if you add a file (a .mli or .ml), dont forget to do a make depend -include ../Makefile.config diff --git a/ctl/ast_ctl.ml b/ctl/ast_ctl.ml index 048eba1..30e8c60 100644 --- a/ctl/ast_ctl.ml +++ b/ctl/ast_ctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* ---------------------------------------------------------------------- *) (* Types *) diff --git a/ctl/ctl_engine.ml b/ctl/ctl_engine.ml index 5b324c4..4577176 100644 --- a/ctl/ctl_engine.ml +++ b/ctl/ctl_engine.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (*external c_counter : unit -> int = "c_counter"*) let timeout = 800 (* Optimize triples_conj by first extracting the intersection of the two sets, diff --git a/ctl/ctl_engine.mli b/ctl/ctl_engine.mli index 57a6042..3251c0a 100644 --- a/ctl/ctl_engine.mli +++ b/ctl/ctl_engine.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Ast_ctl module type SUBST = diff --git a/ctl/flag_ctl.ml b/ctl/flag_ctl.ml index c54aea6..d840ef0 100644 --- a/ctl/flag_ctl.ml +++ b/ctl/flag_ctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* option -verbose_ctl_engine *) let verbose_ctl_engine = ref false diff --git a/ctl/pretty_print_ctl.ml b/ctl/pretty_print_ctl.ml index 0718008..9c7fbf1 100644 --- a/ctl/pretty_print_ctl.ml +++ b/ctl/pretty_print_ctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common open Format diff --git a/ctl/pretty_print_ctl.mli b/ctl/pretty_print_ctl.mli index ab4ce2d..4819215 100644 --- a/ctl/pretty_print_ctl.mli +++ b/ctl/pretty_print_ctl.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val pp_ctl: ('pred -> unit) * ('mvar -> unit) -> bool (* inline_let_def *) -> diff --git a/ctl/test_ctl.ml b/ctl/test_ctl.ml index 81b20da..c53681c 100644 --- a/ctl/test_ctl.ml +++ b/ctl/test_ctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* ********************************************************************** *) (* Module: EXAMPLE_ENGINE (instance of CTL_ENGINE) *) diff --git a/ctl/wrapper_ctl.ml b/ctl/wrapper_ctl.ml index 33b7fd2..ac740dc 100644 --- a/ctl/wrapper_ctl.ml +++ b/ctl/wrapper_ctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* ********************************************************************** * * Wrapping for FUNCTORS and MODULES diff --git a/ctl/wrapper_ctl.mli b/ctl/wrapper_ctl.mli index 12a2965..17436dd 100644 --- a/ctl/wrapper_ctl.mli +++ b/ctl/wrapper_ctl.mli @@ -1,3 +1,27 @@ +(* + * 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 info = int type ('pred, 'mvar) wrapped_ctl = diff --git a/docs/manual/cocci_syntax.tex b/docs/manual/cocci_syntax.tex index 84b9469..1f55dfc 100644 --- a/docs/manual/cocci_syntax.tex +++ b/docs/manual/cocci_syntax.tex @@ -155,7 +155,7 @@ the same, but for structure fields. \CASE{parameter list [ \NT{const} ] \NT{ids} ;} \CASE{type \NT{ids} ;} \CASE{statement \opt{list} \NT{ids} ;} - \CASE{declaration \opt{list} \NT{ids} ;} + \CASE{declaration \NT{ids} ;} \CASE{field \opt{list} \NT{ids} ;} \CASE{typedef \NT{ids} ;} \CASE{declarer name \NT{ids} ;} @@ -539,7 +539,7 @@ T b; ( writeb(..., | - readb( + readb(..., ) @--(T) b) @@ -564,6 +564,9 @@ write \end{tabular} \end{center} +Some kinds of terms can only appear in + code. These include comments, +ifdefs, and attributes (\texttt{\_\_attribute\_\_((...))}). + \section{Types} \label{types} diff --git a/docs/manual/main_grammar.pdf b/docs/manual/main_grammar.pdf index b44d6ae4bee8e711047613ac37949fac3d8ac588..fe137a404a1e29bc8a7771a1591c7ada57836273 100644 GIT binary patch delta 44425 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 C8PLA~ delta 44146 zcmV(tKAd^FViI+b+L|*9KJj6`0m?x{FUFoKD@jCAd_93GZClB?%{D4 z7crAE-DO$9;u3~VyPu+mi`pMV%A+5;Pu~;ut*N@MGW78?Px+U9f1F0j*hcp>$eCag zX5#&S9{x#UVpgW9KryLcd6Di8qF_ZClazlct144pX#3gd@k(Ui_>HdXrdMsNkmXKF zR%8-*NG6h!czm20h~mx@Jf3wZS(%9pRXCujT$a0o%z%*yrZ#qekTH)=x*j{#5A=04 zpj|)sxd9!5#5uS@fATWYk2kaAE~MJ3KabVfkB?TJh&n#sY+2aocn(^(Y=1~f9(_O$ zYjd-q(>ADBnE_0eB6YLqqC=dpGD+aqxt>g%btyk}QRi>`&!~irmmN|?0+E$2MTn6zGRmKxtRU3^;;>XjaaRCG5 zQ2nw8H~Lk&4}|gCbYL(!5I@jjPc`QYS#m%lERGgYWrO&ATtsIVQlP6lG0Ll3j#X8o}R?nFDYEV83B6Xro7N``z_Kr&>M z_K*W5BoQaJ&1oZHU`3vV6?Yp-yKAjinY1E@a zkHEpue=ODDB@=Qsm??}_UA48%kpeG^zB$b01!p1n z`hjA?P@HEN=TtUt4?dGi-CjL4sI|F#VF3tp7JvY<00z(kN074FO4;;z9 zUugIre-9tOCu-eTfFJOs+E(N&$M%dZ7w)f`qQ$XvWd!zM-lPCE z#14##{pmr>$}O&(r77sVSXrZ*P;1YwWc#eS|Bx@(OYmC0LD_4+!Y*J`*t>`M{p@2viS zaWEB%*LBFgR);T*8OEyJC_G6HaTvc@HKFpB=~Q$OWNyflOvc4q)!94kt2^5aSy#b| zawwXzH)Hh>19CAU!5ANe=n73u!2El%b*$zl)k-v)TX1#w{evIj5gz` zc=ar8ZJO)wc`fy&ze~&lYx{6r3<2ZRe-Vn^BQ{@#wFonNI zwF(%41E9sZ>HC|YT&$Tib;EcsxuZ~7+`xQNG>;qRh!ha#jBb9{9B7WCf3ZG%6L5W5 ztdHQSf#dSfOR+P%3+T)J_-;qY%dDnq-63*gTRvZ2XtS**v#J;Xc7nS8a)(Ltgrvqx zEfgX`h44$aa-Y0e6=VHgBRlkm4 zUHiNio6%JfMk@L_sjKP%f6CWB(Qypp(>XjvNSNGWUlbzaNdZZTBczz;{1XmPSRY#D zV0RMzcu|xc1I(Ya5-n0Jt%M7W6${WVa%mgWglMy=voqQAoOf z6^Zu+40O(paPuKMXbA;+HSdLjNrZb|czmX1SEH{ABsl9Q3DU(2O#2YQUG&-jW0hap z44$A1IRtZvNmztqe=|#p?}Fu7z7^m8&BZ^AQ0+vj@xPQdHoW5aqBHGntcKQgg+9^+ z7XG#6sHRt!lV97@FW6lxOL%~UE)?+(Nfc!6MJZ$wi2Ze}{8hXT-bJl2qr;OJNdOdX zw;p&xdlaG|1qCSBH;Xql>oOFkT^PbNwSmSC_zF<9F2SXLe`~^JE?sC7svX|+wmO0Y zNSaP~Q~idopmtt+gI@U@h)sWLz+!hwAk&|c2(E)6uy|0Wr_m;?)AW7xi$bGRr+^!w z{PSX6{wtr09X9-_rBtEuIBx{SLkn_;<-%h0yX&yw=wASQ7~mqkel~#K(fBEP`9$g( z0Hgab8gi@ie{YgokFc+&{d`x!e8tS%@U|>iF~43d(mwY|S%mD$UrqbsHtqANq+9w7 zJG65W@_fFAxgchXyIXt-4pfJYe@Ko(2iNk5pc_dWknVqRhFCn{_yU91iB)aJ+m(m&n5vlm*CO@DSzc# zS##Sq5Pr|E&?D8xC=TLaI_*r-X*=m8(}()a&3I^vvY4Srm4_2gr~kc+OBN+kmMq7X zk|$8WaCi(co`5!|S(MFX`p+hBf`!rSV1z(OF37$J zE#fMMkn{kpO2#83zCY?iS`X+-;R}$cdO;#2?>jgoQk;l;gQ2@BdBbh=>(7mgS zEX^mIQZtT};PGhrqHyW>VxM4~q|+X;LcP9|gDoN>glY6JkMvowfE3vW9K52$ z;mDB?DSxPl9xCFdV4NWtsh#T>wL=}lpTFQE5Dk)@985!Ho(vJJUylHbKvB52gJ-bh z$4z<64!#uen{;q-GB7=(gR4PQ?ynQdB+h$Q%T5*ep@+-ba+!W!RB2uJmoEC~B3c(o z4T+T8Ri+&ps3_^~EBJ|;nL(0}5&L?~JSft?eSeV(`xw>ngT7o#bsk;j! zrSi}?tDCA#8oOp;30^237i+a2)<^2pN+PP*p;)(tPaXcqb{D8+e|<0r^=U63R1w7R zfvNdfE|4@ZNiQ-A!s-z=qKrYnt4CQ_w>8`)*c@>0-HCdNyAuJM5B{_oZ@oQv5~ZQ4 zjKYB%qv0BOWtZBOTdW%E!s5^;e)lZ?R1-Cm_BtkiWYO`MCwy3W7i~AsSD#)&fkGwSe%3wQ zgFT3Uq*NDL$a(GSF+?UapNs07xSKKMf&Xk2M#AN1Bx4eol3e%M16lK8Hc7{X2P-wZ z?!B>e^E57M+tbW|#oZXZSX&x+uc@-6Nhgl5wCz=D+jwKjRTBh8r z&`nsk$;^${mLNX+`O5ZWCdYxFboAGG7HnA=GjMFp0Ie|tv~gkEuC-s#c* z5+a*5dw~DNCwOp5Y`p^7slG&~ge>!at*0W&YX&5-BZaLUJVY{h(|RV2eK*eQ()M`m z+$%;*;y*ryoJ`Zo_Bc0%m%Su$o;x1#B5PvzBTt*gu_GqVAw|_0#K@KL2P=3JXGK4oV-Go76C7LwhDkm#5JaBFXw&VQwngG&f~%mcI!xEI2qVGUdS}Uh>Jl>M zOdHqyg#0+OU&Hhp8r%wSU_=DA<-vN^)MM89^yp06+K}7dR@l7Nl5*@^T@QG+U3m3K z;)iqu>kjafi6eG082xm|a(y-3TF3iDweoTAi;U6W6CmLDWldj-sZz}Y8Cu&wYvRo=Qt-?8wB$i$y-1U6dh0rEEW?wDcW5`3D(JJvOZv$;h^Dr@RzBkG z(haPYFtS{BG*#S~OywDdRyb{<#7Bv>Rss)qHle%!3eKm>r36gA2_R6A7R+sN|VPSrvc!wNe+lJ$L~(fvl# z0aZRY))tQMF?*M8uREtakRQvo4)C6@I#sm?zuO+0YfWu6_X4uR_SiY+Gd&k4?~~k5 zX)YZHWkqX;K61{B>>V(RBO-$_)Q2(D0f#Zv0=F^L16~FMHaRykm+_wi6$CdpF*K6_ zHz$9rxMOr>ZMP;|v0brtY}>Z&q=FsWwr$(CQ?YHc!iw#r^40Ucefsn`U-zHx^J9;( z?ul#Sn)h65Y%(H66*?gkJ0qaDovkw+6Fnn0K;FW}$i+$7&PLvjOO{R8ldQ6WNl##khL%d+ByNL0H$`10PBAr0LFHP7ES;&M?+iZzddla16bG^Tf3P2lfYlO zsolR4vUjxmYhm+O_ZLjj&dJ%y*wMn?8Spo%qNw=4^K>>hbp9u{lf_>(z|QoqrHP%f z%ReRkOZOM%uh!Yn!qy4k40Lz?CzgK^5MW~AWN&Tg@i+EgFndRff2HB#WMOOepBc~s z9D!zrjwaSXC#SzKf3g4R&VSYk_+P3ww70kR_?NfczpVae4i?T%KxR-|lA?Ep-S|CXD$*#C#l73lb{22uVqGgN<*Ff_5Vwe|p*08M{k8RYGp z|Aqum{@<}o|KCUQe*?w;Ed>9!(EI;J?tkUzf4Ri}ulM=CLW{dtTgw~T{2hRQ?-;<} zC1Yp{_`7ESvVeaUjkTfU|If$J#=_d;|K#;wtu=uEPWS%+Cgp7Sw=F`pW`C(+q-XrM z(85XF!X0R$XyI&Z4lp&e{@Z`Ef63KsO@NNp7Pi2@-2SVr06Hc{#{Z&IHMcOfvi*ky zwtuUDwkH3zg1>bAD}M%cB`tYnRhs|Jg8i4F;@?4VR`sy|o7?}WM$XRUe;)pU5f-*{ z2YAsjv2z0Gm^qpL-oL*IaWS*{{BJ`33yA4I&vJ&&ju!3!oxgQ6GW~z6`v39!&y(JN zff2Jcwln!>bX1%TZB718+y4~&qc(PNbo@*5zZSsXs{iBsuek>T-GRoi>nnD~Ji(Uf zSsBjtn0X^pqB;Y8Okg7+_GL|~#fAR0cD;V-;d@+FKR)V0=$mJ_|8#gPpV@yNN>d+= z^VvPbkaPHT)q|B2lE4Yj`L?3_I5_wy6Q(D>-caPKWd{~<0- zZX665k0GXS${A6zv&Rp|hbH4c5O1y=PSwlVZ5p*GNosDMxbJ@}E`+3yv3qDt8J8>s zW?w=e2aJL%MsYH3S7D)WvCPGZ{IrAT z(eHBhA%N!V`Bs0Unm*W&bFN4?!e;?S7sGVy7Wv@7%P1(QWf@9+9{mLMrd+`qE3nUt z1Dd+sj3Hb(ZCSlAvJL?yklqs8jZ)_(b9F$*@`fFTBDrnTOvoKAl}C2(eV?M=)~nOq zlP<;C8N6G=4M)*sNcGK zRk+!m!l_xkk?i})Jos6Fr)yS>eR5X;wSv?Mgi!ZLE5yav;d)f*agav?1~W$MQ|Vew zm_`6kmv$7Ej%njdL8O=sXq?g7FF)Cj=`ARccTjad(Bvw&t^5xAC~`9U0~l{t*R19E z{Ja`;l7oM4g5}R(m%bLS6c9|U`4V0GrVRV7Sy#yH&D41FVk4_D<63-;RB#Y9)oK22 zr50)23imu$cU7yMC)sSJNjsn{nMO2^j5kehjf4qFmFBRYWMheJj%W>=4YEx@Xt_a% zdxMiY@{_B3ko|Y2$3jIGp>K+SR;~w4WKpDhq04__jh7l?G>AwR3lI}!EQ8?OeI-Fi zP?LQ54PWr~y340T1-ks2SJA^OR$CS)16y|s4Ax)KLLPTR;TLv-(P+mA$#!|wJg^43DNm*hLBL=YD<`_lELbvfxVD(P$o zdANV15BU>4WRPOo>Q27#5XWHC4^J$dL1Opw9 zu*9RC!^T;QVwtOFqhYg7O7~qiJ>cb`?2{?iJDka_Q2CP&L45M{ zVUZY?Tf-W_I>>=?kWepfk5#xcX2>Ejoq4^$BX`@l?;|fln7zx^CVg)9DGS^3rig!V zBO4peQ+ljMj&$&1`JHk}1`-I)|A<)#$Ie!%vwDd)Kxr&cnv|lZ%)pncDm-@R=hf^3 zL@wsbDJAlr$N>1t!)DNxBXKloGQ$6DvMqp}?I`)H!aRQ>Hp7$DqYJ*eCA#zalYTEe#Fb4*gf^R{l;KLo zLxA#RqojA9k3L}Vp8Cs(5RGUE17n5cH-CRLzT>>`^9op=A$qVr(K{V@=?M?fwT)rq zef@Fj_kn}Z_vU8bF>n%2X>eO37yh&vJUDbZ(_fOmhQqmY3$#>6Otxm8{nLMD)cr5W z)_XTZnlj86TGW8lOTXlVz)kbeXvBg~c!};N#V7+hUB^f7w9ntYCoduRf28jVgsH6c z(2as7U@qj{6r~mySIIQa46coY;zz8@Tljgbj2W!!OT`sGNF(A;rq6~IaC4_QKuAH9 zM7dAQCCzmHx*evZf}UV9NGX3PClXtAerJQ8Bjn0!WQ}9hFR{rZeU<2Vr0;E-jtj0QbdI)&!2^HR-V$oULJNY5~xm^To5u7thp zN3YW;WrmMqEeG+)^z8StWe|g=yP{X==@?3g6? zSwQi=r_-D1gF0%zN9YmX2Yp?9L15j|_5N7YTJ2Jszq&&}-^DJu=#Bs*F_9c(SzyXn ziD$_ZZ(pw{lZPdf$1Q)BPV$2hrnc!$%2!I(zEv4f>rE?crg-hqTvw^+dNgYtw2}I* z2qVd}ZE-B{)=ja>#t#x|$)+}@`E{MsMx;e8Jx_)!Zp~}pPn4p=_c{+SjEC(HM^u9n zZ{MLY8@olX3f$`a*|RsIT5GOP3{U8vTqomq826y%BvFEk#MysXUxtYHyvox=auDg% zC+_rbYTS4*8$ z*&DQvN!*{HpK4_M!fVx%B}3QUsLO_?2+VjM&2%|FkFT5sUz7o!pwG}pyLHO_OfABd zBQJ)~tky}SGN^w9B+vUFrf4FD6f<8+_m;sYZRX40f_e->9_a^bX8r`n!774sq2-wY z?J+a@DRxW@g>}NuKk{{EKD%%vBdB(gNd${w8)S|~fyE`T6E{vx8idV<1c9a8nQ~o3 zDZeyM;lB4GV4SNGW`!yk~FK}OP7CqM&l{OBk#0sX`~9roO3s< z%m=#-1@XN73zQYmD?T8LM%#q?&O>alM1ZN*`bmdum9-L zzc@=~FqeNq6?u#Jqe*R6U(bTKh5rZT1|JP)bgFOxrkl zpYv_V9TT>VFC~a3aUgw{e$?JJ&uuJUMmc-c#j^sTPWsVcN8|z}!}~fw z0Fi&DTvNN+lqKmemSn(cD66OeB9^kR?oZZl8H#Q;mx@)9*Xt;OGQvRvEMv|J%hrP; zw%^i%+ji{V5(hp7A&I_=sYiyXUHVuw%i33)Dx?NpH{L;&`}cc}C7NLQnNcUPeW7UjC{!0DXU{MdffYUQ86F+1X4uyY1<&6Q}xZuAHEZ7-rbO#vf`&HqvoT7pzB>gC#f%-#(<%ms?{In0!kxyd_OqYx!9p4L!KzTO+b zN0zg6SN!t|sSyTI=-tDMGsHlQ+BkoBC!8niEhdhC8lboX>sTUQ8>R7yDyFS)2~0mU zMwjbJ`Xnel!xq&>bivcW15j=Q2TanQobP&*Zp^(URK2tSC879Twa5>$-~G&FDqU~Z zQ~Z33>!5JKN_~8w`A)rE`+?v8$o7<>`92fD{h-?;&z;KV{psFB>g&{t`yYSr-*8TL z2)X4A7N2OSr`DBsssrC^w-J=#)a#ex3pb%ZhN`8*0JMZz$H%kqc~PlcW}_qORQc40$#Y*xTP(suvgo%x{D7;n9`So2cH!`6AJN zioIj$ez)c!lPn5QV8gSXST@{vv<>0Bc_QdcxHYGZ(0I0DC&z=Syvd_y^C#431zr+s z|3)3Q%?7cl2PiGGNzH%edh_2y(z2aJ0QzLWmJ33!M^yXE4ZMrNR{fx7J(BjaF2VKA zG%>%{enC({m`+jAKpCo&H;~vVw4XAv2x@=mXXo;KLs$`|nzxS^fi8lH+4pzLD*QAy zU9be{xl0o!LC+Bbqc8?q zO+sF~efVTusMjAyD_UA>esIv6xTuO%^y~0rr>|tK-9!MBNbS>Xa3QW3UAKZK08(}88unQ8S(u|SmWuL(fadJQ-a*z zmP~|Jxl=2}jJKUO92pKSWRojD1-pEci`tv#%{-=bp!cYL*&@b&Gx6YnYIbP93GFz< zS*E7LQhzE@-?kh%SIKUfze7)p-YF?c4qP{Bd*vegeKvpMqwL{H(d`1tB;zniTQ&JL z@PI~kEGpBu$`|)O`Vf#sFhhVR6~6U(qdb22lVL;7MMd-|DqeUeoO@w=eXz%?rPsNwtj^EG08 z!)szI5wj@CF^&^U`Mw?xUN=b**ND&MOXdLA_#l5c3Hh1~Syhcz)n|U<%0?M+3J)K+ z)JRTiHjd7v0EzcBJyjWprBgG@*QP>6PTR1$>C)8alGg-_i^xRK(%e0ToKY_+=ejF? z)6K1=DFpcxWdK21QwritDhPs2O(TfMKDZo)`Td5aQ$oFBLj%*KD>p#>%IYnh3)MU^ zTxEae{IzbTbq)dzl9C*;@LB;5uDV6m0Aw^{pyb;4dY+``)qzP>$;W`)%SFI+LdREc zrC;P;G&?u3A6lTJe-PI7{32J)fVFQyirIE!cUCX&OOgrkLoLTspNAis*+7%hMF%(`OcW76cL7aTcWgXGgqeqfS|W-ipO z%r$*A$LYP3ue6s2t>_l}06PW4()33JNjrqd(cq5P??R`1*|#A zaBQw;QobMX&sUgP-8==lnjaF(klM#P6%6Yl4RiZES9i4>;pW7zMlfihX(?qSvNwN( z**5WS$II7u5f#mH{H462Z4`B?+B}yD?OiNFv6LJwFe*2Mrxkr2nec&GOhvh=n*yz3 zFm2?Z`|6~%7Pa@JCiTSC?-6RET$Y>K5p29@RIh|jd-^pkxGcIFAF}@Ax|@znfDr!u z3DE)Kf z^xcU#$+l}J!0$YrpSgt*>Gpr+iU>`bprtX?l`o^@TB-wId;M3*!r_?#>zv994fh__QqVQp{2e5!E*Rsb^6JC|!_xEvZguxa3T|8wr!MCdZ!+ zY-LraPi?=BHtp?|8X9gUkT>~gN!(S$KD&{U?i{P1`^tOjX%NpWJ-YF@bl!=;^lKq& z+}(k8;EChbarPiiuKA_qsOo>#B(O^{#hmccmkKRLWA`amU`c=e*#4{P=v&sjPh|WM zayVhG>oS-kHtaESg0{9m5ve;O0qQgqosaoLq$e+*a+1g~?$$KAW5FhSAWQGZZdyo~HTi*hR! zn{}qz?g+T+f+v6D^!1-3QSQV9q@v~Cx3X78ywT{jD%<)l|J2)Jd?-c1b`r3&+3S@x z;V73XHSA##n}Qh^^0WbwWuD)V>tl!zbLZv@P(xEYWjzNUar~_du&pM&x=d;BA%CMa zy??;l*Rc468{%t4Up!q$S( zr5b17u>VC)?J{)5flfY7N_*j#^TZB5x1V%DqqV=f87dz||0X&zM7K*c*6xe|AJOM}WHR1)4Aqubs&`1GBZ z>vBbIvAH%fwUeP8%SR^Fz-F_iGE2C&VTI={ss#_Q=NG3DcEj&8 z39Bw#&mE8pH0X9zB$Qv8vZM2_Tbr9*TpqF=50^`ekkNYrp)~b)jOy0$yD;(98+9#u zX{sr6P5E{$Cs*hMrUca(B56DCVPwTI*CHNr=gQ+Y^a)LslDf6+cZoV?oZSyR=ZZ zd^=MjJfDx9S0<^!N^jS~t#=h>)PS~+;wZp;=CkX4)T*b!&du*_QBE&hdiJ}-v{~mN zVw1&-py&DA6{n3mXio>23cW5Xe*gh6z+``Sjn270XC}QIO2uqgTyQ2+t9+=_LFwSC zFh5T2M~hzGWVnNBA*c%g6xR1Jh8KkeuX>r4-q2J@`tc6k2qK;|tEts+8j zsNV9*%H>PzBz%C6v~e4h)0FD_g`AQqS9fYAEDk69Aqq2v9~_vH)Ps^Cny!DRkXGR) zBAwSnC9Ug6_@%gh&&=RF$a!CIaHt>xRrfIS`lGkK6Xf!e0f&v`^t}#}bHgejk`o6> zfF#xmn9cO?^t>~A(~*X z3+k2~@oj&dgTRknoPD`9gRy@>4#&}RBx>U$s$542kknS|M;oUP>Kj;b<#(CT(MDH8Fo3tH4^0U-Wtw z&$?kb6jukKuyMUGZQHhn514?7SwfFP2fJ+0ccjEYHn0uI!PPL=nF4BD$}-V-)jlv@ z?oKI9$N|vSFB3O`9tS-GC4vAj`iuhGcoP+KnR|hqInd?W=%ht)X&ierCS5M2QuXQ; zir+~Bq`qh0qZWA5BusxD-k6CHh_am8iq795pv#>G=OgqBV}z;L#O|4Y`J}s>_g0x{ z&0?T7MLX2z^f2%|2|&iOWv@bGBp2jO$EraxcVIrDHTddNg`wowWr2iy#QB%p7X|NS z^_L?8IQ3+La=8u_DAvh6f7pEcIxR;I9v#CjOH?i#nP2QaTZVrKrrQU9`uL>I8%5@y z6YQ|@)YAq31s7a_b+pe#w`>KIW2aD(K^P$^^M&~H&LVPoj(bv7)KD+QAS()pd z26>AqYJS9LK~#i&9n*~)$e8gFT`+H7bLK@1N8kJxvMq~{b0LhV z6^vh%Goty|LIJ6Tl{oFY3d8^lF;DO+bhNDbNugtT9f;n z)JE^#$xMHG$5%hA{pXz;T-RiNTE`bn=QXqXYAA1EbJ(BTGB%tsYX{$saW3I&UY)Tj z=nsL80W&0D1fd^(pHo7iL50Y0!zrnWG`ZNAG1mjU?yfXF<2`-FBztdgqGxDl5~H)yv~2fu3cq2uZ6SufQUQjwI*7I>&$u2y{0x11^(v$2twtyAtWF65w1<=52%!=^QU==a5z!Az~u2 z_Yi1q#7Ptnh0h0=wb{(};vb+Y3c^B5AuCZsT6m(#w$8uDZb^GHo7nxWQJfQOWi;Jc z7E6Ehm)y7Jb!6RnaR$>Ooq&uVu`1>pHnS9FWz3#Fni)He9|SQKtYU=VWm-PU4-L+} z`kq(e-)Xb>NVbLx-VPT;W`n^`C6~*dswry^6K?g6p`=6u{8v2pnH6j?XKEeQ$2ryy z#L8iy(4ugfTSjakFn67#+Rw)}_)d%G!Cg+y0nA_1QQvFT9RB1CF}W7ImJy%*=u zVS~gdqi~sHyvyxy?BkBB6CUz%#~kwQnb!kxuh7YTqNbB80q5W`ALF-n>(_tYFr%LM z8({8bfm!od%38)sHRSf&&qFT9^myZTGff1S)ot$tdG9+saM9CzeCd99@-C{xi?29W} zrQ^wxt-tF+&jHUV=&x%01`&VE>=LQ`Nm>e|^^HvwvWpKXpQ%54r^T&MSM#$F4DsX3 zQi40(E`&C#_XA(#sBrM3U@;bmggga6DmIirsKK3GjUatSz&9VvHWT0N*&%0std>#fsYLSqW(E7Y;H^1zsWmFA(QCA;0}mO zl3?v9)ffi@f!!nI?14=BdfhGx5nyVgDGKtgJ zVVw;Lm-EM;q~(eAM=Gg{U4|~F{CuympTTl>b{LWL_< zb8KE;VS4>#_R6U1PJ}WxVxaxiZ*Q4-TMiZgcn#^;1A)d7j2eHwstRWX3G^jT`F!h4 zvXa8v5-NvNmpl$HC{;T*6S)#YhR9s{C8a{y?+##mh4sDkKhvvU5VR=rKLxH!E2x(P zM!?4HAA;eay6k@oxAiWUI=`2QxcMbR#|*>b5%y0UPp&GQwrr-Qxo_}l<*30`1|(Z) zh|j$YzswdoSUS3IASMxCy8JLkV1xf5bev%1E(Zf5*cylQ)x$ISP}1wE67hWFlgmJSBUd zcB$UvHsgO|XXDC!18#aTGxGK!kp1kGGsNp{ICE>am7}pXjf_Sa8P|^GiT6+NmASlP zh9}I=7wqo*M|E-7vL`^9qO-jB07!(v=zx$a*BJ=vt-tJbsewVxxke>l&x;vO^`HX3 zY?L2V)fsN}RzDs#=xp?;FuC1zUtUDhvs%3V_z-`SzH_b`xtr*oxREa>;Y}LF^?3`u z!Rk%-o4o;ZWR1*w>kvYmoa4pcuP}HmTd$1N{b?}n;={7tT0qrKhWD==*2=0NqA(no zm5bVyd!b0vMLi3_qIcEQt8@qJJP0~#)5W(d5Yw8YTdSkniD@nks+>sKk392!$hmU% z66t@Uk%zkGU*C9-;<97MNlLbVA0>uWA*q=e#uhXjHrm|f8U}<}? z*w~%Na7d=_4`N6fM(x!P?LE=nw3|f4@8N&M_vHfPkV{+?>Np-(mg9o$FrJs+6w_B9 zA}=vF&#NU!2%9TZH(kGas9O#ayaj+9GQkFxssRLUGjsKh?VeC4n=4U@O& z7uhBq=9$aIOxk--jy|?W8>Ct%Y9)9$$j1;pBhS z$}U%?hC@59f~ARD{30T>O|Nac;rr1)>P?W2{Z4Y!$O3!Ivj#tVt2H8(bzVAtG}3*I z3YJVu3tsW;6Seih3pix+!(QsRH} zBeXr3#N7LAFq>0@tgt?Pdm&GvU8H}ryfBXgRh{U3oX}f4u!AnPQFj%)l4BUi=yM1i zSSi>GfCCv;{gkx*IhwQrO4%sA(H4aK+H$=`NNwI|zH^Ayr|}wA4A6UfZa z+f#)B(nxK`zgTGH8&w&*$;r0`H{uKiF$4#`AD)+;PsM2KOCV-mV+ZM&OW4X2D_p8$ zy@ceC4|-|bLc3xpb*8u04Rs=oAaqlK?<<31{(_SJ*^H62@m(DrLuA^sk-D>i#($8q zr-B8qN&3A9{P!qnKX);k`fq>p@n3mg2(SBx%%}`Sx0STqWPZ`(uJZ69`^e`#6>5HKHDkiMrE>)i)4kKo zB6E+cWHWd&>?lRi-d!FM25^$fjEG5Av$B+flqn!c)5-^IUeU4&Mfrd0KjP^M1O)e2 z&P-~ZI(0#wkZ&GwvVOe{s;nfedR6sJwX0Zuc)yu}Xf1@3*wd`8?I%LBeGinOWKL8F zeMtQNr%Q%=PaE}SfpH1`E_nubRPZ7`-&H=IVg>IgDGHTvIsC^n8fwfwK#yYK@+0{w z72gJZ!X6+zV|Rs@nW}%junx1;2WB-4(ID6L zo#m1E=eD_Cole@jWTu`r3UzUjV8y*}sCopsq*AL|MJM*>CQf$zyK7H8Sr0uv8qw8= zw)%Y{R^tlgZ;PNm4Pb3CQ8YbB(A# zLFPQ0rLM2Nr%Ij9kEVk7u##V;iT;?{G_o@9*9172)DP7Hd}Iu6#zN5Q_B^7Kwiqs@ zfs=|taGRHR@;qXYK9*WT!hGMq$l&az1|!hs`C?Tw!myB2ln@der)c&g-{%I=k;?N+ zXn+42VpPF2h}wU_^)4`r_!fn6Z2*1PFHB0Bi^RdNC7~^pM3Jy<5;{g^n@+%08d+(! zsSuj)WCOFFZ`hl7nlU>>qpM`Kf8K!EJWWg3T(<;s!6GdZ#U1jKuMn&DlUfyq=C}Rg z6Mz(lR{gA6ZSzXFo4GZ;9m-w0rhI(eUjj8{1{Zyck9vRi#%aJd))&kq3aVnsWqD6X z#_`G?_W1MA6pZb%9rRLid%&Gs>sG5Ns_~H5tVnKVpIJPGi;V7Rx>R)=jKFnhhiwVk z(ifW!(I=SiyIYP2Q+3uHr_mWo(xa~BMp0vPR#f$}Cxz_ioVk5eV~HW8k@Vj$CZr12 zl(a&9vzUM8tCReS8qM?2z;TBm=lCKKdLtclCW4)h0$D#)FzvcS4baUCI*69jt)%qm zV=SUaN$e)=l-kJI=r(=%Ua^HjU%&TTgsO`LFE?~)lCBuJkp`J9>Xeg1nJ67WHAp58q=|+%d z51`h3vOHF!@Jhiu3!$5XUs0lr*J&4vi({iZZ&iM+ZZR(SM5=L`Nyurbw|!rvVKEEL z{Fyj{6B4=x`;%AxdcKg9n*8A?oV_;>N@@8p4r#r7QDA0Sifqj!Z}c~ni`7nfckQ;`rVl&Ivrcc*u$ zNR*PH%$XWg8i@FclqZ>$Qt`|gGZs;ZL`j5@j7^5jvy{w!`&O!VwzYo!W3Bzpz2}@g ze)c~5TxRzcMI2_26tSbLwq>m|?b%-^(tAO|<9OpaFNP)uKa|^z%+U|;KeTk(fS7|n zRy}DWuPCuw(73F)r{z)F{FO9wcyXgC-yV#6;T0YEv*OmJb8ieR4<1=CF-?C}%<>;5 zdO?wD*)KLEOf3$v^J9Kp{My0qSL}7SFOxG&o_4slW~FVxcD*kHpT4lN|D17k!f*3Q z&gUX#j5yTtp84S(9~ZB)+?^ey_u6Z_$fsz$T=($d1pl`3XVGomZ1ZX6-tDDcg<+Te zY?Fe($ph5WKab z@Z+@mmu%VHq3betxs%TQ-nt7TZL;?_ugZ$~_0}YJ>!{V%I}5&~U%#og_e$8qg$1GK zS1*1RSsIynS!2S2n|)IMlWw*@=}_{};_Ur*N6U4z9_l_wvetDRsasAtnT1Wx+`VPv z9f!GXWs%t_ONT{F*Ew^%pNWHEL=UEN)34{w!#l*Z-h6j-<0j|AKlWTGA6X&$62CET zz!J}^XZigm=_)%cE0Uc&%>z|0ol9Eh^+x4XuZ?H7P4)fVjBVBC**#OAS%${PlYcqP zX`$Bf!Mo(c39@G`vtResE(`B`xqxy>*uLrAZeD$Ze)6Rs<6b4TYre_#0-ItU`^)#J z;l%|89k+$seu;J~@8A4|dF69UUpsk=&v&X!C{fw;R+8NxTUBT!6g-=u(|y!}GbQuQ zk`})D+IOFGTEy&GLFqHMW|`d#esZHCuvB|f<2TzDzSTM%e@v#9(BbX0hzad_JB{DH=6&;k72fo=<1fbd)i`_JurjR8)qR`QN}Y3O?34Gr zcIwq|kFA|bcUS&A?7J^?N$H)Lffu@)-lRM~mdIP*ovbotqLo>4kE!d21)VP=Wyx@+sxpq?S=uRU7dR!d&y=c$`^I&;2%v-b|Ut-^g&@8_;#To*{Q`nLWtzuocgn|D!GXI&_MOiZ}&*&A#tbk;1XP@ZmtfW2#y*hq-{j*ySy_=hUrY)U!Zj@EX_q}~4PY(C) zKPhfx+d=QnZyj*WY<+CM*W9(|TYdILTjo4m`)1?7rTdwnF_QU-tMskcq$JaUolQ(6 z@2o|=MN{;T-q!As&7U@2FZUn6P{rfcUUiM;VTBgoqm$>%Ygv?gR^_m&*2DiwyC>Qt zB^-BI*3xv$a_5|`eo+^$1T(sov7XI_O)tANe3GeDdsy_6`29h54?736 z%UffzY@1`zhmB^(P7d6fYM{^xUp8YKYaI0EZlBf{T}OumXYcLfvSIn-HDCLerk|>O z^UWf?IHWXt#h8g9FZ2y2Y;YR>iT=8-#o5*?;s za}VeB`I7niNQvpzG0c;qolgVp-aKo@X{=oNE~lr?1*;Oj=y^MQPH5g5UlwM23Z0sA$(O>C9Vg4_V1f09r)+EGv0MoswMaHA!eP1f}Zs?oUYw47! zZ^BF-b-FNP_2|m`2F)Ky9L0AhYPF5tnOnk__ht59>@zOFJO8EZQ0pruXQohXNCWuLBX%^Eas=KUZ3FU{rsbC;Gjp5rick9KqE z$~l)@(p%nI@T}MSw(5s6M28F}Ogy>kT?@U5R@;M5ex_SjWCeV=K6y;&F8_!Hc>~`j zkGvm~Z6R8p)aHQo?)F2zYgg@Bz}tS?dFhqmqQTE>&lKF(f0&&<-8E_HpU%Z0yAEvs zJ~n_E>23V*cc+tHk&gKb{!El>UwL)>tYMc|?AqFA*%|pM>lV(Q7h0!^_xju|>>Io&wrEDlZ?i#nHvP2pYP@ax zNj-hq`rNbE_f&3F-Y$5cpAjV1ypXu6U07hRvl~^`#U?Ga8974tz|QYw{WKHBa;a7G zXa4I}oIh^VQ}g!4iFz)ES#Eg_Yj2eG-(cmomQ8eRYPR}L>*dT)+y0sNJI?B!ef22& z{y)#+^wYZ}_ewWA?!7d3{pTHrZ`Tc#~8JTMA%zNBB)L!4NodtlAEv97v5 zdgtz?yITF{?f6p~*vTsVn`uldk2}p{e%c>S3s`5~?!=O;`f~R1n5$_I zbT98+Z!eE4j|r+Ar+Mo0-fcG(-)?IhopL_Ho*J>dhGnWIg2!1mutkf z`<61mqj~pf8Tmd}ujjcYIqq%e8XeksZ}iSJ8QXhnow2n`bw43@Ie5s--n-LV`}60@ z*>&WKl>S_Wk>Cqr_nP;zp?m*qi@q-jgD(mJbmF?8>fwX7e)2?9W3~KS|xb#k)P!HR!)|FN4yVfe*WeE`^2T;W$hsgKAKnlE#aBn@OHbOcqTY?wzQe&*ekBX z@ZR4qj?gyiJ0|8p==-%!9gKeIb~>p4DA?KKpE||v_|bTw zok}0sr8gy?P7KICGNN$u6(5zTodt2W>FpPm&#x+bPf^i2QRB+5A7!?E;v6HI%3859#=w#2Ia zy?F!IssH|N%oWd_aDJAXJa5F#>u)rsBsQV#ZY6#32%q{ezwGS2;fFu|+%jCW@70Y* zo6>wUzTSM<^yHaTi$!Ou!W^`1-|PByoxd~aF`KPFwk&DG#%-Q47lIbQ=-6maXwk-y zF(c0f#XX)PJ2kso=Wgypsg^4vCwzb2f9Whbw$qvCtMcZ5m^?LF&M)1;CkGvt>t0-# zP`=K4uJ+ZqRuwJQFL7`6sr!MRMNeDiojLfj%kQIs?L`F>b_E^3LHDw(I+By!`DNJ7 ze(_HnD_M5qo*nH&20O=F%$iJ_Iu?D)nw#^HccjPk|Nb~`dDqm@+)mzVpWf`~mIiJv z^w|v^$NaH=q7v*l@xr@-kERql?QeJf{d4*91uDH{4<#DLjmN6#3&)q9?N!I_%K zCKjyS>hfl(@BV}bqR7jBw}wS0zS9qG^vmVBXSW9*j54Q$-zXWERaGQ<9AkK8?(+5P zosEV_eR@uptG6pCD=k*v7ZN(?T90>nqUTx}(^cjSUH74&L*qeV*ULBiv1V+K2iA?H z6XX5lX~F5THeQ9Tx|;t?N-?$gG5qe%$ZxCj=WC??H#^4OIX_1`?7VFMv&=zVj6|0(#3>o{_t$U8|o5lG{zWX;H7N2xT|E+GZg~NRQ`(C3g zn?Cy9n$g=;etUTi^6}fT?O~2hw7d23%rV9sSY zKQ2#RVy>3E#wg)!X{naw*}*5S-?>yampjH8U(|2&VufCO(5sQ--Hv+emXy4RxwC7? zjTK?7f;R?MEHf-~kv~83pH-2o;h-ORtpd+?NekZ<_x;#();>WjDSLCtuJ_`0E}l)( zdVM(*H)rI?t0z|lMnzuf_;~bEpBAa@*L<$(ZF23};FtG&KT^@V^fGtHWvS(fNK9(C7cN?3tDI>z9yxc2ivEi!4Pg7UQwR?E3ANAqZ z&h5j`bQr7Q-0F{$zK{HbwPo44x7XhuGBRJA=+i4M$76rV1M|ttLWWQHw(G&_X}q_? zwQILxZ7g-Z_O!oW#4!hT4%{y_NU>6z?kk!$etgIkuPb(y*5QstE4F(+F)r)aq+jlb zgT15%LHCWqca3b8kTthi zc=)yVnxC5vyiM9ae%bnqubK~7wqW`4rJ5s7s5WtP`Qx)_sQ&N)^K$1`YHwTB+I7sr zwl6*=Jd16mYcC&VIjno6mb>EW+QD@zH;P`=?~LF`_P}n$cX7^L_m*R8y9SL+>PK1`O6n=XyyGHjTQ= zxpeyZ!SiOSQ>n`ytEau&1|Gg}&91j&^THJ4?H6*E%9~fxKgJYftA6eZ?S&g5$gaOT z%<*oQ`Of=N58fJ^d-RaS+0E-UzxSAWdCf?lC7nl{=(9XU??G`@hwQH9Ose?j#LK;g z=1GS2YH_iBMZU|k`A1y$4Z4^mrSr^73(ibB#NLdW`Tkcz{wvoZ{cj|G>2KXLFk#~h zmA9LJi{%-K`R?+?XPV`XYA-%mRYv=yeVwZq7973Ar{a_2&_$**?MKe@);n@4cwl(k zrX?HX34J|^p^ zx!RJO+3)72Lz7xRZMC7@%>Rx(eBzaJyu317Uo>vWv8}CVEPNTi!}pf_!<_Xao7<-3 zYWWUprT%7v*Du+y!MW$nKUp8M$nQ4IHYF}(^op@j7K4J86ok$68#Zh`e0^+$gL>ra zHgn^Tb{3cJN*$H6Ji)okk*JCrT@wx+j1C-98FC@d-mdGd-yYu!O4yd3RkZqyuT5h| zMGT&A`8nz%7kj(gZ?*W-;!)<4V&v}gzMQ;bx6&flE5}LorxlgewnatJhY7)b#{{ZN z*iy=K)t>9FMUPf*oo%-Ceq%|owxhZE_`xQJ`^25+^KWY{Gqg>;5__PnkH7kcRSqe6 z{)@JR>_|>uC%epfeC%FSnt8-yhUDTmt#hl(67Gy16y_RnJ$pc-?$%q*dfXZxkvCC( z#Z&9Xhm2^Awa3E~HwUN|?X5i4!#d_+%C(FEn)~l9yVhx3y3vSt-NrtPe>wBbwjEY? zNB2p(?waOuZOsd_0FG7D_2gNG1;-_M(^N| zFJ@J0+lo3>6yB5euxS<1)UjRXN!#ZwUU9$0-9MgMA3qLT*U@sg%ki`F_{jy-GB?9M zk6kAXy_()MvB}~&6OZ*intP&As^Kit)oYp@9u$)_*;nVuIGxeQ$G*KaFux*WM9}%J z>rRciJJCs`j#RnKMI2G5q4me_1vQ57G#DxxH{Dopa|{qqtV@66OBZ~K6( zMqevFBqrp~KDM~=qUr8BtJ9w5_3xOcbN|4eYazXCpQv6aI+vF1l{53R(;?RdhXXYC zU%JiBsZx!S2J|@}>=WE{QRbi3sT$dVA|0EN@q@;3N6OYD6kp7iK3R7?Gv-wLyxwc} z%JpJB;NyU8CdG^5XWBjOQr@p;)vR+fZB$3C?bK3Y-CW;x;y#H7peErz$RD^ba$6x*A2PV?XFJy74i$@l;Q~ek@I&1N^ zZ${3EZ8rA4V_lBxc_iY%J1R1 z&ZXgP3PY2ZM8#U0I;l_5SomBvJF7e*`@_rq>zcRMX_a98@j`s#!;C!st?YS%>VfGk zLiYMM&srXl;UiCrFx;O?hdK3Ic(F^2|9*E5x<`D}vF!;??A!KB#Jw#Np#NFMo} z-x3@oTe5=yAIP4r#$=KB>bePllP(3sUyWdQtUqL-&Z#L<}SaPz5^oH zmpCLYJ<}!3ODE&jcAZ9Mm)r-n=n=J2^G?psnD4$#+$ZkT@4ofRqdy}KT?_pjJJYwU z@6WC#QGa%Ax9V`xq5W*zZbLfq$K{3D|IJQux#gYm>Gb);aXy<^!|BbuhHe?Wzr$@k z7wfdX7EvwvDbLnue3&6Su9=>Y`>tF2y?gz-4mjP+%wzKxm4a3gYeP5aW>fYn#g6ui z=iRekFq`>sV&CC!ekEI-WVdZ~x5pop&ZsKumKIhrKHkJeV;0lvSx~$5oexf%J$^b` z{(GFE{n9y}?WYdy=Rd9Yp6tyJ@)p|W3=Yk{VNe--^VIg=xreW9UXyooXTj&LrUgzL zA6#t9zg*OKV^se$i?;b1z3cpZ@5!k>U6QUZNDmsPeOTY%(w;9S35M&ZkBs@!x^thK z9nRXf6Y=twFx+|c$#(`K3zd`R-9&>e{*o3<5!uW%rKB>6 zSjJyC_BifehIVX6$pDLP*l z_0?gd24dmQV5WhF@UK)RqZzTn|GKDOJ0AT+u@Xi4brIj5fhUCF4WE<3S8iI|fFD^J zKPiz>ib=wc5}HF#ig{XbxcW&7zg8?}6hDO@IT?DA<0Y)Z@h1F8OK9@7oJ`6owpRZr zM!V!Vu|)B<`bP#o$-d zQb>FZ^ADO##wm8(6&bacN+sl)Xr2N-z>lh8j#Y^6iHuBWDY0jXM9NTvV1UMPic$AO z#yT?MrD7V?O{R#xC+g9dlPFHz6Rno>gy_T)Rz?%k0F5U(Dwc2(4n51!VnW(5j^POo z0gbPnLtdx;Vu?(QCy_}hauZ+&9HBMvEF(pWk+Ccx1{f!kC@oM99FfR)7EQuS;45K* zc{W%eFC}eVEa53$hQ={8+A+_Of`VsxR!$BCmxCseifIYC6HsSXX(zB!shA@z5oo*& zjg!=gPX5)qe&b>R))umX0ZZGS;Q^57`TsF&2o4r;1|$NI5B>fqcE#E z8Y?CT6B`Kj*TBTUgG-PS%EWkgGAS7$A?`8~#4YdvNM~d+rq1dn)x>PEl$Vgs6=+f{ zJDz5cV#3Gi>Rwp)KG=vNu0-Uf%E@@e*Ame-IkFLO)lxEyi7ARDBPP&fQc~y?#k1r} zC|W{BBQZrwYuE>@t}}Lurp2UTQ#8Yn{G(`WH((6NLs5(vIR%Q5D*5DUQBw?!)R$sd zq(v0NBV(snF+(Z`1vulcE&Vkmils5PSXM3}Jq5+eC{jBp2z6)@4q__dC@4;f!XL%a zED{q4uSPjq*Rvmdj6|l`@knGWCryfiu#cp`11rh-d6sm!0vaI0InY3a=vf9nm04|h z_5Pn_ut#GV@Ji_6f2ag6!+OlIVzfDqBUB8Og5r4OFesTAnHku?KgNMVkqea3C?r!d zgcrpW;B+zR{~;zI5JK@1q@OfIZ=@y^!hK>&Ok;K8A-dHry3YTD-0`Y;1cAjA&!LzA zPfAHv1Jpz42Nq3c2Xasl8H)QfEknTwf}oN)3+h9Qsd`sh>-lIP5ef`5&^%#4K>LUP zr@?kfbB6FFCLR_84eySUA*={U0D(`M;_JfiO!?nc18>kIw3s8EBw!?jj%mQ9oYxNl9N2A3^C^GMdK+2%d$4Iz_`E9joz(5{x7mzAPa+i@(2#yFi_phV- z8=N8I#|s3PLB5aX)8(h5UrZ2O>P>DV*p%}3xuqLM>GmxJ+Toe+$cra zYW@Qe#d1an@aSO(ManeDNhwsOVIa{W!#e|JffvKdQI5gTPym;DuBM^OECO85BqehO+=y z8f>oC!XevjKoq$eRwgs@>74TD^* zmN2-M%d&rMwZRLa_JEOLp-QEw zpu$O^cttFbgRG#MTd@B+ErFs9)^{i&lWgT6&mcttaH=81t(F5Pg^Yxp82nX34p#G@ zlk%wO2s_5BhKSqnVPO`i{$s_YD3oP$6oqgcN6~UpCh$UV=H#lO7(yx>LM|`M^*yIL#V0;H0+i@6_hqIMqnWgM@i(4X(>t) zAiqF|7J_LbU7*)ntF;{oC%nWjfW#rEP@V}6iFvX>3?=|)V9Mjf;IDpyzY=^X`3pEF z(!X$=GTx|G6%Mi-^ej~05$zv>fD;J84wU>AoZ^yO6a$b)xRsMZEG8$BaR}!?K^yBl zuO!79f5ky&hWNun{e_$aqA4K*NFX?D2$21e<78lem?p;=k_;j&IWbfjkyXk-(a1&1 z#1MChMGK`3(qF;ROpQ7=^j9)SzX@%ECm}^eF9ZcaG$>q>G&mx}G&uWfFs_>aaCVA< z9Jo4!%4Jd(rFu|M#EYizS(Xf37+MVYD`af|tdI`_N8T{VRl5z)ON9NPK#9@|**`2A z`Yvj{K?8p!qd8??0@J`r7D|+4kP|8S9AO*-!K(pVg%tv#N4`!5;8e-n1^&wz4!L)k zkQx&&aDAlg;1~=AOuJ95!bI3cwk z@akVN)gLQ>*F?GiOF=N3hq@KXYB+yGNf8f6gorbc3oFxr|4^1d;X*iDL6ZPiNmJx0 z2z}&^h4TWE1{Gq&8Coilk;e+)^iUcIl}Efg8sk@h_b6xr5J6CcXX=q#-LV3k93d~o zgU%>vD<~_J#IZaX4l5=oFybIUP-XT*{NVvxqDkOj4nGWLLb4UGG!h9M;2@E3(Dp<= zE5JGOSeb|TkF=G83=lmGC=}7aCP*3t1Y|kjGV3-hsV&FC@iUHWLOF+cAxA4_{{q;6 z_XDW`Vz`V2G)cSxXlN!G)L_UhLYj&^3(!!x1;7oQ{t=TvsQ@h~jiaIDkBE?NkTf`XCjJ8fv!y8pJp9eUL`iaJoKh!9dh71T>66p+HZ9F<1$7iI9^((n^R^I6hFuxoW^G zXp{T&N2tr7I1E5pLPB+*LC#0c1@$|`G?pcCA3O_?6FtjUBO^f-{-%78&DNyh$}}k{ zei(-^9?($#8PGVq7!LYE>K8K(<^pB_8YGM#XyD-M2iA^5{vF1l6FZJH`%oXMbMFu@alfa1};tZ5U z(T*XcAyEqlbL3)JDDWei95sf57Xc)I2GS^sK%p9YNdW(dgDiq!Fh_0O3HD!a_be)y z2riAR=l~6X7+N57laVxN0VQ?}EKpvIz<;O%BZLaoJLn)qF9a${gY!kS7@2bIwOYjB z?~yopA*TWLV8#|Zv(t0fq;Zq2uT`}CuCZP3(z@( z6d1ZY@s0`D0{jPWicS;+8UkuU9|ztEkI=0YO0?ugz}q9!1{y0TcLI%2WMLn)10DVe z8iTyE(B)2w324YW!%6yI?_5`AfEQwv2USnxouN$D(1BF@51=9M40#Fi&Ojsb12{Z` z{(7>62o_OOg@w1*nJ3W5L>$IR$m)%7p#wQ2DU>Zp(MjP%j3den09R=8*bit7*^B`+ z@KS{3Kv+e70cglCKy<0|3xCTD@Io+J^g^C2tUz-TaEu%WMHHlPw1lh>!Ly*&%FoJ$ zZYLDQpsNCDI?xd2kOHnj3JgGrm;~lvkWZ0TLxk%1(?G_x7(q$y|9}W^Q2;C9KOh41 zxML-R!-2X5)^;y~(t!Favj%9Oo0vu(lfgJ(EE)&LS|kn96LJnY9H$|?DBNT~^5p(u zc3^dNJE@KDklG+@05q&yaDfOGQ_cT+6N9q=v|~u%&`zKtkCadbH+je%3&nCoqZ){= zrh5@ug}_eGKy;n9IGj8j5V)$#`-hEhNyOM@^@ z8NI;bfrbuU1RBDVP+>-RlA`1^k{!SW6!QUmBUn#CGZ`84LA8)~1R8myE`hGa8ms~P zuVX(D(ZoUtoK#E-+9CcyLpz2;Y~*}^rli0E|G}2f`32AbgAnor8VW?}$VtI9AUrX2!PF{nJ^q7S7I`U985GNbhMW|DE0iAq4dn;I z38u1`0RIU{3hji&FbwL06P71*k06Hxoj-^R9D-)h76uLu?HJAl(2n80 z2;K=t$P>f~t-DB^&|8f+0uhTiW&)2cLwOt+81{P5JAifvF@jv6&@Dqw3;?%KL6BXMh6IN+2-iYVfwBr3 z_}E~s+SlUp1#};g)oL)9n%j)Z3=;4Nxk(BYT_iLmCc9{WhCTuTH08szYFtpfjuga%#ZNQ1#<@xE(7i86zr&yO?{I6gxj z4(_tno5Wv>5Y&%kE?hlD6VsB0%oXMb4T76)h(SbWc+I%Kg`fs%4;Q-dBCX21m}oK?QmxgITfHG?+ABj$g^-*3|}KA*nhnNLsE&@|Bs{+d<24AG^Bu} zPlx6lRIUS>5*kvkW-C);tkABGI0-G^cug$Anlzk!A!7v`f^-pZ2!0=QZG-A4>mrnw zkUoLqK$`?uiBt!=Sd?)Cs2B^)GNgX80AA~9HZ{5kHzv?d;J!543BJY;lPIk9)U@Fn zA81K%=N4@TO7-ZikWx2TQq78F|ByGFkG6$tsg2{p)g%cPQ*nx(<7_=@Rek-@^3ll@i{||*wZi1{?ATO08ATO98+A-Yc zA$KfXEhM=G*8`CU1Ym@+8MxtB3!xfhDbUY`91K8v6l~$V2-zxBT~Sv7gj1y2V2#QL zkidU9WFb-)fd(i2B&z`*kX<71y%Br}5BLB%7`Rc4HV2)44A~3^-zC9HBebd#tcFTB ziUUG*oWw~&xtD|$K!bLy8fC4^QXtJhUxtAWe0Zm_Rtu$A(u)91*;NWk2p8N)*9+x5 z{EZc8ID%3DF$rLMQpTXw@Ocqp92A}!Vu%{;2RRY$3ySztI%SIvJ|0&MxHD| z$qG^*@?mfcginWYC?*39bt(a^!N*BztJDB@(LH&fp)x7Z{=rsA-w59?lmkdWC~8OOX>p%bO6;h4|AzGaG#Up>8qQ z>p{)1<{G&2vj}lOtqfh_0b0WXL`{_%h^W*FG<13eJ{k4-01Ys)GFyR$!~`_dEJ?wC z6#%^s|I)uao#WLs;BHxEEW5c+b1{Z<DzWpdTvj|i=Xaj5qgXz1btw7j4b3!tG-!~snX78+*}`#JdZ4LJ_bRkcG>d^J{UF&gfSpf^D-NBC4o5m06c zG=QAM+o3H5`@lqCX9xs)ZS7ZA}$nIPr>Rv~u`AdVCs#3m#Lq2!CW z3IK!@GTd#kB4eO%v_V$&1sZwu2sAh*P`H|?4RQt3x3RIcmJVdB2Q!0g0H8^^!GJrU sMbOsTda%^Wz~cW7nQUNXr7>r&Tj1RJfu3F(@Opr!8b(HgN7!oo50=MqVgLXD diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf index a37750416fc9bb1b6c86636afec9f26ab3a22445..20d6609f6ada66a3b8d332ae844161276cce5dba 100644 GIT binary patch delta 33055 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 De*(-# diff --git a/docs/manual/options.pdf b/docs/manual/options.pdf index bfb53d521bee999b7e7928ad2e3992be3fe25f8e..c8049cdaaa0696cb3d32cb300be1151d282206a7 100644 GIT binary patch delta 10778 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 delta 11405 zcmai3d0b8F*S8y_NKuj!N2UnvdB~U~3Kch{D5b%4t6RwwN2U3O>M7{5PU>8NrkI&Zwx=YMB|mbPZfR;Q

9}$B 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


5O(BiJc%X&S5%dK7DiiACu!a&sESVPfeq z%s{m#XMm`647(x@Ie{6f)?Km`yG_BgvrLX-=9su61LirOkal>P32K7I1G4UBUZ?x#^9GZ>30rBQ$Y#gHLjO&V8FRHJEW0v_rYfnUHk6xm>OnpaRDsP_PDP0`ZH6(8gN(%aU$6@pEe@%{d@)LlufaB8j5x3s3&dFQ&suCQ z{8Rgi4HCn?VjWe>v@}FzEv79xeZ_i-DPOU6qVg-&*`VGU&3EF(179(RHW1AOjb~HFfOF!%->}|Fj)ZeI|B=91h659}l#!GG z#%eCZ1)P@r+Cs((ga9UKE+Z%$2DX&pEQspHDVwx{fdmhyY(5#L5{!HkoW>>3wH!wh zjC>OY=tFimoMuRgHGa*7{b3K1ltA-KD19LX8d(tMaQW%L@B+|S%ekN)08u6rcpjiA zeVW`La7q?AF-O*$rrAJ(GNx2f?=hYhL5tDkQ8ua zL4n|9{*@%Vz-v7(j1Piz)3XMavXy*$Z;47*hoH3kkV_*xhxJm zRVP#aastUp#3mm|FmfM|Y#q(Y7Gz1p6f7?wCgVui;Q;U?NAu`FPLLy!3CM+{e(0 zUmQR|5=9mS>O&M17$iI?fhXmsqk;eB=BFjZ{W`F+z5<|u%$kIaGQJ@zG~t7WLP;J@ zG=cIfO>hV=&?GKZZ7tkHD*;=Gh9r+v7c}GqWHN>3TABu-d=r|JXCp}bbX_qZ+5eaM zX@(`_aZEEDl6gS(9}5adWkLgtpj*^V(r&cCBN4&i1Oi|Na9#&$IR7v6GdQFt z*(MA`m^>mFqOLt{aXJR-8oA#Ys2b$hf_kq-c-Gk;*c&J1OhiGTTRB)Eh~>391U7|GIs>Isy;YkPd<+Zu zQ*H&8L}C`IXe29wdZ;oSiMo^HTUtS~Kco_QS_B!3bP0^mvRIdF4Lpbd7^*8Id$Kr- z?7`wZrIe$Z#RaJ&l|H|K2{I%Rv5@oS35z8-gnU>??{fMET4-e3ruq*mID}eRk|pJ+ zW=S4h5DFhTK3E76IWSp@kr5KupQSi-Ak+bfWoR_)SQ>P%AsuoZx*$O!8*>D7 z&hiBbwC?8!z7graq6tX8DP$Y#Ki~?au7ipY-I!!qWMk-5y#YD z%331HemsjzhSEnqnWHK6bTo@39gY@|`i}$p0Hy2f-((sFcu#It5XqAX#}WwLauCOe z(kyshz8+l4G_BWA|8a1YfdB-WUOB0797@X^w2H`FsDe=$WFomTN*-cDE`(wO(OLjT zLdLO3>g5FZ$j0$F5_SL%u8wUb`~NaOl=IRJW{WW43A7c1(B|YJ3ptFDhaD8;h?^j3 zH+4S>o%;BL#tCVy!Gh>XptnO5gd0?3V+t-4!u3 z!ZXrMs?356dY{8XrCkR?IDeD*p{_tq0?{d>OdReP5MJO}76~z)6{I`pmhJ>nX)dd? zKMxf&VlEDFjZ7Ahu9xS5edObSKALYLX#kZY0%~3$l*oM=FEHq2fkQHzfWwuVY-6~J zLkbXqK${QQN?7&Ltk{Gg1ODlj3_*O21 zwo8U;xUmFVBjW^lE&pudnc;&So z$o@k?cvI8}q=tKBNPmpH{0141Ujn&MQf{xY1;NWmY-8Gu@mUC=SKrlQ39_yY)DLjWTqu`AS$J&l02pbBwwSfg` vTd3A~8+;T)a?~)z|374!V%RX9uyCKy@CBj%0Xm=p#}PWcHGA7Rjn?@;d7pGL diff --git a/engine/Makefile b/engine/Makefile index 2533ca8..6a7fa2c 100644 --- a/engine/Makefile +++ b/engine/Makefile @@ -1,3 +1,25 @@ +# 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. + + ############################################################################## # Variables ############################################################################## diff --git a/engine/asttoctl.ml b/engine/asttoctl.ml index b96942d..5e885c6 100644 --- a/engine/asttoctl.ml +++ b/engine/asttoctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* true = don't see all matched nodes, only modified ones *) let onlyModif = ref true(*false*) (* set to true for line numbers in the output of ctl_engine *) diff --git a/engine/asttoctl.mli b/engine/asttoctl.mli index e1dcefa..611a946 100644 --- a/engine/asttoctl.mli +++ b/engine/asttoctl.mli @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * string Ast_ctl.modif type formula = (cocci_predicate,string, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/engine/asttoctl2.ml b/engine/asttoctl2.ml index 69b0ad9..b5f8364 100644 --- a/engine/asttoctl2.ml +++ b/engine/asttoctl2.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* for MINUS and CONTEXT, pos is always None in this file *) (*search for require*) (* true = don't see all matched nodes, only modified ones *) diff --git a/engine/asttoctl2.mli b/engine/asttoctl2.mli index 7e9c2e7..a6732d7 100644 --- a/engine/asttoctl2.mli +++ b/engine/asttoctl2.mli @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/engine/asttomember.ml b/engine/asttomember.ml index 7ffe9cc..881de6d 100644 --- a/engine/asttomember.ml +++ b/engine/asttomember.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* on the first pass, onlyModif is true, so we don't see all matched nodes, only modified ones *) diff --git a/engine/asttomember.mli b/engine/asttomember.mli index 5d3a39a..4ceb553 100644 --- a/engine/asttomember.mli +++ b/engine/asttomember.mli @@ -1,2 +1,26 @@ +(* + * 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. + *) + + val asttomember : Ast_cocci.rule -> Ast_cocci.meta_name list list -> (Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif) list list list diff --git a/engine/c_vs_c.ml b/engine/c_vs_c.ml index d7673c6..a38b037 100644 --- a/engine/c_vs_c.ml +++ b/engine/c_vs_c.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common open Ast_c diff --git a/engine/c_vs_c.mli b/engine/c_vs_c.mli index fd4a080..63d887d 100644 --- a/engine/c_vs_c.mli +++ b/engine/c_vs_c.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val eq_type : Ast_c.fullType -> Ast_c.fullType -> bool val merge_type : Ast_c.fullType -> Ast_c.fullType -> Ast_c.fullType diff --git a/engine/check_exhaustive_pattern.ml b/engine/check_exhaustive_pattern.ml index 12279c9..d52ab04 100644 --- a/engine/check_exhaustive_pattern.ml +++ b/engine/check_exhaustive_pattern.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Just to warn me when there is some news in the types in * ast_cocci.ml or even ast_c.ml, so that I can then adjust my code in diff --git a/engine/check_reachability.ml b/engine/check_reachability.ml index 071c00d..3bff497 100644 --- a/engine/check_reachability.ml +++ b/engine/check_reachability.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* ---------------------------------------------------------------- *) (* code to check for ambiguities *) diff --git a/engine/check_reachability.mli b/engine/check_reachability.mli index 21ef7be..a436341 100644 --- a/engine/check_reachability.mli +++ b/engine/check_reachability.mli @@ -1,3 +1,27 @@ +(* + * 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 witness = (Ograph_extended.nodei, unit, (Ograph_extended.nodei, unit, unit) Ast_ctl.generic_ctl list) diff --git a/engine/cocci_vs_c.ml b/engine/cocci_vs_c.ml index 3ac63b5..08e4251 100644 --- a/engine/cocci_vs_c.ml +++ b/engine/cocci_vs_c.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common module A = Ast_cocci diff --git a/engine/cocci_vs_c.mli b/engine/cocci_vs_c.mli index a1e8fc0..f5ff82e 100644 --- a/engine/cocci_vs_c.mli +++ b/engine/cocci_vs_c.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (*****************************************************************************) (* Cocci vs C *) (*****************************************************************************) diff --git a/engine/ctlcocci_integration.ml b/engine/ctlcocci_integration.ml index a29c672..b603e4c 100644 --- a/engine/ctlcocci_integration.ml +++ b/engine/ctlcocci_integration.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common open Ograph_extended diff --git a/engine/ctlcocci_integration.mli b/engine/ctlcocci_integration.mli index 5d12b20..e2a5793 100644 --- a/engine/ctlcocci_integration.mli +++ b/engine/ctlcocci_integration.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Ograph_extended val labels_for_ctl : diff --git a/engine/ctltotex.ml b/engine/ctltotex.ml index 322a7c9..b9308be 100644 --- a/engine/ctltotex.ml +++ b/engine/ctltotex.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module CTL = Ast_ctl let prelude = diff --git a/engine/ctltotex.mli b/engine/ctltotex.mli index 68354f5..a403d62 100644 --- a/engine/ctltotex.mli +++ b/engine/ctltotex.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val totex : string -> Ast_cocci.rule list -> diff --git a/engine/flag_engine.ml b/engine/flag_engine.ml index 950835c..afb8789 100644 --- a/engine/flag_engine.ml +++ b/engine/flag_engine.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + let debug_engine = ref false (* false = simpler formulas, only for debugging *) diff --git a/engine/flag_matcher.ml b/engine/flag_matcher.ml index 0b6035e..100dead 100644 --- a/engine/flag_matcher.ml +++ b/engine/flag_matcher.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + let debug_engine = ref false let verbose_matcher = ref true diff --git a/engine/isomorphisms_c_c.ml b/engine/isomorphisms_c_c.ml index ceb45c5..6383da7 100644 --- a/engine/isomorphisms_c_c.ml +++ b/engine/isomorphisms_c_c.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common (* When in a semantic patch there is f(X) ... f(X) we want to force diff --git a/engine/lib_engine.ml b/engine/lib_engine.ml index 8cfa310..7db4a94 100644 --- a/engine/lib_engine.ml +++ b/engine/lib_engine.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Ograph_extended (*****************************************************************************) diff --git a/engine/lib_matcher_c.ml b/engine/lib_matcher_c.ml index e69de29..1fd1d49 100644 --- a/engine/lib_matcher_c.ml +++ b/engine/lib_matcher_c.ml @@ -0,0 +1,24 @@ +(* + * 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. + *) + + diff --git a/engine/lib_matcher_c.mli b/engine/lib_matcher_c.mli index e69de29..1fd1d49 100644 --- a/engine/lib_matcher_c.mli +++ b/engine/lib_matcher_c.mli @@ -0,0 +1,24 @@ +(* + * 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. + *) + + diff --git a/engine/main.ml b/engine/main.ml index b480855..680ff46 100644 --- a/engine/main.ml +++ b/engine/main.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* ----------------------------------------------------------------------- *) (* Entry point *) diff --git a/engine/pattern_c.ml b/engine/pattern_c.ml index efdbbe4..27c251b 100644 --- a/engine/pattern_c.ml +++ b/engine/pattern_c.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common module Flag_engine = Flag_matcher diff --git a/engine/pattern_c.mli b/engine/pattern_c.mli index 19506cd..93756f9 100644 --- a/engine/pattern_c.mli +++ b/engine/pattern_c.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val match_re_node : string list (* dropped isos *) -> diff --git a/engine/postprocess_transinfo.ml b/engine/postprocess_transinfo.ml index 983810d..73c7c0a 100644 --- a/engine/postprocess_transinfo.ml +++ b/engine/postprocess_transinfo.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* two goals: first drop from the environments things that are not used, and second prompt for the names of fresh variables that are used *) diff --git a/engine/postprocess_transinfo.mli b/engine/postprocess_transinfo.mli index e45a8d6..b5fde8f 100644 --- a/engine/postprocess_transinfo.mli +++ b/engine/postprocess_transinfo.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val process : Ast_cocci.meta_name list (* used after *) -> (Ast_cocci.meta_name * Lib_engine.metavar_binding_kind2) list diff --git a/engine/pretty_print_engine.ml b/engine/pretty_print_engine.ml index a2d4f4b..6f7e64c 100644 --- a/engine/pretty_print_engine.ml +++ b/engine/pretty_print_engine.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common.Infix open Lib_engine diff --git a/engine/pretty_print_engine.mli b/engine/pretty_print_engine.mli index 445df00..602f118 100644 --- a/engine/pretty_print_engine.mli +++ b/engine/pretty_print_engine.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* could be in pretty_print_c because dependent of ast_c but metavars * are in ast_c for "bad" reason, so better put the pretty_print * of metavars here diff --git a/engine/sgrep.ml b/engine/sgrep.ml index bb75096..f1089b2 100644 --- a/engine/sgrep.ml +++ b/engine/sgrep.ml @@ -1,3 +1,27 @@ +(* + * 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 marker = NoMark | BefMark of string | AftMark of string | BefAftMark of string * string diff --git a/engine/transformation_c.ml b/engine/transformation_c.ml index 8b364ed..e33524b 100644 --- a/engine/transformation_c.ml +++ b/engine/transformation_c.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common module F = Control_flow_c diff --git a/engine/transformation_c.mli b/engine/transformation_c.mli index ee65da3..71e36a3 100644 --- a/engine/transformation_c.mli +++ b/engine/transformation_c.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* note that now we do the transformation via side effect on ast *) val transform : string (* rule name *) -> string list (* dropped isos *) -> diff --git a/flag_cocci.ml b/flag_cocci.ml index 4b42987..6d83239 100644 --- a/flag_cocci.ml +++ b/flag_cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* the inputs *) let show_c = ref false let show_cocci = ref false diff --git a/globals/Makefile b/globals/Makefile index 7e1cfd2..838ceea 100644 --- a/globals/Makefile +++ b/globals/Makefile @@ -1,3 +1,25 @@ +# 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. + + -include ../Makefile.config diff --git a/globals/config.ml.in b/globals/config.ml.in index b3f7eb6..d7c54c3 100644 --- a/globals/config.ml.in +++ b/globals/config.ml.in @@ -1,4 +1,4 @@ -let version = "0.2.5-rc9" +let version = "0.2.5" let path = try (Sys.getenv "COCCINELLE_HOME") diff --git a/globals/flag.ml b/globals/flag.ml index 76fa204..9300545 100644 --- a/globals/flag.ml +++ b/globals/flag.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + let sgrep_mode2 = ref false let show_misc = ref true diff --git a/globals/iteration.ml b/globals/iteration.ml index be5fd30..0dc76b8 100644 --- a/globals/iteration.ml +++ b/globals/iteration.ml @@ -1,3 +1,27 @@ +(* + * 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 init_info = (string (* language *) * string (* rule name *)) * string list (* defined virtual rules *) diff --git a/globals/iteration.mli b/globals/iteration.mli index 54c89c5..8e0d0ea 100644 --- a/globals/iteration.mli +++ b/globals/iteration.mli @@ -1,3 +1,27 @@ +(* + * 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 init_info = (string (* language *) * string (* rule name *)) * string list (* defined virtual rules *) diff --git a/install.txt b/install.txt index e80c429..d42adee 100644 --- a/install.txt +++ b/install.txt @@ -20,6 +20,13 @@ On Debian/Ubuntu, install the following packages - libsexplib-camlp4-dev - menhir and libmenhir-ocaml-dev +On Fedora, install the following packages + - ocaml + - ocaml-findlib + - ocaml-sexplib-devel + +Note that on Fedora, there is currently not +package for menhir and pycaml. Then simply type ./configure diff --git a/main.ml b/main.ml index 70cc10e..81cacc7 100644 --- a/main.ml +++ b/main.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common module FC = Flag_cocci diff --git a/parsing_c/unparse_c.ml b/parsing_c/unparse_c.ml index 8472aba..5540f35 100644 --- a/parsing_c/unparse_c.ml +++ b/parsing_c/unparse_c.ml @@ -837,12 +837,12 @@ let add_newlines toks tabbing_unit = let (stack,space_cell) = info in let rest = match hint with - None -> loop info (count + (String.length s)) xs + None -> loop info (string_length s count) xs | Some Unparse_cocci.StartBox -> - let count = count + (String.length s) in + let count = string_length s count in loop (count::stack,space_cell) count xs | Some Unparse_cocci.EndBox -> - let count = count + (String.length s) in + let count = string_length s count in (match stack with [x] -> (match check_for_newline count x space_cell with @@ -850,7 +850,7 @@ let add_newlines toks tabbing_unit = | None -> loop ([],None) count xs) | _ -> loop (List.tl stack,space_cell) count xs) | Some (Unparse_cocci.SpaceOrNewline sp) -> - let count = count + (String.length s) + 1 (*space*) in + let count = string_length s (count + 1 (*space*)) in (match stack with [x] -> (match check_for_newline count x space_cell with diff --git a/parsing_cocci/Makefile b/parsing_cocci/Makefile index f2cac6f..1b4ff50 100644 --- a/parsing_cocci/Makefile +++ b/parsing_cocci/Makefile @@ -1,3 +1,25 @@ +# 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. + + -include ../Makefile.config TARGET=cocci_parser diff --git a/parsing_cocci/adjacency.ml b/parsing_cocci/adjacency.ml index 211cabb..b95258d 100644 --- a/parsing_cocci/adjacency.ml +++ b/parsing_cocci/adjacency.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast0 = Ast0_cocci module V0 = Visitor_ast0 module VT0 = Visitor_ast0_types diff --git a/parsing_cocci/adjacency.mli b/parsing_cocci/adjacency.mli index f076530..9c659f8 100644 --- a/parsing_cocci/adjacency.mli +++ b/parsing_cocci/adjacency.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val compute_adjacency : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/adjust_pragmas.ml b/parsing_cocci/adjust_pragmas.ml index 549dc52..7fb2399 100644 --- a/parsing_cocci/adjust_pragmas.ml +++ b/parsing_cocci/adjust_pragmas.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Find a directive or comment at the end of a statement. Things with aft given None, because they can accomodate their own directives or comments *) diff --git a/parsing_cocci/adjust_pragmas.mli b/parsing_cocci/adjust_pragmas.mli index b87cd1a..8e9a400 100644 --- a/parsing_cocci/adjust_pragmas.mli +++ b/parsing_cocci/adjust_pragmas.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val process : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/arity.ml b/parsing_cocci/arity.ml index ed65adb..3d4aea6 100644 --- a/parsing_cocci/arity.ml +++ b/parsing_cocci/arity.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Arities matter for the minus slice, but not for the plus slice. *) (* ? only allowed on rule_elems, and on subterms if the context is ? also. *) diff --git a/parsing_cocci/arity.mli b/parsing_cocci/arity.mli index cd64e1e..73194c3 100644 --- a/parsing_cocci/arity.mli +++ b/parsing_cocci/arity.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val minus_arity : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/ast0_cocci.ml b/parsing_cocci/ast0_cocci.ml index b0899be..21e82da 100644 --- a/parsing_cocci/ast0_cocci.ml +++ b/parsing_cocci/ast0_cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module TC = Type_cocci diff --git a/parsing_cocci/ast0_cocci.mli b/parsing_cocci/ast0_cocci.mli index 185b82d..4e3b2ed 100644 --- a/parsing_cocci/ast0_cocci.mli +++ b/parsing_cocci/ast0_cocci.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* --------------------------------------------------------------------- *) (* Modified code *) diff --git a/parsing_cocci/ast0toast.ml b/parsing_cocci/ast0toast.ml index 255c0ac..d254af4 100644 --- a/parsing_cocci/ast0toast.ml +++ b/parsing_cocci/ast0toast.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Arities matter for the minus slice, but not for the plus slice. *) (* + only allowed on code in a nest (in_nest = true). ? only allowed on diff --git a/parsing_cocci/ast0toast.mli b/parsing_cocci/ast0toast.mli index e46dec0..6e03663 100644 --- a/parsing_cocci/ast0toast.mli +++ b/parsing_cocci/ast0toast.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val ast0toast : string -> Ast_cocci.dependency -> string list (* dropped isos *) -> Ast_cocci.exists -> Ast0_cocci.rule -> bool list -> Ast_cocci.ruletype -> diff --git a/parsing_cocci/ast_cocci.ml b/parsing_cocci/ast_cocci.ml index 5bc5faf..190febe 100644 --- a/parsing_cocci/ast_cocci.ml +++ b/parsing_cocci/ast_cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* --------------------------------------------------------------------- *) (* Modified code *) diff --git a/parsing_cocci/ast_cocci.mli b/parsing_cocci/ast_cocci.mli index 5a8eec4..4617e9f 100644 --- a/parsing_cocci/ast_cocci.mli +++ b/parsing_cocci/ast_cocci.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* --------------------------------------------------------------------- *) (* Modified code *) diff --git a/parsing_cocci/check_meta.ml b/parsing_cocci/check_meta.ml index d64f1d9..056d0e7 100644 --- a/parsing_cocci/check_meta.ml +++ b/parsing_cocci/check_meta.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* For minus fragment, checks that all of the identifier metavariables that are used are not declared as fresh, and check that all declared variables are used. For plus fragment, just check that the variables declared as diff --git a/parsing_cocci/check_meta.mli b/parsing_cocci/check_meta.mli index d239fc2..371dbb9 100644 --- a/parsing_cocci/check_meta.mli +++ b/parsing_cocci/check_meta.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val check_meta : string -> Ast_cocci.metavar list (* old metavariables *) -> diff --git a/parsing_cocci/comm_assoc.ml b/parsing_cocci/comm_assoc.ml index c508b82..d03584d 100644 --- a/parsing_cocci/comm_assoc.ml +++ b/parsing_cocci/comm_assoc.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* searches for E op ..., for any commutative and associative binary operator. When this satisfies the isomorphism conditions (ie all minus, or context for the op and ...), then this is converted to Nested(E,op). diff --git a/parsing_cocci/comm_assoc.mli b/parsing_cocci/comm_assoc.mli index 351633b..610e722 100644 --- a/parsing_cocci/comm_assoc.mli +++ b/parsing_cocci/comm_assoc.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val comm_assoc : Ast0_cocci.rule -> string (* rule name *) -> string list (* dropped isos *) -> Ast0_cocci.rule diff --git a/parsing_cocci/compute_lines.ml b/parsing_cocci/compute_lines.ml index fc27042..4f47084 100644 --- a/parsing_cocci/compute_lines.ml +++ b/parsing_cocci/compute_lines.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Computes starting and ending logical lines for statements and expressions. every node gets an index as well. *) diff --git a/parsing_cocci/compute_lines.mli b/parsing_cocci/compute_lines.mli index 2d2cdf0..891bcc3 100644 --- a/parsing_cocci/compute_lines.mli +++ b/parsing_cocci/compute_lines.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val compute_lines : bool -> Ast0_cocci.rule -> Ast0_cocci.rule val compute_statement_dots_lines : bool -> diff --git a/parsing_cocci/context_neg.ml b/parsing_cocci/context_neg.ml index cf34083..3f728b3 100644 --- a/parsing_cocci/context_neg.ml +++ b/parsing_cocci/context_neg.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Detects subtrees that are all minus/plus and nodes that are "binding context nodes". The latter is a node whose structure and immediate tokens are the same in the minus and plus trees, and such that for every child, diff --git a/parsing_cocci/context_neg.mli b/parsing_cocci/context_neg.mli index acdb4b4..da1f6c5 100644 --- a/parsing_cocci/context_neg.mli +++ b/parsing_cocci/context_neg.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val context_neg : Ast0_cocci.rule -> Ast0_cocci.rule -> (Ast0_cocci.top_level * Ast0_cocci.top_level) list diff --git a/parsing_cocci/data.ml b/parsing_cocci/data.ml index 5c9df51..d4e46c6 100644 --- a/parsing_cocci/data.ml +++ b/parsing_cocci/data.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/parsing_cocci/data.mli b/parsing_cocci/data.mli index a6084d6..fc4c935 100644 --- a/parsing_cocci/data.mli +++ b/parsing_cocci/data.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* types that clutter the .mly file *) (* for iso metavariables, true if they can only match nonmodified, unitary metavariables *) diff --git a/parsing_cocci/disjdistr.ml b/parsing_cocci/disjdistr.ml index 4e1daa0..4fb19e1 100644 --- a/parsing_cocci/disjdistr.ml +++ b/parsing_cocci/disjdistr.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module V = Visitor_ast diff --git a/parsing_cocci/disjdistr.mli b/parsing_cocci/disjdistr.mli index ae9c339..cf420d0 100644 --- a/parsing_cocci/disjdistr.mli +++ b/parsing_cocci/disjdistr.mli @@ -1,2 +1,26 @@ +(* + * 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. + *) + + val disj : Ast_cocci.rule_with_metavars list -> Ast_cocci.rule_with_metavars list diff --git a/parsing_cocci/flag_parsing_cocci.ml b/parsing_cocci/flag_parsing_cocci.ml index bc8de67..0868f02 100644 --- a/parsing_cocci/flag_parsing_cocci.ml +++ b/parsing_cocci/flag_parsing_cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* uses E rather than A and adds comments indicating the start and end of each matched term *) diff --git a/parsing_cocci/free_vars.ml b/parsing_cocci/free_vars.ml index 69e1092..9313c3a 100644 --- a/parsing_cocci/free_vars.ml +++ b/parsing_cocci/free_vars.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* For each rule return the list of variables that are used after it. Also augment various parts of each rule with unitary, inherited, and freshness informations *) diff --git a/parsing_cocci/free_vars.mli b/parsing_cocci/free_vars.mli index 979a59f..d7fd980 100644 --- a/parsing_cocci/free_vars.mli +++ b/parsing_cocci/free_vars.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Used after things can only have one binding. Positions can have many bindings. These are combined in ctlcocciintegration, ie after the CTL generation. *) diff --git a/parsing_cocci/function_prototypes.ml b/parsing_cocci/function_prototypes.ml index 24f2a80..777563b 100644 --- a/parsing_cocci/function_prototypes.ml +++ b/parsing_cocci/function_prototypes.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci module V0 = Visitor_ast0 diff --git a/parsing_cocci/function_prototypes.mli b/parsing_cocci/function_prototypes.mli index 85b056c..363db5c 100644 --- a/parsing_cocci/function_prototypes.mli +++ b/parsing_cocci/function_prototypes.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val process : string (* name *) -> Ast_cocci.metavar list -> string list (* dropped isos *) -> Ast0_cocci.rule -> Ast0_cocci.rule -> Ast_cocci.ruletype -> diff --git a/parsing_cocci/get_constants.ml b/parsing_cocci/get_constants.ml index 6400d3b..3864d91 100644 --- a/parsing_cocci/get_constants.ml +++ b/parsing_cocci/get_constants.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* get a list of all of the constants in the - slice of a SmPL file, to be used to select which files to process *) diff --git a/parsing_cocci/get_constants.mli b/parsing_cocci/get_constants.mli index 657faf5..713a368 100644 --- a/parsing_cocci/get_constants.mli +++ b/parsing_cocci/get_constants.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val get_constants : Ast_cocci.rule list -> string list list diff --git a/parsing_cocci/get_constants2.ml b/parsing_cocci/get_constants2.ml index 032a50e..c471440 100644 --- a/parsing_cocci/get_constants2.ml +++ b/parsing_cocci/get_constants2.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module V = Visitor_ast module TC = Type_cocci diff --git a/parsing_cocci/get_constants2.mli b/parsing_cocci/get_constants2.mli index 34dc738..02ba70b 100644 --- a/parsing_cocci/get_constants2.mli +++ b/parsing_cocci/get_constants2.mli @@ -1,3 +1,27 @@ +(* + * 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 combine = And of combine list | Or of combine list | Elem of string | False | True diff --git a/parsing_cocci/id_utils.ml b/parsing_cocci/id_utils.ml index a53feca..7dbeb26 100644 --- a/parsing_cocci/id_utils.ml +++ b/parsing_cocci/id_utils.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* evaluation of nested and and or using id-utils *) module GC = Get_constants2 diff --git a/parsing_cocci/id_utils.mli b/parsing_cocci/id_utils.mli index bacfe86..de51c1f 100644 --- a/parsing_cocci/id_utils.mli +++ b/parsing_cocci/id_utils.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val interpret : string -> Get_constants2.combine -> string list diff --git a/parsing_cocci/index.ml b/parsing_cocci/index.ml index e190aed..3426b05 100644 --- a/parsing_cocci/index.ml +++ b/parsing_cocci/index.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* create an index for each constructor *) (* current max is 152 *) diff --git a/parsing_cocci/index.mli b/parsing_cocci/index.mli index cf6fdbf..82ecb1e 100644 --- a/parsing_cocci/index.mli +++ b/parsing_cocci/index.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val expression_dots : Ast0_cocci.expression Ast0_cocci.dots -> int list val initialiser_dots : Ast0_cocci.initialiser Ast0_cocci.dots -> int list val parameter_dots : Ast0_cocci.parameterTypeDef Ast0_cocci.dots -> int list diff --git a/parsing_cocci/insert_plus.ml b/parsing_cocci/insert_plus.ml index b6bf15f..e19ab82 100644 --- a/parsing_cocci/insert_plus.ml +++ b/parsing_cocci/insert_plus.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* The error message "no available token to attach to" often comes in an argument list of unbounded length. In this case, one should move a comma so that there is a comma after the + code. *) diff --git a/parsing_cocci/insert_plus.mli b/parsing_cocci/insert_plus.mli index 788df0b..46acab1 100644 --- a/parsing_cocci/insert_plus.mli +++ b/parsing_cocci/insert_plus.mli @@ -1,2 +1,26 @@ +(* + * 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. + *) + + val insert_plus : Ast0_cocci.rule -> Ast0_cocci.rule -> bool -> unit (* bool is true if no isos *) diff --git a/parsing_cocci/iso_compile.ml b/parsing_cocci/iso_compile.ml index 539d2bb..072ccbe 100644 --- a/parsing_cocci/iso_compile.ml +++ b/parsing_cocci/iso_compile.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module V0 = Visitor_ast0 module VT0 = Visitor_ast0_types module Ast0 = Ast0_cocci diff --git a/parsing_cocci/iso_compile.mli b/parsing_cocci/iso_compile.mli index 6b336f5..7826ecb 100644 --- a/parsing_cocci/iso_compile.mli +++ b/parsing_cocci/iso_compile.mli @@ -1,2 +1,26 @@ +(* + * 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. + *) + + val process : Iso_pattern.isomorphism -> unit diff --git a/parsing_cocci/iso_pattern.ml b/parsing_cocci/iso_pattern.ml index ff9fb68..c3a118b 100644 --- a/parsing_cocci/iso_pattern.ml +++ b/parsing_cocci/iso_pattern.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Potential problem: offset of mcode is not updated when an iso is instantiated, implying that a term may end up with many mcodes with the same offset. On the other hand, at the moment offset only seems to be used diff --git a/parsing_cocci/iso_pattern.mli b/parsing_cocci/iso_pattern.mli index d12a37a..964662e 100644 --- a/parsing_cocci/iso_pattern.mli +++ b/parsing_cocci/iso_pattern.mli @@ -1,3 +1,27 @@ +(* + * 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 isomorphism = Ast_cocci.metavar list * Ast0_cocci.anything list list * string(*iso name*) diff --git a/parsing_cocci/lexer_cocci.mll b/parsing_cocci/lexer_cocci.mll index fe2b3df..0d4f55a 100644 --- a/parsing_cocci/lexer_cocci.mll +++ b/parsing_cocci/lexer_cocci.mll @@ -1,3 +1,27 @@ +(* + * 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. + *) + + { open Parser_cocci_menhir module D = Data diff --git a/parsing_cocci/lexer_script.mll b/parsing_cocci/lexer_script.mll index 918355d..d731460 100644 --- a/parsing_cocci/lexer_script.mll +++ b/parsing_cocci/lexer_script.mll @@ -1,3 +1,27 @@ +(* + * 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. + *) + + { open Parser_cocci_menhir module D = Data diff --git a/parsing_cocci/main.ml b/parsing_cocci/main.ml index 218bda0..af5764b 100644 --- a/parsing_cocci/main.ml +++ b/parsing_cocci/main.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* ----------------------------------------------------------------------- *) (* Entry point *) diff --git a/parsing_cocci/merge.ml b/parsing_cocci/merge.ml index ed6516b..71c25f0 100644 --- a/parsing_cocci/merge.ml +++ b/parsing_cocci/merge.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* given parsed minus code and a stream of + code, figure out where to put the + code in the mcode of the minus code *) diff --git a/parsing_cocci/merge.mli b/parsing_cocci/merge.mli index edff023..def844e 100644 --- a/parsing_cocci/merge.mli +++ b/parsing_cocci/merge.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val do_merge : Ast0_cocci.rule -> (Ast_cocci.anything * int * int * int * int) list list list -> diff --git a/parsing_cocci/parse_aux.ml b/parsing_cocci/parse_aux.ml index ecbc4c1..a4a4373 100644 --- a/parsing_cocci/parse_aux.ml +++ b/parsing_cocci/parse_aux.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* exports everything, used only by parser_cocci_menhir.mly *) module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/parsing_cocci/parse_cocci.ml b/parsing_cocci/parse_cocci.ml index 7a635c1..3f8c32a 100644 --- a/parsing_cocci/parse_cocci.ml +++ b/parsing_cocci/parse_cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* splits the entire file into minus and plus fragments, and parses each separately (thus duplicating work for the parsing of the context elements) *) @@ -1127,8 +1151,6 @@ are not allowed. *) let rec collect_all_pragmas collected = function (PC.TPragma(s,(_,line,logical_line,offset,col,_,_,pos)),_)::rest -> - Printf.printf "Pragma on line %d and logical line %d\n" line - logical_line; let i = { Ast0.line_start = line; Ast0.line_end = line; Ast0.logical_start = logical_line; Ast0.logical_end = logical_line; diff --git a/parsing_cocci/parse_cocci.mli b/parsing_cocci/parse_cocci.mli index d8260bf..294f781 100644 --- a/parsing_cocci/parse_cocci.mli +++ b/parsing_cocci/parse_cocci.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + exception Bad_virt of string val process : diff --git a/parsing_cocci/parser_cocci.mly b/parsing_cocci/parser_cocci.mly index 39886c9..134a91c 100644 --- a/parsing_cocci/parser_cocci.mly +++ b/parsing_cocci/parser_cocci.mly @@ -1,3 +1,27 @@ +/* + * 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. + */ + + %{ (* Not clear how to allow function declarations to specify a return type diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index 7fbdce6..ae5bd84 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -2,155 +2,155 @@ exception Error type token = | Tvolatile of ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 8 "parser_cocci_menhir.ml" ) | Tvoid of ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 13 "parser_cocci_menhir.ml" ) | Tunsigned of ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 18 "parser_cocci_menhir.ml" ) | Tunion of ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 23 "parser_cocci_menhir.ml" ) | Ttypedef of ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 28 "parser_cocci_menhir.ml" ) | Tstruct of ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 33 "parser_cocci_menhir.ml" ) | Tstatic of ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 38 "parser_cocci_menhir.ml" ) | Tssize_t of ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 43 "parser_cocci_menhir.ml" ) | Tsize_t of ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 48 "parser_cocci_menhir.ml" ) | Tsigned of ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 53 "parser_cocci_menhir.ml" ) | Tshort of ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 58 "parser_cocci_menhir.ml" ) | Tregister of ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 63 "parser_cocci_menhir.ml" ) | Tptrdiff_t of ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 68 "parser_cocci_menhir.ml" ) | Tlong of ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 73 "parser_cocci_menhir.ml" ) | Tlist | Tint of ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 79 "parser_cocci_menhir.ml" ) | Tinline of ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 84 "parser_cocci_menhir.ml" ) | Tfloat of ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 89 "parser_cocci_menhir.ml" ) | Textern of ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 94 "parser_cocci_menhir.ml" ) | Tenum of ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 99 "parser_cocci_menhir.ml" ) | Tdouble of ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 104 "parser_cocci_menhir.ml" ) | Tconst of ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 109 "parser_cocci_menhir.ml" ) | Tchar of ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 114 "parser_cocci_menhir.ml" ) | Tauto of ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 119 "parser_cocci_menhir.ml" ) | Tattr of ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (string * Data.clt) # 124 "parser_cocci_menhir.ml" ) | TXor of ( -# 136 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) # 129 "parser_cocci_menhir.ml" ) | TWords | TWhy0 | TWhy of ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 136 "parser_cocci_menhir.ml" ) | TWhile of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 141 "parser_cocci_menhir.ml" ) | TWhenTrue of ( -# 118 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) # 146 "parser_cocci_menhir.ml" ) | TWhenFalse of ( -# 118 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) # 151 "parser_cocci_menhir.ml" ) | TWhen of ( -# 118 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) # 156 "parser_cocci_menhir.ml" ) @@ -158,325 +158,325 @@ type token = | TUsing | TUnderscore | TUndef of ( -# 125 "parser_cocci_menhir.mly" +# 149 "parser_cocci_menhir.mly" (Data.clt * token) # 164 "parser_cocci_menhir.ml" ) | TTypedef | TTypeId of ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 170 "parser_cocci_menhir.ml" ) | TType | TTildeExclEq of ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 176 "parser_cocci_menhir.ml" ) | TTildeEq of ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 181 "parser_cocci_menhir.ml" ) | TTilde of ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 186 "parser_cocci_menhir.ml" ) | TSwitch of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 191 "parser_cocci_menhir.ml" ) | TSub of ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 196 "parser_cocci_menhir.ml" ) | TString of ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 201 "parser_cocci_menhir.ml" ) | TStrict of ( -# 118 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) # 206 "parser_cocci_menhir.ml" ) | TStatement | TSizeof of ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 212 "parser_cocci_menhir.ml" ) | TShROp of ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 217 "parser_cocci_menhir.ml" ) | TShLOp of ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 222 "parser_cocci_menhir.ml" ) | TScriptData of ( -# 115 "parser_cocci_menhir.mly" +# 139 "parser_cocci_menhir.mly" (string) # 227 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 233 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 239 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( -# 148 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) # 245 "parser_cocci_menhir.ml" ) | TPtVirg of ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 250 "parser_cocci_menhir.ml" ) | TPragma of ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Ast_cocci.added_string * Data.clt) # 255 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( -# 127 "parser_cocci_menhir.mly" +# 151 "parser_cocci_menhir.mly" (string * Data.clt) # 262 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 268 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( -# 123 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string) # 273 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 279 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 284 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( -# 133 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) # 290 "parser_cocci_menhir.ml" ) | TOr of ( -# 135 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) # 295 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 301 "parser_cocci_menhir.ml" ) | TOPar of ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 306 "parser_cocci_menhir.ml" ) | TOInit of ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 311 "parser_cocci_menhir.ml" ) | TOEllipsis of ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 316 "parser_cocci_menhir.ml" ) | TOCro of ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 321 "parser_cocci_menhir.ml" ) | TOBrace of ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 326 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 332 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 339 "parser_cocci_menhir.ml" ) | TMinusFile of ( -# 127 "parser_cocci_menhir.mly" +# 151 "parser_cocci_menhir.mly" (string * Data.clt) # 344 "parser_cocci_menhir.ml" ) | TMinus of ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 349 "parser_cocci_menhir.ml" ) | TMid0 of ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 354 "parser_cocci_menhir.ml" ) | TMetavariable | TMetaType of ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 360 "parser_cocci_menhir.ml" ) | TMetaStmList of ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 365 "parser_cocci_menhir.ml" ) | TMetaStm of ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 370 "parser_cocci_menhir.ml" ) | TMetaPos of ( -# 112 "parser_cocci_menhir.mly" +# 136 "parser_cocci_menhir.mly" (Parse_aux.pos_info) # 375 "parser_cocci_menhir.ml" ) | TMetaParamList of ( -# 109 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 380 "parser_cocci_menhir.ml" ) | TMetaParam of ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 385 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 390 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 395 "parser_cocci_menhir.ml" ) | TMetaIterator of ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 400 "parser_cocci_menhir.ml" ) | TMetaInit of ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 405 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 410 "parser_cocci_menhir.ml" ) | TMetaId of ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 415 "parser_cocci_menhir.ml" ) | TMetaFunc of ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 420 "parser_cocci_menhir.ml" ) | TMetaFieldList of ( -# 110 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 425 "parser_cocci_menhir.ml" ) | TMetaField of ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 430 "parser_cocci_menhir.ml" ) | TMetaExpList of ( -# 109 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 435 "parser_cocci_menhir.ml" ) | TMetaExp of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 440 "parser_cocci_menhir.ml" ) | TMetaErr of ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 445 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 450 "parser_cocci_menhir.ml" ) | TMetaDecl of ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 455 "parser_cocci_menhir.ml" ) | TMetaConst of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 460 "parser_cocci_menhir.ml" ) | TMeta of ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 465 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( -# 139 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 471 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( -# 118 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) # 477 "parser_cocci_menhir.ml" ) | TIteratorId of ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 482 "parser_cocci_menhir.ml" ) @@ -492,60 +492,60 @@ type token = | TIso | TInvalid | TInt of ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 498 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( -# 124 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (string * Data.clt) # 505 "parser_cocci_menhir.ml" ) | TIncludeL of ( -# 124 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (string * Data.clt) # 510 "parser_cocci_menhir.ml" ) | TInc of ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 515 "parser_cocci_menhir.ml" ) | TIf of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 520 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 526 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 532 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 539 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 546 "parser_cocci_menhir.ml" ) | TFloat of ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 551 "parser_cocci_menhir.ml" ) @@ -557,152 +557,152 @@ type token = | TEver | TError | TEqEq of ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 563 "parser_cocci_menhir.ml" ) | TEq of ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 568 "parser_cocci_menhir.ml" ) | TElse of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 573 "parser_cocci_menhir.ml" ) | TEllipsis of ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 578 "parser_cocci_menhir.ml" ) | TDotDot of ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 583 "parser_cocci_menhir.ml" ) | TDot of ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 588 "parser_cocci_menhir.ml" ) | TDo of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 593 "parser_cocci_menhir.ml" ) | TDmOp of ( -# 141 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 598 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( -# 126 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (Data.clt * token * int * int) # 605 "parser_cocci_menhir.ml" ) | TDefine of ( -# 125 "parser_cocci_menhir.mly" +# 149 "parser_cocci_menhir.mly" (Data.clt * token) # 610 "parser_cocci_menhir.ml" ) | TDefault of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 615 "parser_cocci_menhir.ml" ) | TDeclarerId of ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 620 "parser_cocci_menhir.ml" ) | TDeclarer | TDeclaration | TDec of ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 627 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 633 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 640 "parser_cocci_menhir.ml" ) | TChar of ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 645 "parser_cocci_menhir.ml" ) | TCase of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 650 "parser_cocci_menhir.ml" ) | TCPar0 of ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 655 "parser_cocci_menhir.ml" ) | TCPar of ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 660 "parser_cocci_menhir.ml" ) | TCEllipsis of ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 665 "parser_cocci_menhir.ml" ) | TCCro of ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 670 "parser_cocci_menhir.ml" ) | TCBrace of ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 675 "parser_cocci_menhir.ml" ) | TBreak of ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 680 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 686 "parser_cocci_menhir.ml" ) | TAssign of ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 691 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( -# 118 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) # 698 "parser_cocci_menhir.ml" ) | TAndLog of ( -# 134 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) # 703 "parser_cocci_menhir.ml" ) | TAnd of ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) # 708 "parser_cocci_menhir.ml" ) @@ -711,7 +711,7 @@ type token = and _menhir_jeton = token -# 1 "parser_cocci_menhir.mly" +# 25 "parser_cocci_menhir.mly" (* Not clear how to allow function declarations to specify a return type @@ -1730,7 +1730,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 2153 "parser_cocci_menhir.mly" +# 2177 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp _1 ) # 1736 "parser_cocci_menhir.ml" in @@ -1751,14 +1751,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 109 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 1757 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 2155 "parser_cocci_menhir.mly" +# 2179 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -1789,7 +1789,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 2164 "parser_cocci_menhir.mly" +# 2188 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) # 1795 "parser_cocci_menhir.ml" in @@ -1811,7 +1811,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2200 "parser_cocci_menhir.mly" +# 2224 "parser_cocci_menhir.mly" ( Ast.WhenAny ) # 1817 "parser_cocci_menhir.ml" in @@ -1833,7 +1833,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2201 "parser_cocci_menhir.mly" +# 2225 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) # 1839 "parser_cocci_menhir.ml" in @@ -1855,7 +1855,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2202 "parser_cocci_menhir.mly" +# 2226 "parser_cocci_menhir.mly" ( Ast.WhenForall ) # 1861 "parser_cocci_menhir.ml" in @@ -1877,7 +1877,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2203 "parser_cocci_menhir.mly" +# 2227 "parser_cocci_menhir.mly" ( Ast.WhenExists ) # 1883 "parser_cocci_menhir.ml" in @@ -1901,7 +1901,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) # 1907 "parser_cocci_menhir.ml" in @@ -1933,7 +1933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 1939 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -1941,7 +1941,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1412 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 1947 "parser_cocci_menhir.ml" in @@ -1973,7 +1973,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 141 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 1979 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -1981,7 +1981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1414 "parser_cocci_menhir.mly" +# 1438 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 1987 "parser_cocci_menhir.ml" in @@ -2013,7 +2013,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 2019 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2021,7 +2021,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 2027 "parser_cocci_menhir.ml" in @@ -2053,7 +2053,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 2059 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2061,7 +2061,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1418 "parser_cocci_menhir.mly" +# 1442 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 2067 "parser_cocci_menhir.ml" in @@ -2093,7 +2093,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2099 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2101,7 +2101,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1420 "parser_cocci_menhir.mly" +# 1444 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2107 "parser_cocci_menhir.ml" in @@ -2133,7 +2133,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2139 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2141,7 +2141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2147 "parser_cocci_menhir.ml" in @@ -2173,7 +2173,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 139 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 2179 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2181,7 +2181,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1424 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 2187 "parser_cocci_menhir.ml" in @@ -2213,7 +2213,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 2219 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2221,7 +2221,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 2227 "parser_cocci_menhir.ml" in @@ -2253,7 +2253,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 2259 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2261,7 +2261,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1428 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 2267 "parser_cocci_menhir.ml" in @@ -2293,7 +2293,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) # 2299 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2301,7 +2301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1430 "parser_cocci_menhir.mly" +# 1454 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 2307 "parser_cocci_menhir.ml" in @@ -2333,7 +2333,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 135 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) # 2339 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2341,7 +2341,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1432 "parser_cocci_menhir.mly" +# 1456 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 2347 "parser_cocci_menhir.ml" in @@ -2373,7 +2373,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 136 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) # 2379 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2381,7 +2381,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1434 "parser_cocci_menhir.mly" +# 1458 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 2387 "parser_cocci_menhir.ml" in @@ -2413,7 +2413,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 134 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) # 2419 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2421,7 +2421,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1436 "parser_cocci_menhir.mly" +# 1460 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 2427 "parser_cocci_menhir.ml" in @@ -2453,7 +2453,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 133 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) # 2459 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2461,7 +2461,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1438 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 2467 "parser_cocci_menhir.ml" in @@ -2485,7 +2485,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) # 2491 "parser_cocci_menhir.ml" in @@ -2517,7 +2517,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 2523 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2525,7 +2525,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1412 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 2531 "parser_cocci_menhir.ml" in @@ -2557,7 +2557,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 141 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2563 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2565,7 +2565,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1414 "parser_cocci_menhir.mly" +# 1438 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2571 "parser_cocci_menhir.ml" in @@ -2597,7 +2597,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 2603 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2605,7 +2605,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 2611 "parser_cocci_menhir.ml" in @@ -2637,7 +2637,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 2643 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2645,7 +2645,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1418 "parser_cocci_menhir.mly" +# 1442 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 2651 "parser_cocci_menhir.ml" in @@ -2677,7 +2677,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2683 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2685,7 +2685,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1420 "parser_cocci_menhir.mly" +# 1444 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2691 "parser_cocci_menhir.ml" in @@ -2717,7 +2717,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2723 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2725,7 +2725,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2731 "parser_cocci_menhir.ml" in @@ -2757,7 +2757,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 139 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 2763 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2765,7 +2765,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1424 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 2771 "parser_cocci_menhir.ml" in @@ -2797,7 +2797,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 2803 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2805,7 +2805,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 2811 "parser_cocci_menhir.ml" in @@ -2837,7 +2837,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 2843 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2845,7 +2845,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1428 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 2851 "parser_cocci_menhir.ml" in @@ -2877,7 +2877,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) # 2883 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2885,7 +2885,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1430 "parser_cocci_menhir.mly" +# 1454 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 2891 "parser_cocci_menhir.ml" in @@ -2917,7 +2917,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 135 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) # 2923 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2925,7 +2925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1432 "parser_cocci_menhir.mly" +# 1456 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 2931 "parser_cocci_menhir.ml" in @@ -2957,7 +2957,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 136 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) # 2963 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2965,7 +2965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1434 "parser_cocci_menhir.mly" +# 1458 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 2971 "parser_cocci_menhir.ml" in @@ -2997,7 +2997,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 134 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) # 3003 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3005,7 +3005,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1436 "parser_cocci_menhir.mly" +# 1460 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 3011 "parser_cocci_menhir.ml" in @@ -3037,7 +3037,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 133 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) # 3043 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3045,7 +3045,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1438 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 3051 "parser_cocci_menhir.ml" in @@ -3069,7 +3069,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) # 3075 "parser_cocci_menhir.ml" in @@ -3101,7 +3101,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 3107 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3109,7 +3109,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1412 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 3115 "parser_cocci_menhir.ml" in @@ -3141,7 +3141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 141 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3147 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3149,7 +3149,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1414 "parser_cocci_menhir.mly" +# 1438 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3155 "parser_cocci_menhir.ml" in @@ -3181,7 +3181,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 3187 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3189,7 +3189,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 3195 "parser_cocci_menhir.ml" in @@ -3221,7 +3221,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 3227 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3229,7 +3229,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1418 "parser_cocci_menhir.mly" +# 1442 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 3235 "parser_cocci_menhir.ml" in @@ -3261,7 +3261,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3267 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3269,7 +3269,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1420 "parser_cocci_menhir.mly" +# 1444 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3275 "parser_cocci_menhir.ml" in @@ -3301,7 +3301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3307 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3309,7 +3309,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3315 "parser_cocci_menhir.ml" in @@ -3341,7 +3341,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 139 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 3347 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3349,7 +3349,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1424 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 3355 "parser_cocci_menhir.ml" in @@ -3381,7 +3381,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 3387 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3389,7 +3389,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 3395 "parser_cocci_menhir.ml" in @@ -3421,7 +3421,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 3427 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3429,7 +3429,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1428 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 3435 "parser_cocci_menhir.ml" in @@ -3461,7 +3461,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) # 3467 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3469,7 +3469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1430 "parser_cocci_menhir.mly" +# 1454 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 3475 "parser_cocci_menhir.ml" in @@ -3501,7 +3501,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 135 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) # 3507 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3509,7 +3509,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1432 "parser_cocci_menhir.mly" +# 1456 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 3515 "parser_cocci_menhir.ml" in @@ -3541,7 +3541,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 136 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) # 3547 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3549,7 +3549,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1434 "parser_cocci_menhir.mly" +# 1458 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 3555 "parser_cocci_menhir.ml" in @@ -3581,7 +3581,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 134 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) # 3587 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3589,7 +3589,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1436 "parser_cocci_menhir.mly" +# 1460 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 3595 "parser_cocci_menhir.ml" in @@ -3621,7 +3621,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 133 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) # 3627 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3629,7 +3629,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1438 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 3635 "parser_cocci_menhir.ml" in @@ -3653,7 +3653,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) # 3659 "parser_cocci_menhir.ml" in @@ -3685,7 +3685,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 3691 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3693,7 +3693,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1412 "parser_cocci_menhir.mly" +# 1436 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 3699 "parser_cocci_menhir.ml" in @@ -3725,7 +3725,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 141 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3731 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3733,7 +3733,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1414 "parser_cocci_menhir.mly" +# 1438 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3739 "parser_cocci_menhir.ml" in @@ -3765,7 +3765,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 3771 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3773,7 +3773,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 3779 "parser_cocci_menhir.ml" in @@ -3805,7 +3805,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 3811 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3813,7 +3813,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1418 "parser_cocci_menhir.mly" +# 1442 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 3819 "parser_cocci_menhir.ml" in @@ -3845,7 +3845,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3851 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3853,7 +3853,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1420 "parser_cocci_menhir.mly" +# 1444 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3859 "parser_cocci_menhir.ml" in @@ -3885,7 +3885,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3891 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3893,7 +3893,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3899 "parser_cocci_menhir.ml" in @@ -3925,7 +3925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 139 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 3931 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3933,7 +3933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1424 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 3939 "parser_cocci_menhir.ml" in @@ -3965,7 +3965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 3971 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3973,7 +3973,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 3979 "parser_cocci_menhir.ml" in @@ -4005,7 +4005,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 4011 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4013,7 +4013,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1428 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 4019 "parser_cocci_menhir.ml" in @@ -4045,7 +4045,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) # 4051 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4053,7 +4053,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1430 "parser_cocci_menhir.mly" +# 1454 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 4059 "parser_cocci_menhir.ml" in @@ -4085,7 +4085,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 135 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) # 4091 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4093,7 +4093,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1432 "parser_cocci_menhir.mly" +# 1456 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 4099 "parser_cocci_menhir.ml" in @@ -4125,7 +4125,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 136 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) # 4131 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4133,7 +4133,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1434 "parser_cocci_menhir.mly" +# 1458 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 4139 "parser_cocci_menhir.ml" in @@ -4165,7 +4165,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 134 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) # 4171 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4173,7 +4173,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1436 "parser_cocci_menhir.mly" +# 1460 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 4179 "parser_cocci_menhir.ml" in @@ -4205,7 +4205,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 133 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) # 4211 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4213,7 +4213,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1438 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 4219 "parser_cocci_menhir.ml" in @@ -4237,7 +4237,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_bis = -# 1443 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( _1 ) # 4243 "parser_cocci_menhir.ml" in @@ -4269,7 +4269,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 4275 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4277,7 +4277,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1445 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 4283 "parser_cocci_menhir.ml" in @@ -4309,7 +4309,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 141 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 4315 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4317,7 +4317,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1447 "parser_cocci_menhir.mly" +# 1471 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 4323 "parser_cocci_menhir.ml" in @@ -4349,7 +4349,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 4355 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4357,7 +4357,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1449 "parser_cocci_menhir.mly" +# 1473 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 4363 "parser_cocci_menhir.ml" in @@ -4389,7 +4389,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 4395 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4397,7 +4397,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1451 "parser_cocci_menhir.mly" +# 1475 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 4403 "parser_cocci_menhir.ml" in @@ -4429,7 +4429,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 4435 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4437,7 +4437,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1453 "parser_cocci_menhir.mly" +# 1477 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 4443 "parser_cocci_menhir.ml" in @@ -4469,7 +4469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 4475 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4477,7 +4477,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1455 "parser_cocci_menhir.mly" +# 1479 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 4483 "parser_cocci_menhir.ml" in @@ -4509,7 +4509,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 139 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 4515 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4517,7 +4517,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1457 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 4523 "parser_cocci_menhir.ml" in @@ -4549,7 +4549,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 4555 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4557,7 +4557,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1459 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 4563 "parser_cocci_menhir.ml" in @@ -4589,7 +4589,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 138 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) # 4595 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4597,7 +4597,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1461 "parser_cocci_menhir.mly" +# 1485 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 4603 "parser_cocci_menhir.ml" in @@ -4629,7 +4629,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) # 4635 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4637,7 +4637,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1463 "parser_cocci_menhir.mly" +# 1487 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 4643 "parser_cocci_menhir.ml" in @@ -4669,7 +4669,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 135 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) # 4675 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4677,7 +4677,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1465 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 4683 "parser_cocci_menhir.ml" in @@ -4709,7 +4709,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 136 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) # 4715 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4717,7 +4717,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1467 "parser_cocci_menhir.mly" +# 1491 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 4723 "parser_cocci_menhir.ml" in @@ -4749,7 +4749,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 134 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) # 4755 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4757,7 +4757,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_bis = -# 1469 "parser_cocci_menhir.mly" +# 1493 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 4763 "parser_cocci_menhir.ml" in @@ -4779,7 +4779,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 583 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( Ast.UNIQUE ) # 4785 "parser_cocci_menhir.ml" in @@ -4801,7 +4801,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 584 "parser_cocci_menhir.mly" +# 608 "parser_cocci_menhir.mly" ( Ast.OPT ) # 4807 "parser_cocci_menhir.ml" in @@ -4823,7 +4823,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 585 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( Ast.MULTI ) # 4829 "parser_cocci_menhir.ml" in @@ -4840,7 +4840,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_arity = -# 586 "parser_cocci_menhir.mly" +# 610 "parser_cocci_menhir.mly" ( Ast.NONE ) # 4846 "parser_cocci_menhir.ml" in @@ -4871,20 +4871,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let r : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 4877 "parser_cocci_menhir.ml" ) = Obj.magic r in let i : 'tv_option_eexpr_ = Obj.magic i in let l : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 4883 "parser_cocci_menhir.ml" ) = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_array_dec = -# 1234 "parser_cocci_menhir.mly" +# 1258 "parser_cocci_menhir.mly" ( (l,i,r) ) # 4890 "parser_cocci_menhir.ml" in @@ -4908,7 +4908,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1382 "parser_cocci_menhir.mly" +# 1406 "parser_cocci_menhir.mly" ( _1 ) # 4914 "parser_cocci_menhir.ml" in @@ -4940,7 +4940,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 4946 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4948,7 +4948,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1384 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -4982,7 +4982,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 4988 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4990,7 +4990,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1388 "parser_cocci_menhir.mly" +# 1412 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -5016,7 +5016,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1382 "parser_cocci_menhir.mly" +# 1406 "parser_cocci_menhir.mly" ( _1 ) # 5022 "parser_cocci_menhir.ml" in @@ -5048,7 +5048,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 5054 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5056,7 +5056,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1384 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -5090,7 +5090,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 5096 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5098,7 +5098,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1388 "parser_cocci_menhir.mly" +# 1412 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -5124,7 +5124,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1382 "parser_cocci_menhir.mly" +# 1406 "parser_cocci_menhir.mly" ( _1 ) # 5130 "parser_cocci_menhir.ml" in @@ -5156,7 +5156,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 5162 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5164,7 +5164,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1384 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -5198,7 +5198,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 5204 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5206,7 +5206,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1388 "parser_cocci_menhir.mly" +# 1412 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -5232,7 +5232,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1393 "parser_cocci_menhir.mly" +# 1417 "parser_cocci_menhir.mly" ( _1 ) # 5238 "parser_cocci_menhir.ml" in @@ -5264,7 +5264,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 5270 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5272,7 +5272,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_bis = -# 1395 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -5306,7 +5306,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 5312 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5314,7 +5314,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_bis = -# 1399 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -5340,7 +5340,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1379 "parser_cocci_menhir.mly" +# 1403 "parser_cocci_menhir.mly" ( _1 ) # 5346 "parser_cocci_menhir.ml" in @@ -5364,7 +5364,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1379 "parser_cocci_menhir.mly" +# 1403 "parser_cocci_menhir.mly" ( _1 ) # 5370 "parser_cocci_menhir.ml" in @@ -5388,7 +5388,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1379 "parser_cocci_menhir.mly" +# 1403 "parser_cocci_menhir.mly" ( _1 ) # 5394 "parser_cocci_menhir.ml" in @@ -5420,19 +5420,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_fun_start = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 5426 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 5431 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_case_line = -# 1103 "parser_cocci_menhir.mly" +# 1127 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) # 5439 "parser_cocci_menhir.ml" @@ -5470,20 +5470,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _4 : 'tv_fun_start = Obj.magic _4 in let _3 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 5476 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 5482 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_case_line = -# 1106 "parser_cocci_menhir.mly" +# 1130 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) # 5489 "parser_cocci_menhir.ml" in @@ -5507,7 +5507,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1474 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( _1 ) # 5513 "parser_cocci_menhir.ml" in @@ -5544,20 +5544,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 5550 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 5556 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1476 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 5564 "parser_cocci_menhir.ml" @@ -5582,7 +5582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1474 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( _1 ) # 5588 "parser_cocci_menhir.ml" in @@ -5619,20 +5619,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 5625 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 5631 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1476 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 5639 "parser_cocci_menhir.ml" @@ -5657,7 +5657,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1474 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( _1 ) # 5663 "parser_cocci_menhir.ml" in @@ -5694,20 +5694,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 5700 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 5706 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1476 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 5714 "parser_cocci_menhir.ml" @@ -5732,7 +5732,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1474 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( _1 ) # 5738 "parser_cocci_menhir.ml" in @@ -5769,20 +5769,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 5775 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 5781 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1476 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 5789 "parser_cocci_menhir.ml" @@ -5811,7 +5811,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_choose_iso = -# 283 "parser_cocci_menhir.mly" +# 307 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) # 5817 "parser_cocci_menhir.ml" in @@ -5835,7 +5835,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 5841 "parser_cocci_menhir.ml" in @@ -5859,7 +5859,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 5865 "parser_cocci_menhir.ml" in @@ -5883,7 +5883,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 5889 "parser_cocci_menhir.ml" in @@ -5907,7 +5907,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ident_or_const_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 5913 "parser_cocci_menhir.ml" in @@ -5931,7 +5931,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 5937 "parser_cocci_menhir.ml" in @@ -5955,7 +5955,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 5961 "parser_cocci_menhir.ml" in @@ -5979,7 +5979,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 5985 "parser_cocci_menhir.ml" in @@ -6003,7 +6003,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 6009 "parser_cocci_menhir.ml" in @@ -6027,7 +6027,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 6033 "parser_cocci_menhir.ml" in @@ -6051,7 +6051,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 6057 "parser_cocci_menhir.ml" in @@ -6075,7 +6075,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 6081 "parser_cocci_menhir.ml" in @@ -6099,7 +6099,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 6105 "parser_cocci_menhir.ml" in @@ -6123,7 +6123,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 6129 "parser_cocci_menhir.ml" in @@ -6147,7 +6147,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 2178 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( _1 ) # 6153 "parser_cocci_menhir.ml" in @@ -6171,7 +6171,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1404 "parser_cocci_menhir.mly" +# 1428 "parser_cocci_menhir.mly" ( _1 ) # 6177 "parser_cocci_menhir.ml" in @@ -6213,13 +6213,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 6219 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 6225 "parser_cocci_menhir.ml" ) = Obj.magic w in @@ -6227,7 +6227,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1406 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) # 6234 "parser_cocci_menhir.ml" @@ -6252,7 +6252,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1404 "parser_cocci_menhir.mly" +# 1428 "parser_cocci_menhir.mly" ( _1 ) # 6258 "parser_cocci_menhir.ml" in @@ -6294,13 +6294,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 6300 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 6306 "parser_cocci_menhir.ml" ) = Obj.magic w in @@ -6308,7 +6308,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1406 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) # 6315 "parser_cocci_menhir.ml" @@ -6333,7 +6333,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1404 "parser_cocci_menhir.mly" +# 1428 "parser_cocci_menhir.mly" ( _1 ) # 6339 "parser_cocci_menhir.ml" in @@ -6375,13 +6375,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 6381 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 6387 "parser_cocci_menhir.ml" ) = Obj.magic w in @@ -6389,7 +6389,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1406 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) # 6396 "parser_cocci_menhir.ml" @@ -6411,14 +6411,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 6417 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 1011 "parser_cocci_menhir.mly" +# 1035 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) # 6424 "parser_cocci_menhir.ml" in @@ -6439,14 +6439,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 6445 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 1012 "parser_cocci_menhir.mly" +# 1036 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) # 6452 "parser_cocci_menhir.ml" in @@ -6470,7 +6470,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1954 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6476 "parser_cocci_menhir.ml" in @@ -6496,7 +6496,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6502 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6504,7 +6504,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1956 "parser_cocci_menhir.mly" +# 1980 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6511 "parser_cocci_menhir.ml" @@ -6537,7 +6537,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6543 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6545,7 +6545,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1959 "parser_cocci_menhir.mly" +# 1983 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6575,7 +6575,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1962 "parser_cocci_menhir.mly" +# 1986 "parser_cocci_menhir.mly" ( _2 ) # 6581 "parser_cocci_menhir.ml" in @@ -6599,7 +6599,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1954 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6605 "parser_cocci_menhir.ml" in @@ -6625,7 +6625,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6631 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6633,7 +6633,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1956 "parser_cocci_menhir.mly" +# 1980 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6640 "parser_cocci_menhir.ml" @@ -6666,7 +6666,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6672 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6674,7 +6674,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1959 "parser_cocci_menhir.mly" +# 1983 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6704,7 +6704,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1962 "parser_cocci_menhir.mly" +# 1986 "parser_cocci_menhir.mly" ( _2 ) # 6710 "parser_cocci_menhir.ml" in @@ -6728,7 +6728,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1954 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6734 "parser_cocci_menhir.ml" in @@ -6754,7 +6754,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6760 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6762,7 +6762,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1956 "parser_cocci_menhir.mly" +# 1980 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6769 "parser_cocci_menhir.ml" @@ -6795,7 +6795,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6801 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6803,7 +6803,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1959 "parser_cocci_menhir.mly" +# 1983 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6833,7 +6833,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1962 "parser_cocci_menhir.mly" +# 1986 "parser_cocci_menhir.mly" ( _2 ) # 6839 "parser_cocci_menhir.ml" in @@ -6857,7 +6857,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1954 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6863 "parser_cocci_menhir.ml" in @@ -6883,7 +6883,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6889 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6891,7 +6891,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1956 "parser_cocci_menhir.mly" +# 1980 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6898 "parser_cocci_menhir.ml" @@ -6924,7 +6924,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 6930 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6932,7 +6932,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1959 "parser_cocci_menhir.mly" +# 1983 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6962,7 +6962,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1962 "parser_cocci_menhir.mly" +# 1986 "parser_cocci_menhir.mly" ( _2 ) # 6968 "parser_cocci_menhir.ml" in @@ -6986,7 +6986,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1954 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6992 "parser_cocci_menhir.ml" in @@ -7012,7 +7012,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 7018 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -7020,7 +7020,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1956 "parser_cocci_menhir.mly" +# 1980 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 7027 "parser_cocci_menhir.ml" @@ -7053,7 +7053,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 7059 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -7061,7 +7061,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1959 "parser_cocci_menhir.mly" +# 1983 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -7091,7 +7091,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1962 "parser_cocci_menhir.mly" +# 1986 "parser_cocci_menhir.mly" ( _2 ) # 7097 "parser_cocci_menhir.ml" in @@ -7115,7 +7115,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1954 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 7121 "parser_cocci_menhir.ml" in @@ -7141,7 +7141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 7147 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -7149,7 +7149,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1956 "parser_cocci_menhir.mly" +# 1980 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 7156 "parser_cocci_menhir.ml" @@ -7182,7 +7182,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 7188 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -7190,7 +7190,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1959 "parser_cocci_menhir.mly" +# 1983 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -7220,7 +7220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1962 "parser_cocci_menhir.mly" +# 1986 "parser_cocci_menhir.mly" ( _2 ) # 7226 "parser_cocci_menhir.ml" in @@ -7237,7 +7237,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_continue_struct_decl_list = -# 729 "parser_cocci_menhir.mly" +# 753 "parser_cocci_menhir.mly" ( [] ) # 7243 "parser_cocci_menhir.ml" in @@ -7267,7 +7267,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 730 "parser_cocci_menhir.mly" +# 754 "parser_cocci_menhir.mly" ( _1@_2 ) # 7273 "parser_cocci_menhir.ml" in @@ -7291,7 +7291,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 731 "parser_cocci_menhir.mly" +# 755 "parser_cocci_menhir.mly" ( _1 ) # 7297 "parser_cocci_menhir.ml" in @@ -7323,12 +7323,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7329 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7334 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7340,13 +7340,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 7346 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7352 "parser_cocci_menhir.ml" @@ -7359,7 +7359,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7365 "parser_cocci_menhir.ml" in @@ -7391,12 +7391,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7397 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7402 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7408,13 +7408,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 7414 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7420 "parser_cocci_menhir.ml" @@ -7427,7 +7427,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7433 "parser_cocci_menhir.ml" in @@ -7459,12 +7459,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7465 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7470 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7476,13 +7476,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 7482 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7488 "parser_cocci_menhir.ml" @@ -7495,7 +7495,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7501 "parser_cocci_menhir.ml" in @@ -7527,12 +7527,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 7533 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7538 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7544,14 +7544,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 7551 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7557 "parser_cocci_menhir.ml" @@ -7564,7 +7564,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7570 "parser_cocci_menhir.ml" in @@ -7605,17 +7605,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 7611 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 7616 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7621 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -7629,7 +7629,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -7640,7 +7640,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7646 "parser_cocci_menhir.ml" @@ -7653,7 +7653,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7659 "parser_cocci_menhir.ml" in @@ -7685,12 +7685,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7691 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7696 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7702,13 +7702,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 7708 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7714 "parser_cocci_menhir.ml" @@ -7721,7 +7721,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7727 "parser_cocci_menhir.ml" in @@ -7758,17 +7758,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7764 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7769 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7774 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7782,7 +7782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -7791,7 +7791,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7797 "parser_cocci_menhir.ml" @@ -7804,7 +7804,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7810 "parser_cocci_menhir.ml" in @@ -7836,12 +7836,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7842 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7847 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7853,13 +7853,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 7859 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7865 "parser_cocci_menhir.ml" @@ -7872,7 +7872,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7878 "parser_cocci_menhir.ml" in @@ -7904,12 +7904,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7910 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7915 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7921,13 +7921,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 7927 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7933 "parser_cocci_menhir.ml" @@ -7940,7 +7940,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7946 "parser_cocci_menhir.ml" in @@ -7972,12 +7972,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 7978 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 7983 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7989,13 +7989,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 7995 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 8001 "parser_cocci_menhir.ml" @@ -8008,7 +8008,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8014 "parser_cocci_menhir.ml" in @@ -8040,12 +8040,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 8046 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 8051 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -8057,14 +8057,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 8064 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 8070 "parser_cocci_menhir.ml" @@ -8077,7 +8077,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8083 "parser_cocci_menhir.ml" in @@ -8118,17 +8118,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 8124 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 8129 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 8134 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -8142,7 +8142,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -8153,7 +8153,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 8159 "parser_cocci_menhir.ml" @@ -8166,7 +8166,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8172 "parser_cocci_menhir.ml" in @@ -8198,12 +8198,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8204 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 8209 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -8215,13 +8215,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 8221 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 8227 "parser_cocci_menhir.ml" @@ -8234,7 +8234,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8240 "parser_cocci_menhir.ml" in @@ -8271,17 +8271,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8277 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8282 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 8287 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -8295,7 +8295,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -8304,7 +8304,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 8310 "parser_cocci_menhir.ml" @@ -8317,7 +8317,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8323 "parser_cocci_menhir.ml" in @@ -8344,7 +8344,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8350 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8355,13 +8355,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 8361 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 8367 "parser_cocci_menhir.ml" @@ -8374,7 +8374,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8380 "parser_cocci_menhir.ml" in @@ -8401,7 +8401,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8407 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8412,13 +8412,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 8418 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 8424 "parser_cocci_menhir.ml" @@ -8431,7 +8431,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8437 "parser_cocci_menhir.ml" in @@ -8458,7 +8458,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8464 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8469,13 +8469,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 8475 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 8481 "parser_cocci_menhir.ml" @@ -8488,7 +8488,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8494 "parser_cocci_menhir.ml" in @@ -8515,7 +8515,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 8521 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -8526,14 +8526,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 8533 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 8539 "parser_cocci_menhir.ml" @@ -8546,7 +8546,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8552 "parser_cocci_menhir.ml" in @@ -8582,12 +8582,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 8588 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 8593 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -8600,7 +8600,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -8611,7 +8611,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 8617 "parser_cocci_menhir.ml" @@ -8624,7 +8624,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8630 "parser_cocci_menhir.ml" in @@ -8651,7 +8651,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8657 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8662,13 +8662,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 8668 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 8674 "parser_cocci_menhir.ml" @@ -8681,7 +8681,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8687 "parser_cocci_menhir.ml" in @@ -8713,12 +8713,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8719 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8724 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -8731,7 +8731,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -8740,7 +8740,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 8746 "parser_cocci_menhir.ml" @@ -8753,7 +8753,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8759 "parser_cocci_menhir.ml" in @@ -8780,7 +8780,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 8786 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8791,13 +8791,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 619 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 8797 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 8803 "parser_cocci_menhir.ml" @@ -8810,7 +8810,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8816 "parser_cocci_menhir.ml" in @@ -8837,7 +8837,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8843 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8848,13 +8848,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 621 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 8854 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 8860 "parser_cocci_menhir.ml" @@ -8867,7 +8867,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8873 "parser_cocci_menhir.ml" in @@ -8894,7 +8894,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 8900 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8905,13 +8905,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 623 "parser_cocci_menhir.mly" +# 647 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 8911 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 8917 "parser_cocci_menhir.ml" @@ -8924,7 +8924,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8930 "parser_cocci_menhir.ml" in @@ -8951,7 +8951,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 8957 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8962,13 +8962,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 625 "parser_cocci_menhir.mly" +# 649 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 8968 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 8974 "parser_cocci_menhir.ml" @@ -8981,7 +8981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8987 "parser_cocci_menhir.ml" in @@ -9008,7 +9008,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 9014 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -9019,13 +9019,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 627 "parser_cocci_menhir.mly" +# 651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 9025 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9031 "parser_cocci_menhir.ml" @@ -9038,7 +9038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9044 "parser_cocci_menhir.ml" in @@ -9065,7 +9065,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 9071 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -9076,13 +9076,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 629 "parser_cocci_menhir.mly" +# 653 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 9082 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9088 "parser_cocci_menhir.ml" @@ -9095,7 +9095,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9101 "parser_cocci_menhir.ml" in @@ -9128,7 +9128,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 9134 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -9141,13 +9141,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 631 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 9147 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9153 "parser_cocci_menhir.ml" @@ -9160,7 +9160,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9166 "parser_cocci_menhir.ml" in @@ -9202,18 +9202,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9208 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9214 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 9219 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -9237,7 +9237,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -9246,7 +9246,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9252 "parser_cocci_menhir.ml" @@ -9259,7 +9259,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9265 "parser_cocci_menhir.ml" in @@ -9306,19 +9306,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9312 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9318 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 9324 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -9345,7 +9345,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -9354,7 +9354,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9360 "parser_cocci_menhir.ml" @@ -9367,7 +9367,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9373 "parser_cocci_menhir.ml" in @@ -9409,13 +9409,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 638 "parser_cocci_menhir.mly" +# 662 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 9415 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9421 "parser_cocci_menhir.ml" @@ -9428,7 +9428,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9434 "parser_cocci_menhir.ml" in @@ -9470,13 +9470,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9476 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9482 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -9501,7 +9501,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -9511,7 +9511,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9517 "parser_cocci_menhir.ml" @@ -9524,7 +9524,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9530 "parser_cocci_menhir.ml" in @@ -9571,13 +9571,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9577 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9583 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -9606,7 +9606,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -9616,7 +9616,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9622 "parser_cocci_menhir.ml" @@ -9629,7 +9629,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9635 "parser_cocci_menhir.ml" in @@ -9671,18 +9671,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9677 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 9683 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 9688 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -9699,7 +9699,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 647 "parser_cocci_menhir.mly" +# 671 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) @@ -9707,7 +9707,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9713 "parser_cocci_menhir.ml" @@ -9720,7 +9720,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9726 "parser_cocci_menhir.ml" in @@ -9747,7 +9747,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 9753 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -9758,13 +9758,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 651 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 9764 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 9770 "parser_cocci_menhir.ml" @@ -9777,7 +9777,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9783 "parser_cocci_menhir.ml" in @@ -9814,12 +9814,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 9820 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 9825 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9832,13 +9832,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 9838 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9844 "parser_cocci_menhir.ml" @@ -9852,7 +9852,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9858 "parser_cocci_menhir.ml" in @@ -9889,12 +9889,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 9895 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 9900 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9907,13 +9907,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 9913 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9919 "parser_cocci_menhir.ml" @@ -9927,7 +9927,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9933 "parser_cocci_menhir.ml" in @@ -9964,12 +9964,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 9970 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 9975 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9982,13 +9982,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 9988 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9994 "parser_cocci_menhir.ml" @@ -10002,7 +10002,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10008 "parser_cocci_menhir.ml" in @@ -10039,12 +10039,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 10045 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10050 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10057,14 +10057,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 10064 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 10070 "parser_cocci_menhir.ml" @@ -10078,7 +10078,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10084 "parser_cocci_menhir.ml" in @@ -10124,17 +10124,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 10130 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 10135 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10140 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -10149,7 +10149,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -10160,7 +10160,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 10166 "parser_cocci_menhir.ml" @@ -10174,7 +10174,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10180 "parser_cocci_menhir.ml" in @@ -10211,12 +10211,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10217 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10222 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10229,13 +10229,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 10235 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 10241 "parser_cocci_menhir.ml" @@ -10249,7 +10249,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10255 "parser_cocci_menhir.ml" in @@ -10291,17 +10291,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10297 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10302 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10307 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10316,7 +10316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -10325,7 +10325,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 10331 "parser_cocci_menhir.ml" @@ -10339,7 +10339,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10345 "parser_cocci_menhir.ml" in @@ -10376,12 +10376,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10382 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10387 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10394,13 +10394,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 10400 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10406 "parser_cocci_menhir.ml" @@ -10414,7 +10414,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10420 "parser_cocci_menhir.ml" in @@ -10451,12 +10451,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10457 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10462 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10469,13 +10469,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 10475 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10481 "parser_cocci_menhir.ml" @@ -10489,7 +10489,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10495 "parser_cocci_menhir.ml" in @@ -10526,12 +10526,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10532 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10537 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10544,13 +10544,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 10550 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10556 "parser_cocci_menhir.ml" @@ -10564,7 +10564,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10570 "parser_cocci_menhir.ml" in @@ -10601,12 +10601,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 10607 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10612 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10619,14 +10619,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 10626 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10632 "parser_cocci_menhir.ml" @@ -10640,7 +10640,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10646 "parser_cocci_menhir.ml" in @@ -10686,17 +10686,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 10692 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 10697 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10702 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -10711,7 +10711,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -10722,7 +10722,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10728 "parser_cocci_menhir.ml" @@ -10736,7 +10736,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10742 "parser_cocci_menhir.ml" in @@ -10773,12 +10773,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10779 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10784 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10791,13 +10791,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 10797 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10803 "parser_cocci_menhir.ml" @@ -10811,7 +10811,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10817 "parser_cocci_menhir.ml" in @@ -10853,17 +10853,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10859 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10864 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 10869 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10878,7 +10878,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -10887,7 +10887,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10893 "parser_cocci_menhir.ml" @@ -10901,7 +10901,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10907 "parser_cocci_menhir.ml" in @@ -10933,7 +10933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 10939 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10945,13 +10945,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 10951 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 10957 "parser_cocci_menhir.ml" @@ -10965,7 +10965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10971 "parser_cocci_menhir.ml" in @@ -10997,7 +10997,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 11003 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11009,13 +11009,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 11015 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 11021 "parser_cocci_menhir.ml" @@ -11029,7 +11029,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11035 "parser_cocci_menhir.ml" in @@ -11061,7 +11061,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 11067 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11073,13 +11073,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 11079 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 11085 "parser_cocci_menhir.ml" @@ -11093,7 +11093,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11099 "parser_cocci_menhir.ml" in @@ -11125,7 +11125,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 11131 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -11137,14 +11137,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 11144 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 11150 "parser_cocci_menhir.ml" @@ -11158,7 +11158,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11164 "parser_cocci_menhir.ml" in @@ -11199,12 +11199,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 11205 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 11210 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -11218,7 +11218,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -11229,7 +11229,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 11235 "parser_cocci_menhir.ml" @@ -11243,7 +11243,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11249 "parser_cocci_menhir.ml" in @@ -11275,7 +11275,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 11281 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11287,13 +11287,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 11293 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 11299 "parser_cocci_menhir.ml" @@ -11307,7 +11307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11313 "parser_cocci_menhir.ml" in @@ -11344,12 +11344,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 11350 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 11355 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -11363,7 +11363,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -11372,7 +11372,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 11378 "parser_cocci_menhir.ml" @@ -11386,7 +11386,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11392 "parser_cocci_menhir.ml" in @@ -11418,7 +11418,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 11424 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11430,13 +11430,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 619 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 11436 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11442 "parser_cocci_menhir.ml" @@ -11450,7 +11450,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11456 "parser_cocci_menhir.ml" in @@ -11482,7 +11482,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 11488 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11494,13 +11494,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 621 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 11500 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11506 "parser_cocci_menhir.ml" @@ -11514,7 +11514,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11520 "parser_cocci_menhir.ml" in @@ -11546,7 +11546,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 11552 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11558,13 +11558,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 623 "parser_cocci_menhir.mly" +# 647 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 11564 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11570 "parser_cocci_menhir.ml" @@ -11578,7 +11578,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11584 "parser_cocci_menhir.ml" in @@ -11610,7 +11610,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 11616 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11622,13 +11622,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 625 "parser_cocci_menhir.mly" +# 649 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 11628 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11634 "parser_cocci_menhir.ml" @@ -11642,7 +11642,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11648 "parser_cocci_menhir.ml" in @@ -11674,7 +11674,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 11680 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11686,13 +11686,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 627 "parser_cocci_menhir.mly" +# 651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 11692 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11698 "parser_cocci_menhir.ml" @@ -11706,7 +11706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11712 "parser_cocci_menhir.ml" in @@ -11738,7 +11738,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 11744 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11750,13 +11750,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 629 "parser_cocci_menhir.mly" +# 653 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 11756 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11762 "parser_cocci_menhir.ml" @@ -11770,7 +11770,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11776 "parser_cocci_menhir.ml" in @@ -11808,7 +11808,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 11814 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -11822,13 +11822,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 631 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 11828 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11834 "parser_cocci_menhir.ml" @@ -11842,7 +11842,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11848 "parser_cocci_menhir.ml" in @@ -11889,18 +11889,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 11895 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 11901 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 11906 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -11925,7 +11925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -11934,7 +11934,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 11940 "parser_cocci_menhir.ml" @@ -11948,7 +11948,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11954 "parser_cocci_menhir.ml" in @@ -12000,19 +12000,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12006 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12012 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 12018 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -12040,7 +12040,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -12049,7 +12049,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 12055 "parser_cocci_menhir.ml" @@ -12063,7 +12063,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 12069 "parser_cocci_menhir.ml" in @@ -12111,13 +12111,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 638 "parser_cocci_menhir.mly" +# 662 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 12117 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 12123 "parser_cocci_menhir.ml" @@ -12131,7 +12131,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 12137 "parser_cocci_menhir.ml" in @@ -12178,13 +12178,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12184 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12190 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -12210,7 +12210,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -12220,7 +12220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 12226 "parser_cocci_menhir.ml" @@ -12234,7 +12234,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 12240 "parser_cocci_menhir.ml" in @@ -12286,13 +12286,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12292 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12298 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -12322,7 +12322,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -12332,7 +12332,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 12338 "parser_cocci_menhir.ml" @@ -12346,7 +12346,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 12352 "parser_cocci_menhir.ml" in @@ -12393,18 +12393,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12399 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 12405 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 12410 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -12422,7 +12422,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 647 "parser_cocci_menhir.mly" +# 671 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) @@ -12430,7 +12430,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 12436 "parser_cocci_menhir.ml" @@ -12444,7 +12444,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 12450 "parser_cocci_menhir.ml" in @@ -12476,7 +12476,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 12482 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -12488,13 +12488,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 651 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 12494 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 12500 "parser_cocci_menhir.ml" @@ -12508,7 +12508,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 664 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 12514 "parser_cocci_menhir.ml" in @@ -12529,14 +12529,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let r : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 12535 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 666 "parser_cocci_menhir.mly" +# 690 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) # 12542 "parser_cocci_menhir.ml" in @@ -12557,14 +12557,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let r : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 12563 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 668 "parser_cocci_menhir.mly" +# 692 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) # 12570 "parser_cocci_menhir.ml" in @@ -12595,20 +12595,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 12601 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 12607 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_ctype = -# 670 "parser_cocci_menhir.mly" +# 694 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) @@ -12640,7 +12640,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_d_ident = -# 1232 "parser_cocci_menhir.mly" +# 1256 "parser_cocci_menhir.mly" ( (_1, function t -> P.arrayify t _2) ) # 12646 "parser_cocci_menhir.ml" in @@ -12676,7 +12676,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_a_ in let _v : 'tv_decl = -# 984 "parser_cocci_menhir.mly" +# 1008 "parser_cocci_menhir.mly" ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) ) # 12682 "parser_cocci_menhir.ml" in @@ -12700,7 +12700,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_decl = -# 985 "parser_cocci_menhir.mly" +# 1009 "parser_cocci_menhir.mly" ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) # 12706 "parser_cocci_menhir.ml" in @@ -12756,29 +12756,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 12762 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 12768 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 12773 "parser_cocci_menhir.ml" ) = Obj.magic rp in let i : 'tv_disj_ident = Obj.magic i in let s : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 12779 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 12784 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -12786,7 +12786,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_decl = -# 988 "parser_cocci_menhir.mly" +# 1012 "parser_cocci_menhir.mly" ( let fnptr = Ast0.wrap (Ast0.FunctionPointer @@ -12812,14 +12812,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 12818 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 995 "parser_cocci_menhir.mly" +# 1019 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) # 12826 "parser_cocci_menhir.ml" @@ -12841,14 +12841,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 12847 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 997 "parser_cocci_menhir.mly" +# 1021 "parser_cocci_menhir.mly" ( tmeta_to_param _1 ) # 12854 "parser_cocci_menhir.ml" in @@ -12869,14 +12869,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 12875 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1878 "parser_cocci_menhir.mly" +# 1902 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 12882 "parser_cocci_menhir.ml" in @@ -12897,14 +12897,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 12903 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1880 "parser_cocci_menhir.mly" +# 1904 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 12911 "parser_cocci_menhir.ml" @@ -12929,7 +12929,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_decl_ = -# 1902 "parser_cocci_menhir.mly" +# 1926 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -12957,7 +12957,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_name_opt_decl_ = -# 1902 "parser_cocci_menhir.mly" +# 1926 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -12982,14 +12982,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 12988 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1283 "parser_cocci_menhir.mly" +# 1307 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) # 12996 "parser_cocci_menhir.ml" @@ -13014,7 +13014,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1286 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap @@ -13042,7 +13042,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1291 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( [_1] ) # 13048 "parser_cocci_menhir.ml" in @@ -13073,20 +13073,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 13079 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 13085 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1300 "parser_cocci_menhir.mly" +# 1324 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -13115,14 +13115,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 13121 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1313 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) # 13129 "parser_cocci_menhir.ml" @@ -13147,7 +13147,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1316 "parser_cocci_menhir.mly" +# 1340 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap @@ -13175,7 +13175,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1321 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( [_1] ) # 13181 "parser_cocci_menhir.ml" in @@ -13206,20 +13206,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 13212 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 13218 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1330 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -13252,7 +13252,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13258 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13260,7 +13260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1118 "parser_cocci_menhir.mly" +# 1142 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) # 13266 "parser_cocci_menhir.ml" in @@ -13281,14 +13281,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 13287 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_var = -# 1119 "parser_cocci_menhir.mly" +# 1143 "parser_cocci_menhir.mly" ( [P.meta_decl _1] ) # 13294 "parser_cocci_menhir.ml" in @@ -13319,7 +13319,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13325 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13335,7 +13335,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1121 "parser_cocci_menhir.mly" +# 1145 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) @@ -13374,7 +13374,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13380 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13392,7 +13392,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1121 "parser_cocci_menhir.mly" +# 1145 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) @@ -13419,7 +13419,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 1125 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( [f] ) # 13425 "parser_cocci_menhir.ml" in @@ -13460,13 +13460,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13466 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13472 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13482,7 +13482,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1127 "parser_cocci_menhir.mly" +# 1151 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) # 13489 "parser_cocci_menhir.ml" @@ -13529,13 +13529,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13535 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13541 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13553,7 +13553,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1127 "parser_cocci_menhir.mly" +# 1151 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) # 13560 "parser_cocci_menhir.ml" @@ -13585,7 +13585,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13591 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13608,7 +13608,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1132 "parser_cocci_menhir.mly" +# 1156 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -13649,7 +13649,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13655 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13674,7 +13674,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1132 "parser_cocci_menhir.mly" +# 1156 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -13715,7 +13715,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13721 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13740,7 +13740,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1132 "parser_cocci_menhir.mly" +# 1156 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -13786,7 +13786,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13792 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13813,7 +13813,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1132 "parser_cocci_menhir.mly" +# 1156 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -13859,13 +13859,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13865 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13871 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13888,7 +13888,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1140 "parser_cocci_menhir.mly" +# 1164 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -13938,13 +13938,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13944 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 13950 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13969,7 +13969,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1140 "parser_cocci_menhir.mly" +# 1164 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -14019,13 +14019,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14025 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14031 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -14050,7 +14050,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1140 "parser_cocci_menhir.mly" +# 1164 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -14105,13 +14105,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14111 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14117 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -14138,7 +14138,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1140 "parser_cocci_menhir.mly" +# 1164 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -14203,34 +14203,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14209 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14214 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14220 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14225 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 14231 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14236 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -14245,7 +14245,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1150 "parser_cocci_menhir.mly" +# 1174 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -14317,34 +14317,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14323 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14328 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14334 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14339 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 14345 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14350 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -14361,7 +14361,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1150 "parser_cocci_menhir.mly" +# 1174 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -14408,18 +14408,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14414 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14419 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14425 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -14427,7 +14427,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_decl_var = -# 1158 "parser_cocci_menhir.mly" +# 1182 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) # 14434 "parser_cocci_menhir.ml" @@ -14499,40 +14499,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14505 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14511 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14516 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14522 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14527 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 14533 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14538 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -14547,7 +14547,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1164 "parser_cocci_menhir.mly" +# 1188 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -14629,40 +14629,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14635 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14641 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14646 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14652 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14657 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 14663 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 14668 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -14679,7 +14679,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1164 "parser_cocci_menhir.mly" +# 1188 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -14721,21 +14721,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 14727 "parser_cocci_menhir.ml" ) = Obj.magic pv in let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in let t : 'tv_typedef_ctype = Obj.magic t in let s : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 14734 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1172 "parser_cocci_menhir.mly" +# 1196 "parser_cocci_menhir.mly" ( let s = P.clt2mcode "typedef" s in List.map (function id -> @@ -14763,7 +14763,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_option = -# 907 "parser_cocci_menhir.mly" +# 931 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -14788,14 +14788,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 125 "parser_cocci_menhir.mly" +# 149 "parser_cocci_menhir.mly" (Data.clt * token) # 14794 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 863 "parser_cocci_menhir.mly" +# 887 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in function body -> Ast0.wrap @@ -14841,20 +14841,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 14847 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( -# 126 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (Data.clt * token * int * int) # 14853 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 880 "parser_cocci_menhir.mly" +# 904 "parser_cocci_menhir.mly" ( let (clt,ident,parenoff,parencol) = _1 in (* clt is the start of the #define itself *) let (arity,line,lline,offset,col,strbef,straft,pos) = clt in @@ -14897,7 +14897,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dep = -# 271 "parser_cocci_menhir.mly" +# 295 "parser_cocci_menhir.mly" ( _1 ) # 14903 "parser_cocci_menhir.ml" in @@ -14931,7 +14931,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 272 "parser_cocci_menhir.mly" +# 296 "parser_cocci_menhir.mly" ( Ast.AndDep(_1, _3) ) # 14937 "parser_cocci_menhir.ml" in @@ -14965,7 +14965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 273 "parser_cocci_menhir.mly" +# 297 "parser_cocci_menhir.mly" ( Ast.OrDep (_1, _3) ) # 14971 "parser_cocci_menhir.ml" in @@ -14982,7 +14982,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_depends = -# 267 "parser_cocci_menhir.mly" +# 291 "parser_cocci_menhir.mly" ( Ast.NoDep ) # 14988 "parser_cocci_menhir.ml" in @@ -15014,7 +15014,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_parents_ in let _v : 'tv_depends = -# 268 "parser_cocci_menhir.mly" +# 292 "parser_cocci_menhir.mly" ( parents ) # 15020 "parser_cocci_menhir.ml" in @@ -15041,14 +15041,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_disj_ident = Obj.magic _2 in let _1 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 15047 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1269 "parser_cocci_menhir.mly" +# 1293 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) # 15054 "parser_cocci_menhir.ml" in @@ -15079,20 +15079,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 15085 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 15091 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1271 "parser_cocci_menhir.mly" +# 1295 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) # 15098 "parser_cocci_menhir.ml" in @@ -15133,26 +15133,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 15139 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15145 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 15151 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1273 "parser_cocci_menhir.mly" +# 1297 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) # 15159 "parser_cocci_menhir.ml" @@ -15177,7 +15177,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1352 "parser_cocci_menhir.mly" +# 1376 "parser_cocci_menhir.mly" ( _1 ) # 15183 "parser_cocci_menhir.ml" in @@ -15205,7 +15205,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_disable = -# 286 "parser_cocci_menhir.mly" +# 310 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) # 15211 "parser_cocci_menhir.ml" in @@ -15229,7 +15229,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_disj_ident = -# 1866 "parser_cocci_menhir.mly" +# 1890 "parser_cocci_menhir.mly" ( _1 ) # 15235 "parser_cocci_menhir.ml" in @@ -15260,20 +15260,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 15266 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 15272 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_disj_ident = -# 1868 "parser_cocci_menhir.mly" +# 1892 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) @@ -15296,14 +15296,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15302 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1361 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) # 15309 "parser_cocci_menhir.ml" in @@ -15327,7 +15327,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1362 "parser_cocci_menhir.mly" +# 1386 "parser_cocci_menhir.mly" ( _1 ) # 15333 "parser_cocci_menhir.ml" in @@ -15351,7 +15351,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dparam = -# 903 "parser_cocci_menhir.mly" +# 927 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DParam _1) ) # 15357 "parser_cocci_menhir.ml" in @@ -15372,14 +15372,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15378 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 2188 "parser_cocci_menhir.mly" +# 2212 "parser_cocci_menhir.mly" ( (d,None) ) # 15385 "parser_cocci_menhir.ml" in @@ -15418,14 +15418,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_eexpr = Obj.magic w in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15424 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 2189 "parser_cocci_menhir.mly" +# 2213 "parser_cocci_menhir.mly" ( (d,Some w) ) # 15431 "parser_cocci_menhir.ml" in @@ -15446,14 +15446,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15452 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = -# 2188 "parser_cocci_menhir.mly" +# 2212 "parser_cocci_menhir.mly" ( (d,None) ) # 15459 "parser_cocci_menhir.ml" in @@ -15492,14 +15492,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_enum_decl_one = Obj.magic w in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15498 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = -# 2189 "parser_cocci_menhir.mly" +# 2213 "parser_cocci_menhir.mly" ( (d,Some w) ) # 15505 "parser_cocci_menhir.ml" in @@ -15520,14 +15520,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15526 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 2188 "parser_cocci_menhir.mly" +# 2212 "parser_cocci_menhir.mly" ( (d,None) ) # 15533 "parser_cocci_menhir.ml" in @@ -15566,14 +15566,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_initialize = Obj.magic w in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15572 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 2189 "parser_cocci_menhir.mly" +# 2213 "parser_cocci_menhir.mly" ( (d,Some w) ) # 15579 "parser_cocci_menhir.ml" in @@ -15594,14 +15594,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15600 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = -# 2188 "parser_cocci_menhir.mly" +# 2212 "parser_cocci_menhir.mly" ( (d,None) ) # 15607 "parser_cocci_menhir.ml" in @@ -15640,14 +15640,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_struct_decl_one = Obj.magic w in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 15646 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = -# 2189 "parser_cocci_menhir.mly" +# 2213 "parser_cocci_menhir.mly" ( (d,Some w) ) # 15653 "parser_cocci_menhir.ml" in @@ -15671,7 +15671,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1350 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( _1 ) # 15677 "parser_cocci_menhir.ml" in @@ -15695,7 +15695,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_option = -# 2168 "parser_cocci_menhir.mly" +# 2192 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -15716,7 +15716,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = -# 1930 "parser_cocci_menhir.mly" +# 1954 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15722 "parser_cocci_menhir.ml" in @@ -15740,7 +15740,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = -# 1931 "parser_cocci_menhir.mly" +# 1955 "parser_cocci_menhir.mly" ( _1 ) # 15746 "parser_cocci_menhir.ml" in @@ -15757,7 +15757,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_empty_list_start_dparam_TEllipsis_ = -# 1930 "parser_cocci_menhir.mly" +# 1954 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15763 "parser_cocci_menhir.ml" in @@ -15781,7 +15781,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_dparam_TEllipsis_ = -# 1931 "parser_cocci_menhir.mly" +# 1955 "parser_cocci_menhir.mly" ( _1 ) # 15787 "parser_cocci_menhir.ml" in @@ -15798,7 +15798,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1930 "parser_cocci_menhir.mly" +# 1954 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15804 "parser_cocci_menhir.ml" in @@ -15822,7 +15822,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1931 "parser_cocci_menhir.mly" +# 1955 "parser_cocci_menhir.mly" ( _1 ) # 15828 "parser_cocci_menhir.ml" in @@ -15839,7 +15839,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = -# 1930 "parser_cocci_menhir.mly" +# 1954 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15845 "parser_cocci_menhir.ml" in @@ -15863,7 +15863,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = -# 1931 "parser_cocci_menhir.mly" +# 1955 "parser_cocci_menhir.mly" ( _1 ) # 15869 "parser_cocci_menhir.ml" in @@ -15880,7 +15880,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1930 "parser_cocci_menhir.mly" +# 1954 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15886 "parser_cocci_menhir.ml" in @@ -15904,7 +15904,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1931 "parser_cocci_menhir.mly" +# 1955 "parser_cocci_menhir.mly" ( _1 ) # 15910 "parser_cocci_menhir.ml" in @@ -15928,7 +15928,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_list = -# 767 "parser_cocci_menhir.mly" +# 791 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) ) # 15934 "parser_cocci_menhir.ml" in @@ -15952,7 +15952,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_one = -# 738 "parser_cocci_menhir.mly" +# 762 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 15958 "parser_cocci_menhir.ml" in @@ -15984,7 +15984,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_enum_val = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 15990 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -15992,7 +15992,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_enum_decl_one = -# 740 "parser_cocci_menhir.mly" +# 764 "parser_cocci_menhir.mly" ( let id = Ast0.wrap(Ast0.Ident(_1)) in Ast0.wrap (Ast0.Assignment @@ -16020,7 +16020,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 747 "parser_cocci_menhir.mly" +# 771 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 16026 "parser_cocci_menhir.ml" in @@ -16041,14 +16041,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 16047 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 749 "parser_cocci_menhir.mly" +# 773 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 16055 "parser_cocci_menhir.ml" @@ -16070,14 +16070,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 16076 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 751 "parser_cocci_menhir.mly" +# 775 "parser_cocci_menhir.mly" ( tmeta_to_exp _1 ) # 16083 "parser_cocci_menhir.ml" in @@ -16098,14 +16098,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 16104 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 753 "parser_cocci_menhir.mly" +# 777 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) @@ -16128,14 +16128,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 16134 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 757 "parser_cocci_menhir.mly" +# 781 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) @@ -16158,14 +16158,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 16164 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 761 "parser_cocci_menhir.mly" +# 785 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) @@ -16189,7 +16189,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 289 "parser_cocci_menhir.mly" +# 313 "parser_cocci_menhir.mly" ( Ast.Exists ) # 16195 "parser_cocci_menhir.ml" in @@ -16211,7 +16211,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 290 "parser_cocci_menhir.mly" +# 314 "parser_cocci_menhir.mly" ( Ast.Forall ) # 16217 "parser_cocci_menhir.ml" in @@ -16228,7 +16228,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_exists = -# 291 "parser_cocci_menhir.mly" +# 315 "parser_cocci_menhir.mly" ( Ast.Undetermined ) # 16234 "parser_cocci_menhir.ml" in @@ -16252,7 +16252,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1348 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( _1 ) # 16258 "parser_cocci_menhir.ml" in @@ -16276,7 +16276,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1585 "parser_cocci_menhir.mly" +# 1609 "parser_cocci_menhir.mly" ( r ) # 16282 "parser_cocci_menhir.ml" in @@ -16300,7 +16300,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 532 "parser_cocci_menhir.mly" +# 556 "parser_cocci_menhir.mly" ( P.ty_pointerify Type_cocci.Unknown m ) # 16306 "parser_cocci_menhir.ml" in @@ -16328,7 +16328,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 534 "parser_cocci_menhir.mly" +# 558 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m ) # 16334 "parser_cocci_menhir.ml" in @@ -16356,7 +16356,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 536 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m ) # 16363 "parser_cocci_menhir.ml" @@ -16385,7 +16385,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 539 "parser_cocci_menhir.mly" +# 563 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m ) # 16392 "parser_cocci_menhir.ml" @@ -16403,7 +16403,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_extends = -# 262 "parser_cocci_menhir.mly" +# 286 "parser_cocci_menhir.mly" ( () ) # 16409 "parser_cocci_menhir.ml" in @@ -16428,14 +16428,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let parent : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 16434 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = -# 264 "parser_cocci_menhir.mly" +# 288 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) # 16441 "parser_cocci_menhir.ml" in @@ -16461,19 +16461,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 127 "parser_cocci_menhir.mly" +# 151 "parser_cocci_menhir.mly" (string * Data.clt) # 16467 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 127 "parser_cocci_menhir.mly" +# 151 "parser_cocci_menhir.mly" (string * Data.clt) # 16472 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 804 "parser_cocci_menhir.mly" +# 828 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) @@ -16499,7 +16499,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fn_ident = -# 1843 "parser_cocci_menhir.mly" +# 1867 "parser_cocci_menhir.mly" ( _1 ) # 16505 "parser_cocci_menhir.ml" in @@ -16520,14 +16520,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 16526 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fn_ident = -# 1845 "parser_cocci_menhir.mly" +# 1869 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) # 16534 "parser_cocci_menhir.ml" @@ -16549,14 +16549,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 16555 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fn_ident = -# 1848 "parser_cocci_menhir.mly" +# 1872 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) @@ -16575,7 +16575,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo = -# 939 "parser_cocci_menhir.mly" +# 963 "parser_cocci_menhir.mly" ( [] ) # 16581 "parser_cocci_menhir.ml" in @@ -16605,7 +16605,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 941 "parser_cocci_menhir.mly" +# 965 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in @@ -16639,7 +16639,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 946 "parser_cocci_menhir.mly" +# 970 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) # 16645 "parser_cocci_menhir.ml" in @@ -16666,14 +16666,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 16672 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 948 "parser_cocci_menhir.mly" +# 972 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") @@ -16703,14 +16703,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (string * Data.clt) # 16709 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 953 "parser_cocci_menhir.mly" +# 977 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "multiple attributes") @@ -16730,7 +16730,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo_nt = -# 959 "parser_cocci_menhir.mly" +# 983 "parser_cocci_menhir.mly" ( [] ) # 16736 "parser_cocci_menhir.ml" in @@ -16760,7 +16760,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 961 "parser_cocci_menhir.mly" +# 985 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in @@ -16791,14 +16791,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 16797 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 967 "parser_cocci_menhir.mly" +# 991 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") @@ -16828,14 +16828,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (string * Data.clt) # 16834 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 972 "parser_cocci_menhir.mly" +# 996 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate init") @@ -16855,7 +16855,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots = -# 2101 "parser_cocci_menhir.mly" +# 2125 "parser_cocci_menhir.mly" ([]) # 16861 "parser_cocci_menhir.ml" in @@ -16883,7 +16883,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 2102 "parser_cocci_menhir.mly" +# 2126 "parser_cocci_menhir.mly" (_2) # 16889 "parser_cocci_menhir.ml" in @@ -16913,7 +16913,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 2103 "parser_cocci_menhir.mly" +# 2127 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) # 16919 "parser_cocci_menhir.ml" in @@ -16943,7 +16943,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 2104 "parser_cocci_menhir.mly" +# 2128 "parser_cocci_menhir.mly" (_1@_2) # 16949 "parser_cocci_menhir.ml" in @@ -16960,7 +16960,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots_or = -# 2111 "parser_cocci_menhir.mly" +# 2135 "parser_cocci_menhir.mly" ([]) # 16966 "parser_cocci_menhir.ml" in @@ -16988,7 +16988,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 2112 "parser_cocci_menhir.mly" +# 2136 "parser_cocci_menhir.mly" (_2) # 16994 "parser_cocci_menhir.ml" in @@ -17018,7 +17018,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 2113 "parser_cocci_menhir.mly" +# 2137 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) # 17024 "parser_cocci_menhir.ml" in @@ -17048,7 +17048,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 2114 "parser_cocci_menhir.mly" +# 2138 "parser_cocci_menhir.mly" (_1@_2) # 17054 "parser_cocci_menhir.ml" in @@ -17078,7 +17078,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 2107 "parser_cocci_menhir.mly" +# 2131 "parser_cocci_menhir.mly" (_1::_2) # 17084 "parser_cocci_menhir.ml" in @@ -17095,7 +17095,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_exp_or = -# 2117 "parser_cocci_menhir.mly" +# 2141 "parser_cocci_menhir.mly" ([]) # 17101 "parser_cocci_menhir.ml" in @@ -17125,7 +17125,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 2118 "parser_cocci_menhir.mly" +# 2142 "parser_cocci_menhir.mly" (_1::_2) # 17131 "parser_cocci_menhir.ml" in @@ -17142,7 +17142,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_stm = -# 2096 "parser_cocci_menhir.mly" +# 2120 "parser_cocci_menhir.mly" ([]) # 17148 "parser_cocci_menhir.ml" in @@ -17172,7 +17172,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 2097 "parser_cocci_menhir.mly" +# 2121 "parser_cocci_menhir.mly" (_1::_2) # 17178 "parser_cocci_menhir.ml" in @@ -17202,7 +17202,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 2098 "parser_cocci_menhir.mly" +# 2122 "parser_cocci_menhir.mly" (_1@_2) # 17208 "parser_cocci_menhir.ml" in @@ -17226,7 +17226,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 2093 "parser_cocci_menhir.mly" +# 2117 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) # 17232 "parser_cocci_menhir.ml" in @@ -17250,7 +17250,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1834 "parser_cocci_menhir.mly" +# 1858 "parser_cocci_menhir.mly" ( _1 ) # 17256 "parser_cocci_menhir.ml" in @@ -17271,14 +17271,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 17277 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1836 "parser_cocci_menhir.mly" +# 1860 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) # 17285 "parser_cocci_menhir.ml" @@ -17300,14 +17300,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 17306 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1839 "parser_cocci_menhir.mly" +# 1863 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) @@ -17369,24 +17369,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rb : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 17375 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 17381 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 17386 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 17392 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -17395,7 +17395,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_rb_ in let _v : 'tv_fundecl = -# 930 "parser_cocci_menhir.mly" +# 954 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -17447,18 +17447,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 17453 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 17458 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 17464 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -17474,7 +17474,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 918 "parser_cocci_menhir.mly" +# 942 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -17531,18 +17531,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 17537 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 17542 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 17548 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -17560,7 +17560,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 918 "parser_cocci_menhir.mly" +# 942 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -17590,7 +17590,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1853 "parser_cocci_menhir.mly" +# 1877 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 17596 "parser_cocci_menhir.ml" in @@ -17611,14 +17611,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 17617 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1855 "parser_cocci_menhir.mly" +# 1879 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 17625 "parser_cocci_menhir.ml" @@ -17643,7 +17643,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1808 "parser_cocci_menhir.mly" +# 1832 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) # 17649 "parser_cocci_menhir.ml" in @@ -17664,14 +17664,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 17670 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1810 "parser_cocci_menhir.mly" +# 1834 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 17678 "parser_cocci_menhir.ml" @@ -17693,14 +17693,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 124 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (string * Data.clt) # 17699 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = -# 302 "parser_cocci_menhir.mly" +# 326 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) # 17706 "parser_cocci_menhir.ml" in @@ -17725,14 +17725,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 17731 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 303 "parser_cocci_menhir.mly" +# 327 "parser_cocci_menhir.mly" ( Data.Iso(Common.Left(P.id2name _2)) ) # 17738 "parser_cocci_menhir.ml" in @@ -17757,14 +17757,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 123 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string) # 17763 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 304 "parser_cocci_menhir.mly" +# 328 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) # 17770 "parser_cocci_menhir.ml" in @@ -17792,7 +17792,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 306 "parser_cocci_menhir.mly" +# 330 "parser_cocci_menhir.mly" ( let names = List.map P.id2name _2 in Iteration.parsed_virtual_rules := Common.union_set names !Iteration.parsed_virtual_rules; @@ -17827,11 +17827,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 192 "parser_cocci_menhir.mly" +# 216 "parser_cocci_menhir.mly" (Data.incl_iso list) # 17833 "parser_cocci_menhir.ml" ) = -# 298 "parser_cocci_menhir.mly" +# 322 "parser_cocci_menhir.mly" ( _1 ) # 17837 "parser_cocci_menhir.ml" in @@ -17859,11 +17859,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 192 "parser_cocci_menhir.mly" +# 216 "parser_cocci_menhir.mly" (Data.incl_iso list) # 17865 "parser_cocci_menhir.ml" ) = -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( _1 ) # 17869 "parser_cocci_menhir.ml" in @@ -17884,14 +17884,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 124 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (string * Data.clt) # 17890 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 810 "parser_cocci_menhir.mly" +# 834 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -17921,14 +17921,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 124 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (string * Data.clt) # 17927 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 821 "parser_cocci_menhir.mly" +# 845 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -17962,14 +17962,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _1 : ( -# 125 "parser_cocci_menhir.mly" +# 149 "parser_cocci_menhir.mly" (Data.clt * token) # 17968 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 832 "parser_cocci_menhir.mly" +# 856 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in Ast0.wrap (Ast0.Undef @@ -18009,7 +18009,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 846 "parser_cocci_menhir.mly" +# 870 "parser_cocci_menhir.mly" ( d (Ast0.wrap(Ast0.DOTS([]))) ) # 18015 "parser_cocci_menhir.ml" in @@ -18043,7 +18043,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 848 "parser_cocci_menhir.mly" +# 872 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) # 18050 "parser_cocci_menhir.ml" @@ -18078,7 +18078,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 851 "parser_cocci_menhir.mly" +# 875 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -18110,7 +18110,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1238 "parser_cocci_menhir.mly" +# 1262 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) # 18116 "parser_cocci_menhir.ml" in @@ -18141,20 +18141,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 18147 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 18153 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1240 "parser_cocci_menhir.mly" +# 1264 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in @@ -18180,14 +18180,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 18186 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1247 "parser_cocci_menhir.mly" +# 1271 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) # 18194 "parser_cocci_menhir.ml" @@ -18212,7 +18212,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1253 "parser_cocci_menhir.mly" +# 1277 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) # 18218 "parser_cocci_menhir.ml" in @@ -18243,20 +18243,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 18249 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 18255 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1255 "parser_cocci_menhir.mly" +# 1279 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in @@ -18293,7 +18293,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 18299 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -18301,7 +18301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1263 "parser_cocci_menhir.mly" +# 1287 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) # 18307 "parser_cocci_menhir.ml" in @@ -18333,7 +18333,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 18339 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -18341,7 +18341,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1265 "parser_cocci_menhir.mly" +# 1289 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) # 18347 "parser_cocci_menhir.ml" in @@ -18365,7 +18365,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1278 "parser_cocci_menhir.mly" +# 1302 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) ) # 18371 "parser_cocci_menhir.ml" in @@ -18387,7 +18387,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1358 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) # 18393 "parser_cocci_menhir.ml" in @@ -18404,7 +18404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_is_expression = -# 294 "parser_cocci_menhir.mly" +# 318 "parser_cocci_menhir.mly" ( false ) # 18410 "parser_cocci_menhir.ml" in @@ -18426,7 +18426,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_is_expression = -# 295 "parser_cocci_menhir.mly" +# 319 "parser_cocci_menhir.mly" ( true ) # 18432 "parser_cocci_menhir.ml" in @@ -18454,7 +18454,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2244 "parser_cocci_menhir.mly" +# 2268 "parser_cocci_menhir.mly" ( Common.Left t ) # 18460 "parser_cocci_menhir.ml" in @@ -18482,7 +18482,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2245 "parser_cocci_menhir.mly" +# 2269 "parser_cocci_menhir.mly" ( Common.Right t ) # 18488 "parser_cocci_menhir.ml" in @@ -18510,7 +18510,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2244 "parser_cocci_menhir.mly" +# 2268 "parser_cocci_menhir.mly" ( Common.Left t ) # 18516 "parser_cocci_menhir.ml" in @@ -18538,7 +18538,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2245 "parser_cocci_menhir.mly" +# 2269 "parser_cocci_menhir.mly" ( Common.Right t ) # 18544 "parser_cocci_menhir.ml" in @@ -18566,7 +18566,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2244 "parser_cocci_menhir.mly" +# 2268 "parser_cocci_menhir.mly" ( Common.Left t ) # 18572 "parser_cocci_menhir.ml" in @@ -18594,7 +18594,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2245 "parser_cocci_menhir.mly" +# 2269 "parser_cocci_menhir.mly" ( Common.Right t ) # 18600 "parser_cocci_menhir.ml" in @@ -18622,7 +18622,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2244 "parser_cocci_menhir.mly" +# 2268 "parser_cocci_menhir.mly" ( Common.Left t ) # 18628 "parser_cocci_menhir.ml" in @@ -18650,7 +18650,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2245 "parser_cocci_menhir.mly" +# 2269 "parser_cocci_menhir.mly" ( Common.Right t ) # 18656 "parser_cocci_menhir.ml" in @@ -18678,7 +18678,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2244 "parser_cocci_menhir.mly" +# 2268 "parser_cocci_menhir.mly" ( Common.Left t ) # 18684 "parser_cocci_menhir.ml" in @@ -18706,7 +18706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2245 "parser_cocci_menhir.mly" +# 2269 "parser_cocci_menhir.mly" ( Common.Right t ) # 18712 "parser_cocci_menhir.ml" in @@ -18744,11 +18744,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18750 "parser_cocci_menhir.ml" ) = -# 2212 "parser_cocci_menhir.mly" +# 2236 "parser_cocci_menhir.mly" ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) # 18754 "parser_cocci_menhir.ml" in @@ -18786,11 +18786,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18792 "parser_cocci_menhir.ml" ) = -# 2214 "parser_cocci_menhir.mly" +# 2238 "parser_cocci_menhir.mly" ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) # 18796 "parser_cocci_menhir.ml" in @@ -18828,11 +18828,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18834 "parser_cocci_menhir.ml" ) = -# 2216 "parser_cocci_menhir.mly" +# 2240 "parser_cocci_menhir.mly" ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) # 18838 "parser_cocci_menhir.ml" in @@ -18870,11 +18870,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18876 "parser_cocci_menhir.ml" ) = -# 2218 "parser_cocci_menhir.mly" +# 2242 "parser_cocci_menhir.mly" ( let ffn x = Ast0.ExprTag x in let fn x = Ast0.TestExprTag x in P.iso_adjust ffn fn e1 el ) @@ -18914,11 +18914,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18920 "parser_cocci_menhir.ml" ) = -# 2222 "parser_cocci_menhir.mly" +# 2246 "parser_cocci_menhir.mly" ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) # 18924 "parser_cocci_menhir.ml" in @@ -18956,11 +18956,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18962 "parser_cocci_menhir.ml" ) = -# 2224 "parser_cocci_menhir.mly" +# 2248 "parser_cocci_menhir.mly" ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) # 18966 "parser_cocci_menhir.ml" in @@ -18998,11 +18998,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 19004 "parser_cocci_menhir.ml" ) = -# 2226 "parser_cocci_menhir.mly" +# 2250 "parser_cocci_menhir.mly" ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) # 19008 "parser_cocci_menhir.ml" in @@ -19040,11 +19040,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 19046 "parser_cocci_menhir.ml" ) = -# 2228 "parser_cocci_menhir.mly" +# 2252 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -19081,11 +19081,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 211 "parser_cocci_menhir.mly" +# 235 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 19087 "parser_cocci_menhir.ml" ) = -# 228 "parser_cocci_menhir.mly" +# 252 "parser_cocci_menhir.mly" ( m "" ) # 19091 "parser_cocci_menhir.ml" in @@ -19113,11 +19113,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_nm_ in let _endpos = _endpos__2_ in let _v : ( -# 195 "parser_cocci_menhir.mly" +# 219 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 19119 "parser_cocci_menhir.ml" ) = -# 243 "parser_cocci_menhir.mly" +# 267 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) # 19123 "parser_cocci_menhir.ml" in @@ -19138,14 +19138,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 19144 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1885 "parser_cocci_menhir.mly" +# 1909 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 19151 "parser_cocci_menhir.ml" in @@ -19166,14 +19166,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 19172 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1887 "parser_cocci_menhir.mly" +# 1911 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 19180 "parser_cocci_menhir.ml" @@ -19218,7 +19218,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_list_TMul_ = Obj.magic xs in let x : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 19224 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -20204,7 +20204,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 385 "parser_cocci_menhir.mly" +# 409 "parser_cocci_menhir.mly" ( Common.Left _1 ) # 20210 "parser_cocci_menhir.ml" in @@ -20225,14 +20225,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 20231 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 386 "parser_cocci_menhir.mly" +# 410 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Common.Right (int_of_string x) ) # 20238 "parser_cocci_menhir.ml" in @@ -20499,14 +20499,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 20505 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mctype = -# 675 "parser_cocci_menhir.mly" +# 699 "parser_cocci_menhir.mly" ( tmeta_to_type _1 ) # 20512 "parser_cocci_menhir.ml" in @@ -20530,7 +20530,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mctype = -# 676 "parser_cocci_menhir.mly" +# 700 "parser_cocci_menhir.mly" (_1) # 20536 "parser_cocci_menhir.ml" in @@ -20554,7 +20554,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 575 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) # 20560 "parser_cocci_menhir.ml" in @@ -20586,7 +20586,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_exp_type = -# 577 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] ) # 20592 "parser_cocci_menhir.ml" in @@ -20624,7 +20624,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 579 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) @@ -20657,14 +20657,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident = Obj.magic _3 in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 20663 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1623 "parser_cocci_menhir.mly" +# 1647 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) # 20670 "parser_cocci_menhir.ml" in @@ -20695,14 +20695,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 20701 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1624 "parser_cocci_menhir.mly" +# 1648 "parser_cocci_menhir.mly" ( (Some _1,_3) ) # 20708 "parser_cocci_menhir.ml" in @@ -20726,11 +20726,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 203 "parser_cocci_menhir.mly" +# 227 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 20732 "parser_cocci_menhir.ml" ) = -# 227 "parser_cocci_menhir.mly" +# 251 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) # 20736 "parser_cocci_menhir.ml" in @@ -20775,7 +20775,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 397 "parser_cocci_menhir.mly" +# 421 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in !Data.add_meta_meta name pure; tok) ) @@ -20783,7 +20783,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20789 "parser_cocci_menhir.ml" in @@ -20828,7 +20828,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 401 "parser_cocci_menhir.mly" +# 425 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaParamDecl(arity,name)) in !Data.add_param_meta name pure; tok) ) @@ -20836,7 +20836,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20842 "parser_cocci_menhir.ml" in @@ -20885,7 +20885,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 405 "parser_cocci_menhir.mly" +# 429 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let len = Ast.AnyLen in let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in @@ -20894,7 +20894,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20900 "parser_cocci_menhir.ml" in @@ -20943,7 +20943,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 410 "parser_cocci_menhir.mly" +# 434 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let len = Ast.AnyLen in let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in @@ -20952,7 +20952,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20958 "parser_cocci_menhir.ml" in @@ -20997,7 +20997,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 415 "parser_cocci_menhir.mly" +# 439 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in !Data.add_type_meta name pure; tok) ) @@ -21005,7 +21005,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21011 "parser_cocci_menhir.ml" in @@ -21050,7 +21050,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 419 "parser_cocci_menhir.mly" +# 443 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaInitDecl(arity,name)) in !Data.add_init_meta name pure; tok) ) @@ -21058,7 +21058,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21064 "parser_cocci_menhir.ml" in @@ -21103,7 +21103,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 423 "parser_cocci_menhir.mly" +# 447 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmDecl(arity,name)) in !Data.add_stm_meta name pure; tok) ) @@ -21111,7 +21111,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21117 "parser_cocci_menhir.ml" in @@ -21156,7 +21156,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 427 "parser_cocci_menhir.mly" +# 451 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in !Data.add_decl_meta name pure; tok) ) @@ -21164,7 +21164,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21170 "parser_cocci_menhir.ml" in @@ -21209,7 +21209,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 431 "parser_cocci_menhir.mly" +# 455 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in !Data.add_field_meta name pure; tok) ) @@ -21217,7 +21217,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21223 "parser_cocci_menhir.ml" in @@ -21266,7 +21266,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 435 "parser_cocci_menhir.mly" +# 459 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let len = Ast.AnyLen in let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in @@ -21275,7 +21275,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21281 "parser_cocci_menhir.ml" in @@ -21324,7 +21324,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 440 "parser_cocci_menhir.mly" +# 464 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in !Data.add_stmlist_meta name pure; tok) ) @@ -21332,7 +21332,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21338 "parser_cocci_menhir.ml" in @@ -21377,7 +21377,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 444 "parser_cocci_menhir.mly" +# 468 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_type_name name; []) @@ -21386,7 +21386,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21392 "parser_cocci_menhir.ml" in @@ -21435,7 +21435,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 449 "parser_cocci_menhir.mly" +# 473 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_declarer_name name; []) @@ -21444,7 +21444,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21450 "parser_cocci_menhir.ml" in @@ -21493,7 +21493,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 454 "parser_cocci_menhir.mly" +# 478 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_iterator_name name; []) @@ -21502,7 +21502,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 318 "parser_cocci_menhir.mly" +# 342 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 21508 "parser_cocci_menhir.ml" in @@ -21539,7 +21539,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__4_ in let _v : 'tv_metadec = let kindfn = -# 390 "parser_cocci_menhir.mly" +# 414 "parser_cocci_menhir.mly" ( (fun name check_meta seed -> let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in !Data.add_fresh_id_meta name; tok) ) @@ -21547,7 +21547,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 321 "parser_cocci_menhir.mly" +# 345 "parser_cocci_menhir.mly" ( P.create_fresh_metadec kindfn ids ) # 21553 "parser_cocci_menhir.ml" in @@ -21592,7 +21592,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 461 "parser_cocci_menhir.mly" +# 485 "parser_cocci_menhir.mly" ( let idfn arity name pure check_meta constraints = let tok = check_meta(Ast.MetaIdDecl(arity,name)) in @@ -21613,7 +21613,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 327 "parser_cocci_menhir.mly" +# 351 "parser_cocci_menhir.mly" ( let (normal,virt) = Common.partition_either (fun x -> x) ids in let (idfn,virtfn) = kindfn in function cr -> @@ -21662,7 +21662,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 480 "parser_cocci_menhir.mly" +# 504 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in !Data.add_func_meta name constraints pure; tok) ) @@ -21670,7 +21670,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 336 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21676 "parser_cocci_menhir.ml" in @@ -21719,7 +21719,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 484 "parser_cocci_menhir.mly" +# 508 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in !Data.add_local_func_meta name constraints pure; @@ -21728,7 +21728,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 336 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21734 "parser_cocci_menhir.ml" in @@ -21773,7 +21773,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 489 "parser_cocci_menhir.mly" +# 513 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in !Data.add_declarer_meta name constraints pure; tok) ) @@ -21781,7 +21781,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 336 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21787 "parser_cocci_menhir.ml" in @@ -21826,7 +21826,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 493 "parser_cocci_menhir.mly" +# 517 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in !Data.add_iterator_meta name constraints pure; tok) ) @@ -21834,7 +21834,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 336 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21840 "parser_cocci_menhir.ml" in @@ -21879,7 +21879,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 499 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaErrDecl(arity,name)) in !Data.add_err_meta name constraints pure; tok) ) @@ -21887,7 +21887,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 341 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21893 "parser_cocci_menhir.ml" in @@ -21946,7 +21946,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 503 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -21959,7 +21959,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 341 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21965 "parser_cocci_menhir.ml" in @@ -22026,7 +22026,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 503 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -22039,7 +22039,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 341 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 22045 "parser_cocci_menhir.ml" in @@ -22098,7 +22098,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 512 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in match l with @@ -22112,7 +22112,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 341 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 22118 "parser_cocci_menhir.ml" in @@ -22164,7 +22164,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let ty = ty0 in -# 522 "parser_cocci_menhir.mly" +# 546 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some [ty] in let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in @@ -22173,7 +22173,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 341 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 22179 "parser_cocci_menhir.ml" in @@ -22225,7 +22225,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 527 "parser_cocci_menhir.mly" +# 551 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in !Data.add_const_meta ty name constraints pure; tok) ) @@ -22233,7 +22233,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 341 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 22239 "parser_cocci_menhir.ml" in @@ -22293,7 +22293,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 527 "parser_cocci_menhir.mly" +# 551 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in !Data.add_const_meta ty name constraints pure; tok) ) @@ -22301,7 +22301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 341 "parser_cocci_menhir.mly" +# 365 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 22307 "parser_cocci_menhir.ml" in @@ -22346,7 +22346,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 544 "parser_cocci_menhir.mly" +# 568 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in !Data.add_exp_meta None name constraints pure; tok) ) @@ -22354,7 +22354,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 346 "parser_cocci_menhir.mly" +# 370 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 22360 "parser_cocci_menhir.ml" in @@ -22402,7 +22402,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 548 "parser_cocci_menhir.mly" +# 572 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some vl in (match constraints with @@ -22431,7 +22431,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 346 "parser_cocci_menhir.mly" +# 370 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 22437 "parser_cocci_menhir.ml" in @@ -22475,7 +22475,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = -# 352 "parser_cocci_menhir.mly" +# 376 "parser_cocci_menhir.mly" ( (if !Data.in_generating then failwith "position variables not allowed in a generated rule file"); let kindfn arity name pure check_meta constraints = @@ -22543,7 +22543,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 362 "parser_cocci_menhir.mly" +# 386 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in @@ -22609,7 +22609,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 370 "parser_cocci_menhir.mly" +# 394 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in @@ -22675,7 +22675,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 378 "parser_cocci_menhir.mly" +# 402 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in @@ -22703,7 +22703,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mident = -# 1859 "parser_cocci_menhir.mly" +# 1883 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 22709 "parser_cocci_menhir.ml" in @@ -22724,14 +22724,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 22730 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mident = -# 1860 "parser_cocci_menhir.mly" +# 1884 "parser_cocci_menhir.mly" ( tmeta_to_ident _1 ) # 22737 "parser_cocci_menhir.ml" in @@ -22752,14 +22752,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 22758 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_mident = -# 1862 "parser_cocci_menhir.mly" +# 1886 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 22766 "parser_cocci_menhir.ml" @@ -22790,7 +22790,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_ctype_ctype_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 22796 "parser_cocci_menhir.ml" in @@ -22820,7 +22820,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_disj_ident_disj_ident_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 22826 "parser_cocci_menhir.ml" in @@ -22850,7 +22850,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 22856 "parser_cocci_menhir.ml" in @@ -22880,7 +22880,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_expr_eexpr_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 22886 "parser_cocci_menhir.ml" in @@ -22910,7 +22910,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 22916 "parser_cocci_menhir.ml" in @@ -22940,7 +22940,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_start_fun_start_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 22946 "parser_cocci_menhir.ml" in @@ -22970,7 +22970,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_mctype_mctype_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 22976 "parser_cocci_menhir.ml" in @@ -23000,7 +23000,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 23006 "parser_cocci_menhir.ml" in @@ -23030,7 +23030,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_statement_statement_ = -# 2182 "parser_cocci_menhir.mly" +# 2206 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 23036 "parser_cocci_menhir.ml" in @@ -23060,7 +23060,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_body = -# 778 "parser_cocci_menhir.mly" +# 802 "parser_cocci_menhir.mly" ( match f@b(*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> Top_level.top_level code ) @@ -23092,7 +23092,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_exp_body = -# 792 "parser_cocci_menhir.mly" +# 816 "parser_cocci_menhir.mly" ( match f@[b](*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> Top_level.top_level code ) @@ -23122,11 +23122,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 183 "parser_cocci_menhir.mly" +# 207 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 23128 "parser_cocci_menhir.ml" ) = -# 223 "parser_cocci_menhir.mly" +# 247 "parser_cocci_menhir.mly" ( _1 ) # 23132 "parser_cocci_menhir.ml" in @@ -23154,11 +23154,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 183 "parser_cocci_menhir.mly" +# 207 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 23160 "parser_cocci_menhir.ml" ) = -# 223 "parser_cocci_menhir.mly" +# 247 "parser_cocci_menhir.mly" ( m ) # 23164 "parser_cocci_menhir.ml" in @@ -23186,11 +23186,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 183 "parser_cocci_menhir.mly" +# 207 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 23192 "parser_cocci_menhir.ml" ) = -# 224 "parser_cocci_menhir.mly" +# 248 "parser_cocci_menhir.mly" ( m ) # 23196 "parser_cocci_menhir.ml" in @@ -23218,11 +23218,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 180 "parser_cocci_menhir.mly" +# 204 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 23224 "parser_cocci_menhir.ml" ) = -# 219 "parser_cocci_menhir.mly" +# 243 "parser_cocci_menhir.mly" ( _1 ) # 23228 "parser_cocci_menhir.ml" in @@ -23250,11 +23250,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 180 "parser_cocci_menhir.mly" +# 204 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 23256 "parser_cocci_menhir.ml" ) = -# 219 "parser_cocci_menhir.mly" +# 243 "parser_cocci_menhir.mly" ( m ) # 23260 "parser_cocci_menhir.ml" in @@ -23282,11 +23282,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 180 "parser_cocci_menhir.mly" +# 204 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 23288 "parser_cocci_menhir.ml" ) = -# 220 "parser_cocci_menhir.mly" +# 244 "parser_cocci_menhir.mly" ( m ) # 23292 "parser_cocci_menhir.ml" in @@ -23310,7 +23310,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2007 "parser_cocci_menhir.mly" +# 2031 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DECL(_1))] ) # 23316 "parser_cocci_menhir.ml" in @@ -23334,7 +23334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2008 "parser_cocci_menhir.mly" +# 2032 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) # 23340 "parser_cocci_menhir.ml" in @@ -23358,7 +23358,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2009 "parser_cocci_menhir.mly" +# 2033 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) # 23364 "parser_cocci_menhir.ml" in @@ -23382,7 +23382,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 2011 "parser_cocci_menhir.mly" +# 2035 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) # 23388 "parser_cocci_menhir.ml" in @@ -23409,14 +23409,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_ctype = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23415 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_ctype_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23422 "parser_cocci_menhir.ml" in @@ -23443,14 +23443,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_disj_ident = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23449 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_disj_ident_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23456 "parser_cocci_menhir.ml" in @@ -23477,14 +23477,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_eexpr = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23483 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_eexpr_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23490 "parser_cocci_menhir.ml" in @@ -23511,14 +23511,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_after_dots_or = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23517 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_after_dots_or_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23524 "parser_cocci_menhir.ml" in @@ -23545,14 +23545,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_start = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23551 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_start_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23558 "parser_cocci_menhir.ml" in @@ -23579,14 +23579,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_mctype = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23585 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_mctype_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23592 "parser_cocci_menhir.ml" in @@ -23613,14 +23613,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_rule_elem_statement = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23619 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_rule_elem_statement_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23626 "parser_cocci_menhir.ml" in @@ -23647,14 +23647,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_statement = Obj.magic b in let a : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23653 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_statement_ = -# 2185 "parser_cocci_menhir.mly" +# 2209 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 23660 "parser_cocci_menhir.ml" in @@ -23678,7 +23678,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_name_opt_decl = -# 1000 "parser_cocci_menhir.mly" +# 1024 "parser_cocci_menhir.mly" ( _1 ) # 23684 "parser_cocci_menhir.ml" in @@ -23729,28 +23729,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23735 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 23741 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 23746 "parser_cocci_menhir.ml" ) = Obj.magic rp in let s : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 23751 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 23756 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -23758,7 +23758,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_name_opt_decl = -# 1003 "parser_cocci_menhir.mly" +# 1027 "parser_cocci_menhir.mly" ( let fnptr = Ast0.wrap (Ast0.FunctionPointer @@ -23793,7 +23793,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 2127 "parser_cocci_menhir.mly" +# 2151 "parser_cocci_menhir.mly" (_1@_2) # 23799 "parser_cocci_menhir.ml" in @@ -23821,7 +23821,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 2128 "parser_cocci_menhir.mly" +# 2152 "parser_cocci_menhir.mly" (_2) # 23827 "parser_cocci_menhir.ml" in @@ -23851,7 +23851,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 2129 "parser_cocci_menhir.mly" +# 2153 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) # 23857 "parser_cocci_menhir.ml" in @@ -23868,7 +23868,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_nest_after_exp = -# 2137 "parser_cocci_menhir.mly" +# 2161 "parser_cocci_menhir.mly" ([]) # 23874 "parser_cocci_menhir.ml" in @@ -23898,7 +23898,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_exp = -# 2138 "parser_cocci_menhir.mly" +# 2162 "parser_cocci_menhir.mly" (_1::_2) # 23904 "parser_cocci_menhir.ml" in @@ -23915,7 +23915,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_nest_after_stm = -# 2132 "parser_cocci_menhir.mly" +# 2156 "parser_cocci_menhir.mly" ([]) # 23921 "parser_cocci_menhir.ml" in @@ -23945,7 +23945,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 2133 "parser_cocci_menhir.mly" +# 2157 "parser_cocci_menhir.mly" (_1::_2) # 23951 "parser_cocci_menhir.ml" in @@ -23975,7 +23975,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 2134 "parser_cocci_menhir.mly" +# 2158 "parser_cocci_menhir.mly" (_1@_2) # 23981 "parser_cocci_menhir.ml" in @@ -24006,20 +24006,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24012 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24018 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1367 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...>" c, None, false)) ) @@ -24052,20 +24052,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24058 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24064 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1371 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...+>" c, None, true)) ) @@ -24088,14 +24088,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 24094 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_expressions = -# 1374 "parser_cocci_menhir.mly" +# 1398 "parser_cocci_menhir.mly" ( tmeta_to_exp _1 ) # 24101 "parser_cocci_menhir.ml" in @@ -24119,7 +24119,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_start = -# 2124 "parser_cocci_menhir.mly" +# 2148 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) # 24125 "parser_cocci_menhir.ml" in @@ -24141,11 +24141,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 214 "parser_cocci_menhir.mly" +# 238 "parser_cocci_menhir.mly" (unit) # 24147 "parser_cocci_menhir.ml" ) = -# 2252 "parser_cocci_menhir.mly" +# 2276 "parser_cocci_menhir.mly" ( () ) # 24151 "parser_cocci_menhir.ml" in @@ -24171,11 +24171,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 214 "parser_cocci_menhir.mly" +# 238 "parser_cocci_menhir.mly" (unit) # 24177 "parser_cocci_menhir.ml" ) = -# 2253 "parser_cocci_menhir.mly" +# 2277 "parser_cocci_menhir.mly" ( () ) # 24181 "parser_cocci_menhir.ml" in @@ -24197,11 +24197,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 214 "parser_cocci_menhir.mly" +# 238 "parser_cocci_menhir.mly" (unit) # 24203 "parser_cocci_menhir.ml" ) = -# 2254 "parser_cocci_menhir.mly" +# 2278 "parser_cocci_menhir.mly" ( () ) # 24207 "parser_cocci_menhir.ml" in @@ -24231,7 +24231,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_g_ in let _endpos = _endpos_dg_ in let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = -# 1590 "parser_cocci_menhir.mly" +# 1614 "parser_cocci_menhir.mly" ( function dot_builder -> g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) # 24238 "parser_cocci_menhir.ml" @@ -24253,7 +24253,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 24259 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -24287,7 +24287,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in let x : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 24293 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -24318,7 +24318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1934 "parser_cocci_menhir.mly" +# 1958 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 24324 "parser_cocci_menhir.ml" in @@ -24344,7 +24344,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24350 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24352,7 +24352,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1936 "parser_cocci_menhir.mly" +# 1960 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24359 "parser_cocci_menhir.ml" @@ -24385,7 +24385,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24391 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24393,7 +24393,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1939 "parser_cocci_menhir.mly" +# 1963 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -24423,7 +24423,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1942 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _2 ) # 24429 "parser_cocci_menhir.ml" in @@ -24444,14 +24444,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24450 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1943 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 24457 "parser_cocci_menhir.ml" in @@ -24477,19 +24477,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24483 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24488 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1945 "parser_cocci_menhir.mly" +# 1969 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24496 "parser_cocci_menhir.ml" @@ -24522,19 +24522,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24528 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24533 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1948 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -24561,7 +24561,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1934 "parser_cocci_menhir.mly" +# 1958 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 24567 "parser_cocci_menhir.ml" in @@ -24587,7 +24587,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24593 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24595,7 +24595,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1936 "parser_cocci_menhir.mly" +# 1960 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24602 "parser_cocci_menhir.ml" @@ -24628,7 +24628,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24634 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24636,7 +24636,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1939 "parser_cocci_menhir.mly" +# 1963 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -24666,7 +24666,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1942 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _2 ) # 24672 "parser_cocci_menhir.ml" in @@ -24687,14 +24687,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24693 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1943 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 24700 "parser_cocci_menhir.ml" in @@ -24720,19 +24720,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24726 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24731 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1945 "parser_cocci_menhir.mly" +# 1969 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24739 "parser_cocci_menhir.ml" @@ -24765,19 +24765,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24771 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 24776 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1948 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -24804,7 +24804,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1934 "parser_cocci_menhir.mly" +# 1958 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 24810 "parser_cocci_menhir.ml" in @@ -24830,7 +24830,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24836 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24838,7 +24838,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1936 "parser_cocci_menhir.mly" +# 1960 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24845 "parser_cocci_menhir.ml" @@ -24871,7 +24871,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24877 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24879,7 +24879,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1939 "parser_cocci_menhir.mly" +# 1963 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -24909,7 +24909,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1942 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _2 ) # 24915 "parser_cocci_menhir.ml" in @@ -24933,7 +24933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1943 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 24939 "parser_cocci_menhir.ml" in @@ -24959,7 +24959,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 24965 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24967,7 +24967,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1945 "parser_cocci_menhir.mly" +# 1969 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24974 "parser_cocci_menhir.ml" @@ -25000,7 +25000,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25006 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25008,7 +25008,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1948 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -25035,7 +25035,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1934 "parser_cocci_menhir.mly" +# 1958 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 25041 "parser_cocci_menhir.ml" in @@ -25061,7 +25061,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25067 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25069,7 +25069,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1936 "parser_cocci_menhir.mly" +# 1960 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 25076 "parser_cocci_menhir.ml" @@ -25102,7 +25102,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25108 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25110,7 +25110,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1939 "parser_cocci_menhir.mly" +# 1963 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -25140,7 +25140,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1942 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _2 ) # 25146 "parser_cocci_menhir.ml" in @@ -25164,7 +25164,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1943 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 25170 "parser_cocci_menhir.ml" in @@ -25190,7 +25190,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25196 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25198,7 +25198,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1945 "parser_cocci_menhir.mly" +# 1969 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 25205 "parser_cocci_menhir.ml" @@ -25231,7 +25231,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25237 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25239,7 +25239,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1948 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -25266,7 +25266,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1934 "parser_cocci_menhir.mly" +# 1958 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 25272 "parser_cocci_menhir.ml" in @@ -25292,7 +25292,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25298 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25300,7 +25300,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1936 "parser_cocci_menhir.mly" +# 1960 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 25307 "parser_cocci_menhir.ml" @@ -25333,7 +25333,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25339 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25341,7 +25341,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1939 "parser_cocci_menhir.mly" +# 1963 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -25371,7 +25371,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1942 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _2 ) # 25377 "parser_cocci_menhir.ml" in @@ -25392,14 +25392,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 25398 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1943 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 25405 "parser_cocci_menhir.ml" in @@ -25425,19 +25425,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25431 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 25436 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1945 "parser_cocci_menhir.mly" +# 1969 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 25444 "parser_cocci_menhir.ml" @@ -25470,19 +25470,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25476 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 25481 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1948 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -25509,7 +25509,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1934 "parser_cocci_menhir.mly" +# 1958 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 25515 "parser_cocci_menhir.ml" in @@ -25535,7 +25535,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25541 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25543,7 +25543,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1936 "parser_cocci_menhir.mly" +# 1960 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 25550 "parser_cocci_menhir.ml" @@ -25576,7 +25576,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25582 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25584,7 +25584,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1939 "parser_cocci_menhir.mly" +# 1963 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -25614,7 +25614,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1942 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _2 ) # 25620 "parser_cocci_menhir.ml" in @@ -25635,14 +25635,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 25641 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1943 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 25648 "parser_cocci_menhir.ml" in @@ -25668,19 +25668,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25674 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 25679 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1945 "parser_cocci_menhir.mly" +# 1969 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 25687 "parser_cocci_menhir.ml" @@ -25713,19 +25713,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 25719 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 25724 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1948 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -25756,7 +25756,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1771 "parser_cocci_menhir.mly" +# 1795 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -25796,7 +25796,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1777 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -25824,7 +25824,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ceq_ in let _endpos = _endpos_ceq_ in let _v : 'tv_not_ceq_or_sub = -# 1747 "parser_cocci_menhir.mly" +# 1771 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ceq) # 25830 "parser_cocci_menhir.ml" in @@ -25848,7 +25848,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_not_ceq_or_sub = -# 1748 "parser_cocci_menhir.mly" +# 1772 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) # 25854 "parser_cocci_menhir.ml" in @@ -25876,7 +25876,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1752 "parser_cocci_menhir.mly" +# 1776 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -25917,7 +25917,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1759 "parser_cocci_menhir.mly" +# 1783 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -25953,7 +25953,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1709 "parser_cocci_menhir.mly" +# 1733 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -26001,7 +26001,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1723 "parser_cocci_menhir.mly" +# 1747 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -26045,7 +26045,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1815 "parser_cocci_menhir.mly" +# 1839 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -26088,7 +26088,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1824 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -26120,7 +26120,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1909 "parser_cocci_menhir.mly" +# 1933 "parser_cocci_menhir.mly" ( _1 ) # 26126 "parser_cocci_menhir.ml" in @@ -26141,14 +26141,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 109 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 26147 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1911 "parser_cocci_menhir.mly" +# 1935 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -26179,7 +26179,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1909 "parser_cocci_menhir.mly" +# 1933 "parser_cocci_menhir.mly" ( _1 ) # 26185 "parser_cocci_menhir.ml" in @@ -26200,14 +26200,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 109 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 26206 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1911 "parser_cocci_menhir.mly" +# 1935 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -26240,7 +26240,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26246 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -26248,7 +26248,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_one_decl_var = -# 1180 "parser_cocci_menhir.mly" +# 1204 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) # 26254 "parser_cocci_menhir.ml" in @@ -26269,14 +26269,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 26275 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_decl_var = -# 1181 "parser_cocci_menhir.mly" +# 1205 "parser_cocci_menhir.mly" ( P.meta_decl _1 ) # 26282 "parser_cocci_menhir.ml" in @@ -26307,7 +26307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26313 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -26323,7 +26323,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1183 "parser_cocci_menhir.mly" +# 1207 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) # 26330 "parser_cocci_menhir.ml" @@ -26360,7 +26360,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26366 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -26378,7 +26378,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1183 "parser_cocci_menhir.mly" +# 1207 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) # 26385 "parser_cocci_menhir.ml" @@ -26403,7 +26403,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1185 "parser_cocci_menhir.mly" +# 1209 "parser_cocci_menhir.mly" ( f ) # 26409 "parser_cocci_menhir.ml" in @@ -26444,13 +26444,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26450 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26456 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -26466,7 +26466,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1187 "parser_cocci_menhir.mly" +# 1211 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) # 26473 "parser_cocci_menhir.ml" @@ -26513,13 +26513,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26519 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26525 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -26537,7 +26537,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1187 "parser_cocci_menhir.mly" +# 1211 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) # 26544 "parser_cocci_menhir.ml" @@ -26569,7 +26569,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26575 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -26592,7 +26592,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1192 "parser_cocci_menhir.mly" +# 1216 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) @@ -26630,7 +26630,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26636 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -26655,7 +26655,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1192 "parser_cocci_menhir.mly" +# 1216 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) @@ -26693,7 +26693,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26699 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -26718,7 +26718,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1192 "parser_cocci_menhir.mly" +# 1216 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) @@ -26761,7 +26761,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26767 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -26788,7 +26788,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1192 "parser_cocci_menhir.mly" +# 1216 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) @@ -26831,13 +26831,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26837 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26843 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -26860,7 +26860,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1197 "parser_cocci_menhir.mly" +# 1221 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -26910,13 +26910,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26916 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26922 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -26941,7 +26941,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1197 "parser_cocci_menhir.mly" +# 1221 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -26991,13 +26991,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 26997 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27003 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -27022,7 +27022,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1197 "parser_cocci_menhir.mly" +# 1221 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -27077,13 +27077,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27083 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27089 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -27110,7 +27110,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1197 "parser_cocci_menhir.mly" +# 1221 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in @@ -27175,34 +27175,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27181 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27186 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27192 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27197 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 27203 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27208 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -27217,7 +27217,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1207 "parser_cocci_menhir.mly" +# 1231 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -27289,34 +27289,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27295 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27300 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27306 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27311 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 27317 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27322 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -27333,7 +27333,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1207 "parser_cocci_menhir.mly" +# 1231 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -27380,18 +27380,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27386 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27391 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27397 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27399,7 +27399,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_one_decl_var = -# 1215 "parser_cocci_menhir.mly" +# 1239 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) # 27406 "parser_cocci_menhir.ml" @@ -27471,40 +27471,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27477 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27483 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27488 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27494 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27499 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 27505 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27510 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -27519,7 +27519,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1221 "parser_cocci_menhir.mly" +# 1245 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -27601,40 +27601,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27607 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 27613 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27618 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27624 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 27629 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 27635 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 27640 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -27651,7 +27651,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1221 "parser_cocci_menhir.mly" +# 1245 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -27920,7 +27920,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_dots = -# 2074 "parser_cocci_menhir.mly" +# 2098 "parser_cocci_menhir.mly" ([]) # 27926 "parser_cocci_menhir.ml" in @@ -27948,7 +27948,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2075 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" (_2) # 27954 "parser_cocci_menhir.ml" in @@ -27978,7 +27978,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2077 "parser_cocci_menhir.mly" +# 2101 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) # 27984 "parser_cocci_menhir.ml" in @@ -28008,7 +28008,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2078 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) # 28014 "parser_cocci_menhir.ml" in @@ -28038,7 +28038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 2080 "parser_cocci_menhir.mly" +# 2104 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) # 28044 "parser_cocci_menhir.ml" in @@ -28055,7 +28055,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_exp = -# 2070 "parser_cocci_menhir.mly" +# 2094 "parser_cocci_menhir.mly" ([]) # 28061 "parser_cocci_menhir.ml" in @@ -28085,7 +28085,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 2071 "parser_cocci_menhir.mly" +# 2095 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) # 28091 "parser_cocci_menhir.ml" in @@ -28102,7 +28102,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_stm = -# 2083 "parser_cocci_menhir.mly" +# 2107 "parser_cocci_menhir.mly" ([]) # 28108 "parser_cocci_menhir.ml" in @@ -28132,7 +28132,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 2084 "parser_cocci_menhir.mly" +# 2108 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) # 28138 "parser_cocci_menhir.ml" in @@ -28162,7 +28162,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 2085 "parser_cocci_menhir.mly" +# 2109 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) # 28168 "parser_cocci_menhir.ml" in @@ -28192,7 +28192,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 2087 "parser_cocci_menhir.mly" +# 2111 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) # 28198 "parser_cocci_menhir.ml" in @@ -28222,7 +28222,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 786 "parser_cocci_menhir.mly" +# 810 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) # 28228 "parser_cocci_menhir.ml" in @@ -28252,7 +28252,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 800 "parser_cocci_menhir.mly" +# 824 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) # 28258 "parser_cocci_menhir.ml" in @@ -28280,11 +28280,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 189 "parser_cocci_menhir.mly" +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 28286 "parser_cocci_menhir.ml" ) = -# 225 "parser_cocci_menhir.mly" +# 249 "parser_cocci_menhir.mly" ( _1 ) # 28290 "parser_cocci_menhir.ml" in @@ -28312,11 +28312,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 189 "parser_cocci_menhir.mly" +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 28318 "parser_cocci_menhir.ml" ) = -# 225 "parser_cocci_menhir.mly" +# 249 "parser_cocci_menhir.mly" ( p ) # 28322 "parser_cocci_menhir.ml" in @@ -28344,11 +28344,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 189 "parser_cocci_menhir.mly" +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 28350 "parser_cocci_menhir.ml" ) = -# 226 "parser_cocci_menhir.mly" +# 250 "parser_cocci_menhir.mly" ( p ) # 28354 "parser_cocci_menhir.ml" in @@ -28376,11 +28376,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 186 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 28382 "parser_cocci_menhir.ml" ) = -# 221 "parser_cocci_menhir.mly" +# 245 "parser_cocci_menhir.mly" ( _1 ) # 28386 "parser_cocci_menhir.ml" in @@ -28408,11 +28408,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 186 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 28414 "parser_cocci_menhir.ml" ) = -# 221 "parser_cocci_menhir.mly" +# 245 "parser_cocci_menhir.mly" ( p ) # 28418 "parser_cocci_menhir.ml" in @@ -28440,11 +28440,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 186 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 28446 "parser_cocci_menhir.ml" ) = -# 222 "parser_cocci_menhir.mly" +# 246 "parser_cocci_menhir.mly" ( p ) # 28450 "parser_cocci_menhir.ml" in @@ -28468,7 +28468,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 2059 "parser_cocci_menhir.mly" +# 2083 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) # 28474 "parser_cocci_menhir.ml" in @@ -28492,7 +28492,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 2060 "parser_cocci_menhir.mly" +# 2084 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) # 28498 "parser_cocci_menhir.ml" in @@ -28522,7 +28522,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2062 "parser_cocci_menhir.mly" +# 2086 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) # 28528 "parser_cocci_menhir.ml" in @@ -28552,7 +28552,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2064 "parser_cocci_menhir.mly" +# 2088 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) # 28558 "parser_cocci_menhir.ml" in @@ -28582,7 +28582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2065 "parser_cocci_menhir.mly" +# 2089 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) # 28588 "parser_cocci_menhir.ml" in @@ -28612,7 +28612,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 2067 "parser_cocci_menhir.mly" +# 2091 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) # 28618 "parser_cocci_menhir.ml" in @@ -28633,14 +28633,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 28639 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) # 28646 "parser_cocci_menhir.ml" in @@ -28665,14 +28665,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 28671 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 277 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( Ast.AntiDep _2 ) # 28678 "parser_cocci_menhir.ml" in @@ -28697,14 +28697,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 28703 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 278 "parser_cocci_menhir.mly" +# 302 "parser_cocci_menhir.mly" ( Ast.EverDep _2 ) # 28710 "parser_cocci_menhir.ml" in @@ -28729,14 +28729,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 28735 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 279 "parser_cocci_menhir.mly" +# 303 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) # 28742 "parser_cocci_menhir.ml" in @@ -28768,7 +28768,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pnrule = -# 280 "parser_cocci_menhir.mly" +# 304 "parser_cocci_menhir.mly" ( _2 ) # 28774 "parser_cocci_menhir.ml" in @@ -28792,7 +28792,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1523 "parser_cocci_menhir.mly" +# 1547 "parser_cocci_menhir.mly" ( _1 ) # 28798 "parser_cocci_menhir.ml" in @@ -28828,13 +28828,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 28834 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 28840 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28842,7 +28842,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1525 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 28849 "parser_cocci_menhir.ml" @@ -28875,7 +28875,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 28881 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28883,7 +28883,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1528 "parser_cocci_menhir.mly" +# 1552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 28889 "parser_cocci_menhir.ml" in @@ -28915,7 +28915,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 148 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) # 28921 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28923,7 +28923,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1530 "parser_cocci_menhir.mly" +# 1554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 28930 "parser_cocci_menhir.ml" @@ -28950,7 +28950,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 28956 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28958,7 +28958,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1533 "parser_cocci_menhir.mly" +# 1557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 28964 "parser_cocci_menhir.ml" in @@ -28984,7 +28984,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 28990 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28992,7 +28992,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1535 "parser_cocci_menhir.mly" +# 1559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 28998 "parser_cocci_menhir.ml" in @@ -29028,13 +29028,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 29034 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 29040 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29042,7 +29042,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1537 "parser_cocci_menhir.mly" +# 1561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -29068,7 +29068,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1523 "parser_cocci_menhir.mly" +# 1547 "parser_cocci_menhir.mly" ( _1 ) # 29074 "parser_cocci_menhir.ml" in @@ -29104,13 +29104,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 29110 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 29116 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29118,7 +29118,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1525 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 29125 "parser_cocci_menhir.ml" @@ -29151,7 +29151,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 29157 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29159,7 +29159,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1528 "parser_cocci_menhir.mly" +# 1552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 29165 "parser_cocci_menhir.ml" in @@ -29191,7 +29191,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 148 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) # 29197 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29199,7 +29199,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1530 "parser_cocci_menhir.mly" +# 1554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 29206 "parser_cocci_menhir.ml" @@ -29226,7 +29226,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 29232 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29234,7 +29234,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1533 "parser_cocci_menhir.mly" +# 1557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 29240 "parser_cocci_menhir.ml" in @@ -29260,7 +29260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 29266 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29268,7 +29268,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1535 "parser_cocci_menhir.mly" +# 1559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 29274 "parser_cocci_menhir.ml" in @@ -29304,13 +29304,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 29310 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 29316 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29318,7 +29318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1537 "parser_cocci_menhir.mly" +# 1561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -29344,7 +29344,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1523 "parser_cocci_menhir.mly" +# 1547 "parser_cocci_menhir.mly" ( _1 ) # 29350 "parser_cocci_menhir.ml" in @@ -29380,13 +29380,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 29386 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 29392 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29394,7 +29394,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1525 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 29401 "parser_cocci_menhir.ml" @@ -29427,7 +29427,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 29433 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29435,7 +29435,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1528 "parser_cocci_menhir.mly" +# 1552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 29441 "parser_cocci_menhir.ml" in @@ -29467,7 +29467,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 148 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) # 29473 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29475,7 +29475,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1530 "parser_cocci_menhir.mly" +# 1554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 29482 "parser_cocci_menhir.ml" @@ -29502,7 +29502,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 29508 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29510,7 +29510,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1533 "parser_cocci_menhir.mly" +# 1557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 29516 "parser_cocci_menhir.ml" in @@ -29536,7 +29536,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 29542 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29544,7 +29544,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1535 "parser_cocci_menhir.mly" +# 1559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 29550 "parser_cocci_menhir.ml" in @@ -29580,13 +29580,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 29586 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 29592 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29594,7 +29594,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1537 "parser_cocci_menhir.mly" +# 1561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -29620,7 +29620,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1523 "parser_cocci_menhir.mly" +# 1547 "parser_cocci_menhir.mly" ( _1 ) # 29626 "parser_cocci_menhir.ml" in @@ -29656,13 +29656,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 29662 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) # 29668 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29670,7 +29670,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1525 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 29677 "parser_cocci_menhir.ml" @@ -29703,7 +29703,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 29709 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29711,7 +29711,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1528 "parser_cocci_menhir.mly" +# 1552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 29717 "parser_cocci_menhir.ml" in @@ -29743,7 +29743,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 148 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) # 29749 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29751,7 +29751,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1530 "parser_cocci_menhir.mly" +# 1554 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 29758 "parser_cocci_menhir.ml" @@ -29778,7 +29778,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 29784 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29786,7 +29786,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1533 "parser_cocci_menhir.mly" +# 1557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 29792 "parser_cocci_menhir.ml" in @@ -29812,7 +29812,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 29818 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29820,7 +29820,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1535 "parser_cocci_menhir.mly" +# 1559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 29826 "parser_cocci_menhir.ml" in @@ -29856,13 +29856,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 29862 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 29868 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -29870,7 +29870,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1537 "parser_cocci_menhir.mly" +# 1561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -29896,7 +29896,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1542 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 29902 "parser_cocci_menhir.ml" in @@ -29917,14 +29917,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 29923 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1544 "parser_cocci_menhir.mly" +# 1568 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 29931 "parser_cocci_menhir.ml" @@ -29946,14 +29946,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 29952 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1547 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 29960 "parser_cocci_menhir.ml" @@ -29975,14 +29975,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 29981 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1550 "parser_cocci_menhir.mly" +# 1574 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 29989 "parser_cocci_menhir.ml" @@ -30004,14 +30004,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30010 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1553 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 30018 "parser_cocci_menhir.ml" @@ -30033,14 +30033,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30039 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1556 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) @@ -30063,14 +30063,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 30069 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1560 "parser_cocci_menhir.mly" +# 1584 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 30077 "parser_cocci_menhir.ml" @@ -30092,14 +30092,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30098 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1563 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) @@ -30122,14 +30122,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30128 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1567 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) @@ -30152,14 +30152,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30158 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1571 "parser_cocci_menhir.mly" +# 1595 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) @@ -30192,20 +30192,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 30198 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 30204 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1575 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 30212 "parser_cocci_menhir.ml" @@ -30237,20 +30237,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 30243 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 30249 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1578 "parser_cocci_menhir.mly" +# 1602 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -30277,7 +30277,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1582 "parser_cocci_menhir.mly" +# 1606 "parser_cocci_menhir.mly" ( _1 ) # 30283 "parser_cocci_menhir.ml" in @@ -30301,7 +30301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1542 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 30307 "parser_cocci_menhir.ml" in @@ -30322,14 +30322,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30328 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1544 "parser_cocci_menhir.mly" +# 1568 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 30336 "parser_cocci_menhir.ml" @@ -30351,14 +30351,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30357 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1547 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 30365 "parser_cocci_menhir.ml" @@ -30380,14 +30380,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30386 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1550 "parser_cocci_menhir.mly" +# 1574 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 30394 "parser_cocci_menhir.ml" @@ -30409,14 +30409,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30415 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1553 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 30423 "parser_cocci_menhir.ml" @@ -30438,14 +30438,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30444 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1556 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) @@ -30468,14 +30468,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 30474 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1560 "parser_cocci_menhir.mly" +# 1584 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 30482 "parser_cocci_menhir.ml" @@ -30497,14 +30497,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30503 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1563 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) @@ -30527,14 +30527,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30533 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1567 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) @@ -30557,14 +30557,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30563 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1571 "parser_cocci_menhir.mly" +# 1595 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) @@ -30597,20 +30597,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 30603 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 30609 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1575 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 30617 "parser_cocci_menhir.ml" @@ -30642,20 +30642,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 30648 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 30654 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1578 "parser_cocci_menhir.mly" +# 1602 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -30682,7 +30682,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1582 "parser_cocci_menhir.mly" +# 1606 "parser_cocci_menhir.mly" ( _1 ) # 30688 "parser_cocci_menhir.ml" in @@ -30706,7 +30706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1542 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 30712 "parser_cocci_menhir.ml" in @@ -30727,14 +30727,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30733 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1544 "parser_cocci_menhir.mly" +# 1568 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 30741 "parser_cocci_menhir.ml" @@ -30756,14 +30756,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30762 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1547 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 30770 "parser_cocci_menhir.ml" @@ -30785,14 +30785,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30791 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1550 "parser_cocci_menhir.mly" +# 1574 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 30799 "parser_cocci_menhir.ml" @@ -30814,14 +30814,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 30820 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1553 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 30828 "parser_cocci_menhir.ml" @@ -30843,14 +30843,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30849 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1556 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) @@ -30873,14 +30873,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 30879 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1560 "parser_cocci_menhir.mly" +# 1584 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 30887 "parser_cocci_menhir.ml" @@ -30902,14 +30902,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30908 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1563 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) @@ -30932,14 +30932,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30938 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1567 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) @@ -30962,14 +30962,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 30968 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1571 "parser_cocci_menhir.mly" +# 1595 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) @@ -31002,20 +31002,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 31008 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 31014 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1575 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 31022 "parser_cocci_menhir.ml" @@ -31047,20 +31047,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 31053 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 31059 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1578 "parser_cocci_menhir.mly" +# 1602 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -31087,7 +31087,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1582 "parser_cocci_menhir.mly" +# 1606 "parser_cocci_menhir.mly" ( _1 ) # 31093 "parser_cocci_menhir.ml" in @@ -31111,7 +31111,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1542 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 31117 "parser_cocci_menhir.ml" in @@ -31132,14 +31132,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 31138 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1544 "parser_cocci_menhir.mly" +# 1568 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 31146 "parser_cocci_menhir.ml" @@ -31161,14 +31161,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 31167 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1547 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 31175 "parser_cocci_menhir.ml" @@ -31190,14 +31190,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 31196 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1550 "parser_cocci_menhir.mly" +# 1574 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 31204 "parser_cocci_menhir.ml" @@ -31219,14 +31219,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 31225 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1553 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 31233 "parser_cocci_menhir.ml" @@ -31248,14 +31248,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 31254 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1556 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) @@ -31278,14 +31278,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 31284 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1560 "parser_cocci_menhir.mly" +# 1584 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 31292 "parser_cocci_menhir.ml" @@ -31307,14 +31307,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 31313 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1563 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) @@ -31337,14 +31337,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 31343 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1567 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) @@ -31367,14 +31367,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 31373 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1571 "parser_cocci_menhir.mly" +# 1595 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) @@ -31407,20 +31407,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 31413 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 31419 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1575 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 31427 "parser_cocci_menhir.ml" @@ -31452,20 +31452,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 31458 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 31464 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1578 "parser_cocci_menhir.mly" +# 1602 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -31492,7 +31492,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1582 "parser_cocci_menhir.mly" +# 1606 "parser_cocci_menhir.mly" ( _1 ) # 31498 "parser_cocci_menhir.ml" in @@ -31514,7 +31514,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 236 "parser_cocci_menhir.mly" +# 260 "parser_cocci_menhir.mly" ( Ast0.Pure ) # 31520 "parser_cocci_menhir.ml" in @@ -31536,7 +31536,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 237 "parser_cocci_menhir.mly" +# 261 "parser_cocci_menhir.mly" ( Ast0.Context ) # 31542 "parser_cocci_menhir.ml" in @@ -31562,7 +31562,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 238 "parser_cocci_menhir.mly" +# 262 "parser_cocci_menhir.mly" ( Ast0.PureContext ) # 31568 "parser_cocci_menhir.ml" in @@ -31588,7 +31588,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 239 "parser_cocci_menhir.mly" +# 263 "parser_cocci_menhir.mly" ( Ast0.PureContext ) # 31594 "parser_cocci_menhir.ml" in @@ -31605,7 +31605,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_pure = -# 240 "parser_cocci_menhir.mly" +# 264 "parser_cocci_menhir.mly" ( Ast0.Impure ) # 31611 "parser_cocci_menhir.ml" in @@ -31626,14 +31626,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 31632 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1596 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( _1 ) # 31639 "parser_cocci_menhir.ml" in @@ -31655,7 +31655,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1599 "parser_cocci_menhir.mly" +# 1623 "parser_cocci_menhir.mly" ( "identifier" ) # 31661 "parser_cocci_menhir.ml" in @@ -31677,7 +31677,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1600 "parser_cocci_menhir.mly" +# 1624 "parser_cocci_menhir.mly" ( "expression" ) # 31683 "parser_cocci_menhir.ml" in @@ -31699,7 +31699,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1601 "parser_cocci_menhir.mly" +# 1625 "parser_cocci_menhir.mly" ( "statement" ) # 31705 "parser_cocci_menhir.ml" in @@ -31721,7 +31721,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1602 "parser_cocci_menhir.mly" +# 1626 "parser_cocci_menhir.mly" ( "function" ) # 31727 "parser_cocci_menhir.ml" in @@ -31743,7 +31743,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1603 "parser_cocci_menhir.mly" +# 1627 "parser_cocci_menhir.mly" ( "local" ) # 31749 "parser_cocci_menhir.ml" in @@ -31765,7 +31765,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1604 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( "type" ) # 31771 "parser_cocci_menhir.ml" in @@ -31787,7 +31787,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1605 "parser_cocci_menhir.mly" +# 1629 "parser_cocci_menhir.mly" ( "parameter" ) # 31793 "parser_cocci_menhir.ml" in @@ -31809,7 +31809,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1606 "parser_cocci_menhir.mly" +# 1630 "parser_cocci_menhir.mly" ( "idexpression" ) # 31815 "parser_cocci_menhir.ml" in @@ -31831,7 +31831,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1607 "parser_cocci_menhir.mly" +# 1631 "parser_cocci_menhir.mly" ( "initialiser" ) # 31837 "parser_cocci_menhir.ml" in @@ -31853,7 +31853,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1608 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( "list" ) # 31859 "parser_cocci_menhir.ml" in @@ -31875,7 +31875,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1609 "parser_cocci_menhir.mly" +# 1633 "parser_cocci_menhir.mly" ( "fresh" ) # 31881 "parser_cocci_menhir.ml" in @@ -31897,7 +31897,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1610 "parser_cocci_menhir.mly" +# 1634 "parser_cocci_menhir.mly" ( "constant" ) # 31903 "parser_cocci_menhir.ml" in @@ -31919,7 +31919,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1611 "parser_cocci_menhir.mly" +# 1635 "parser_cocci_menhir.mly" ( "error" ) # 31925 "parser_cocci_menhir.ml" in @@ -31941,7 +31941,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1612 "parser_cocci_menhir.mly" +# 1636 "parser_cocci_menhir.mly" ( "words" ) # 31947 "parser_cocci_menhir.ml" in @@ -31963,7 +31963,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1613 "parser_cocci_menhir.mly" +# 1637 "parser_cocci_menhir.mly" ( "pure" ) # 31969 "parser_cocci_menhir.ml" in @@ -31985,7 +31985,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1614 "parser_cocci_menhir.mly" +# 1638 "parser_cocci_menhir.mly" ( "context" ) # 31991 "parser_cocci_menhir.ml" in @@ -32007,7 +32007,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1615 "parser_cocci_menhir.mly" +# 1639 "parser_cocci_menhir.mly" ( "generated" ) # 32013 "parser_cocci_menhir.ml" in @@ -32029,7 +32029,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1616 "parser_cocci_menhir.mly" +# 1640 "parser_cocci_menhir.mly" ( "typedef" ) # 32035 "parser_cocci_menhir.ml" in @@ -32051,7 +32051,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1617 "parser_cocci_menhir.mly" +# 1641 "parser_cocci_menhir.mly" ( "declarer" ) # 32057 "parser_cocci_menhir.ml" in @@ -32073,7 +32073,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1618 "parser_cocci_menhir.mly" +# 1642 "parser_cocci_menhir.mly" ( "iterator" ) # 32079 "parser_cocci_menhir.ml" in @@ -32095,7 +32095,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1619 "parser_cocci_menhir.mly" +# 1643 "parser_cocci_menhir.mly" ( "name" ) # 32101 "parser_cocci_menhir.ml" in @@ -32117,7 +32117,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1620 "parser_cocci_menhir.mly" +# 1644 "parser_cocci_menhir.mly" ( "position" ) # 32123 "parser_cocci_menhir.ml" in @@ -32141,7 +32141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1627 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) # 32147 "parser_cocci_menhir.ml" in @@ -32165,7 +32165,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1628 "parser_cocci_menhir.mly" +# 1652 "parser_cocci_menhir.mly" ( (None,_1) ) # 32171 "parser_cocci_menhir.ml" in @@ -32189,7 +32189,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1629 "parser_cocci_menhir.mly" +# 1653 "parser_cocci_menhir.mly" ( _1 ) # 32195 "parser_cocci_menhir.ml" in @@ -32219,7 +32219,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = -# 1656 "parser_cocci_menhir.mly" +# 1680 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) @@ -32253,7 +32253,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = -# 1656 "parser_cocci_menhir.mly" +# 1680 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) @@ -32287,7 +32287,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = -# 1681 "parser_cocci_menhir.mly" +# 1705 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) @@ -32321,7 +32321,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1664 "parser_cocci_menhir.mly" +# 1688 "parser_cocci_menhir.mly" ( Common.Left (match c with @@ -32358,7 +32358,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1671 "parser_cocci_menhir.mly" +# 1695 "parser_cocci_menhir.mly" ( let nm = P.id2name _3 in Iteration.parsed_virtual_identifiers := @@ -32388,7 +32388,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1632 "parser_cocci_menhir.mly" +# 1656 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) # 32394 "parser_cocci_menhir.ml" in @@ -32422,7 +32422,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1635 "parser_cocci_menhir.mly" +# 1659 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) @@ -32454,7 +32454,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_l_ in let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = -# 1650 "parser_cocci_menhir.mly" +# 1674 "parser_cocci_menhir.mly" ( (i, l) ) @@ -32480,7 +32480,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1742 "parser_cocci_menhir.mly" +# 1766 "parser_cocci_menhir.mly" (Ast0.NotIdCstrt re) # 32486 "parser_cocci_menhir.ml" in @@ -32504,7 +32504,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1743 "parser_cocci_menhir.mly" +# 1767 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ne) # 32510 "parser_cocci_menhir.ml" in @@ -32528,7 +32528,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1744 "parser_cocci_menhir.mly" +# 1768 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) # 32534 "parser_cocci_menhir.ml" in @@ -32552,7 +32552,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1688 "parser_cocci_menhir.mly" +# 1712 "parser_cocci_menhir.mly" (Ast.IdRegExpConstraint re) # 32558 "parser_cocci_menhir.ml" in @@ -32576,7 +32576,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1689 "parser_cocci_menhir.mly" +# 1713 "parser_cocci_menhir.mly" (ne) # 32582 "parser_cocci_menhir.ml" in @@ -32601,14 +32601,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 32607 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1693 "parser_cocci_menhir.mly" +# 1717 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -32638,14 +32638,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 32644 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1700 "parser_cocci_menhir.mly" +# 1724 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -32667,11 +32667,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : ( -# 177 "parser_cocci_menhir.mly" +# 201 "parser_cocci_menhir.mly" (unit) # 32673 "parser_cocci_menhir.ml" ) = -# 218 "parser_cocci_menhir.mly" +# 242 "parser_cocci_menhir.mly" ( ) # 32677 "parser_cocci_menhir.ml" in @@ -32695,7 +32695,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 1076 "parser_cocci_menhir.mly" +# 1100 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) # 32701 "parser_cocci_menhir.ml" in @@ -32721,7 +32721,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 32727 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -32729,7 +32729,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1077 "parser_cocci_menhir.mly" +# 1101 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) # 32735 "parser_cocci_menhir.ml" in @@ -32760,20 +32760,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 32766 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 32772 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 1078 "parser_cocci_menhir.mly" +# 1102 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) # 32779 "parser_cocci_menhir.ml" in @@ -32799,19 +32799,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 32805 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 32810 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1079 "parser_cocci_menhir.mly" +# 1103 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) # 32817 "parser_cocci_menhir.ml" in @@ -32837,19 +32837,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 32843 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 32848 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1080 "parser_cocci_menhir.mly" +# 1104 "parser_cocci_menhir.mly" ( P.break _1 _2 ) # 32855 "parser_cocci_menhir.ml" in @@ -32875,19 +32875,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 32881 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 32886 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 1081 "parser_cocci_menhir.mly" +# 1105 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) # 32893 "parser_cocci_menhir.ml" in @@ -32918,20 +32918,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 32924 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 32930 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 1083 "parser_cocci_menhir.mly" +# 1107 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, @@ -32991,7 +32991,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 32997 "parser_cocci_menhir.ml" ) = let nm = @@ -33002,7 +33002,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 248 "parser_cocci_menhir.mly" +# 272 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) # 33008 "parser_cocci_menhir.ml" in @@ -33064,7 +33064,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_x0_ in let _endpos = _endpos__8_ in let _v : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 33070 "parser_cocci_menhir.ml" ) = let nm = @@ -33076,7 +33076,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 248 "parser_cocci_menhir.mly" +# 272 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) # 33082 "parser_cocci_menhir.ml" in @@ -33136,11 +33136,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 33142 "parser_cocci_menhir.ml" ) = -# 253 "parser_cocci_menhir.mly" +# 277 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) # 33146 "parser_cocci_menhir.ml" in @@ -33182,7 +33182,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 33188 "parser_cocci_menhir.ml" ) = let nm = @@ -33193,7 +33193,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 255 "parser_cocci_menhir.mly" +# 279 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) # 33199 "parser_cocci_menhir.ml" in @@ -33241,7 +33241,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__6_ in let _v : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 33247 "parser_cocci_menhir.ml" ) = let nm = @@ -33253,7 +33253,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 255 "parser_cocci_menhir.mly" +# 279 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) # 33259 "parser_cocci_menhir.ml" in @@ -33295,11 +33295,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 33301 "parser_cocci_menhir.ml" ) = -# 257 "parser_cocci_menhir.mly" +# 281 "parser_cocci_menhir.mly" ( P.make_initial_script_rule_name_result lang d ) # 33305 "parser_cocci_menhir.ml" in @@ -33341,11 +33341,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 33347 "parser_cocci_menhir.ml" ) = -# 259 "parser_cocci_menhir.mly" +# 283 "parser_cocci_menhir.mly" ( P.make_final_script_rule_name_result lang d ) # 33351 "parser_cocci_menhir.ml" in @@ -33373,11 +33373,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_py_ in let _endpos = _endpos__2_ in let _v : ( -# 205 "parser_cocci_menhir.mly" +# 229 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 33379 "parser_cocci_menhir.ml" ) = -# 2258 "parser_cocci_menhir.mly" +# 2282 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), None) ) # 33383 "parser_cocci_menhir.ml" in @@ -33411,11 +33411,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_py_ in let _endpos = _endpos__3_ in let _v : ( -# 205 "parser_cocci_menhir.mly" +# 229 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 33417 "parser_cocci_menhir.ml" ) = -# 2260 "parser_cocci_menhir.mly" +# 2284 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), Some _2) ) # 33421 "parser_cocci_menhir.ml" in @@ -33465,11 +33465,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 205 "parser_cocci_menhir.mly" +# 229 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 33471 "parser_cocci_menhir.ml" ) = -# 2262 "parser_cocci_menhir.mly" +# 2286 "parser_cocci_menhir.mly" ( ((None, Some (P.id2name ast)), Some _6) ) # 33475 "parser_cocci_menhir.ml" in @@ -33519,11 +33519,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 205 "parser_cocci_menhir.mly" +# 229 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 33525 "parser_cocci_menhir.ml" ) = -# 2264 "parser_cocci_menhir.mly" +# 2288 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), None), Some _6) ) # 33529 "parser_cocci_menhir.ml" in @@ -33575,11 +33575,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 205 "parser_cocci_menhir.mly" +# 229 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 33581 "parser_cocci_menhir.ml" ) = -# 2266 "parser_cocci_menhir.mly" +# 2290 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) ) # 33585 "parser_cocci_menhir.ml" in @@ -33614,14 +33614,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let cocci : 'tv_pure_ident = Obj.magic cocci in let _2 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 33620 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2270 "parser_cocci_menhir.mly" +# 2294 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in let mv = Parse_aux.lookup _2 nm in ((_2, nm), mv) ) @@ -33659,7 +33659,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2274 "parser_cocci_menhir.mly" +# 2298 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in Iteration.parsed_virtual_identifiers := Common.union_set [nm] @@ -33686,14 +33686,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 33692 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1640 "parser_cocci_menhir.mly" +# 1664 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) # 33699 "parser_cocci_menhir.ml" in @@ -33714,14 +33714,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 104 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 33720 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1641 "parser_cocci_menhir.mly" +# 1665 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) # 33727 "parser_cocci_menhir.ml" in @@ -33743,7 +33743,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1642 "parser_cocci_menhir.mly" +# 1666 "parser_cocci_menhir.mly" (failwith "tmeta") # 33749 "parser_cocci_menhir.ml" in @@ -33774,14 +33774,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident = Obj.magic _3 in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 33780 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1644 "parser_cocci_menhir.mly" +# 1668 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) @@ -33804,7 +33804,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 33810 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -33842,7 +33842,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in let x : ( -# 131 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) # 33848 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -34743,7 +34743,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 1091 "parser_cocci_menhir.mly" +# 1115 "parser_cocci_menhir.mly" ( _1 ) # 34749 "parser_cocci_menhir.ml" in @@ -34774,20 +34774,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 34780 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 34786 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 1095 "parser_cocci_menhir.mly" +# 1119 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, @@ -34815,7 +34815,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 1017 "parser_cocci_menhir.mly" +# 1041 "parser_cocci_menhir.mly" ( _1 ) # 34821 "parser_cocci_menhir.ml" in @@ -34836,14 +34836,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 34842 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 1018 "parser_cocci_menhir.mly" +# 1042 "parser_cocci_menhir.mly" ( tmeta_to_statement _1) # 34849 "parser_cocci_menhir.ml" in @@ -34864,14 +34864,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 34870 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 1020 "parser_cocci_menhir.mly" +# 1044 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) # 34877 "parser_cocci_menhir.ml" in @@ -34897,7 +34897,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 34903 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -34905,7 +34905,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1022 "parser_cocci_menhir.mly" +# 1046 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) # 34911 "parser_cocci_menhir.ml" in @@ -34947,25 +34947,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 34953 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 34959 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 34964 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 1024 "parser_cocci_menhir.mly" +# 1048 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) # 34971 "parser_cocci_menhir.ml" in @@ -35017,31 +35017,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _7 : 'tv_single_statement = Obj.magic _7 in let _6 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35023 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 35029 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 35035 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35040 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 1026 "parser_cocci_menhir.mly" +# 1050 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) # 35047 "parser_cocci_menhir.ml" in @@ -35103,37 +35103,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _9 : 'tv_single_statement = Obj.magic _9 in let _8 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 35109 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35115 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35121 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 35127 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35132 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 1029 "parser_cocci_menhir.mly" +# 1053 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) # 35139 "parser_cocci_menhir.ml" in @@ -35175,25 +35175,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 35181 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 35187 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35192 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 1031 "parser_cocci_menhir.mly" +# 1055 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) # 35199 "parser_cocci_menhir.ml" in @@ -35244,36 +35244,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _7 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35250 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 35255 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 35261 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35266 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35272 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 1033 "parser_cocci_menhir.mly" +# 1057 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) # 35279 "parser_cocci_menhir.ml" in @@ -35315,13 +35315,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 35321 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 35327 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -35329,7 +35329,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 1035 "parser_cocci_menhir.mly" +# 1059 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) # 35335 "parser_cocci_menhir.ml" in @@ -35385,37 +35385,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _8 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 35391 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_list_case_line_ = Obj.magic _7 in let _6 : 'tv_list_decl_var_ = Obj.magic _6 in let _5 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 35398 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 35403 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 35409 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35414 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 1037 "parser_cocci_menhir.mly" +# 1061 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) # 35421 "parser_cocci_menhir.ml" in @@ -35446,20 +35446,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35452 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35458 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 1038 "parser_cocci_menhir.mly" +# 1062 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) # 35465 "parser_cocci_menhir.ml" in @@ -35485,19 +35485,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35491 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) # 35496 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1039 "parser_cocci_menhir.mly" +# 1063 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) # 35503 "parser_cocci_menhir.ml" in @@ -35523,19 +35523,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35529 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 35534 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1040 "parser_cocci_menhir.mly" +# 1064 "parser_cocci_menhir.mly" ( P.break _1 _2 ) # 35541 "parser_cocci_menhir.ml" in @@ -35561,19 +35561,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35567 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 35572 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1041 "parser_cocci_menhir.mly" +# 1065 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) # 35579 "parser_cocci_menhir.ml" in @@ -35599,7 +35599,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 35605 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -35607,7 +35607,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 1042 "parser_cocci_menhir.mly" +# 1066 "parser_cocci_menhir.mly" ( P.label _1 _2 ) # 35613 "parser_cocci_menhir.ml" in @@ -35638,20 +35638,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 35644 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_disj_ident = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 35650 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 1043 "parser_cocci_menhir.mly" +# 1067 "parser_cocci_menhir.mly" ( P.goto _1 _2 _3 ) # 35657 "parser_cocci_menhir.ml" in @@ -35682,20 +35682,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 35688 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 35694 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 1045 "parser_cocci_menhir.mly" +# 1069 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) # 35701 "parser_cocci_menhir.ml" in @@ -35722,14 +35722,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 35728 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 1049 "parser_cocci_menhir.mly" +# 1073 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) # 35735 "parser_cocci_menhir.ml" in @@ -35765,21 +35765,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 35771 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 35778 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 1051 "parser_cocci_menhir.mly" +# 1075 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) # 35786 "parser_cocci_menhir.ml" @@ -35816,21 +35816,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 35822 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 35829 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 1054 "parser_cocci_menhir.mly" +# 1078 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) # 35837 "parser_cocci_menhir.ml" @@ -35852,14 +35852,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 35858 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 978 "parser_cocci_menhir.mly" +# 1002 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) # 35865 "parser_cocci_menhir.ml" in @@ -35880,14 +35880,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 35886 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 979 "parser_cocci_menhir.mly" +# 1003 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) # 35893 "parser_cocci_menhir.ml" in @@ -35908,14 +35908,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 35914 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 980 "parser_cocci_menhir.mly" +# 1004 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) # 35921 "parser_cocci_menhir.ml" in @@ -35936,14 +35936,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 35942 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 981 "parser_cocci_menhir.mly" +# 1005 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) # 35949 "parser_cocci_menhir.ml" in @@ -35965,7 +35965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 695 "parser_cocci_menhir.mly" +# 719 "parser_cocci_menhir.mly" ( [] ) # 35971 "parser_cocci_menhir.ml" in @@ -35989,7 +35989,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 696 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( [_1] ) # 35995 "parser_cocci_menhir.ml" in @@ -36013,7 +36013,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 720 "parser_cocci_menhir.mly" +# 744 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) # 36019 "parser_cocci_menhir.ml" in @@ -36037,7 +36037,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 723 "parser_cocci_menhir.mly" +# 747 "parser_cocci_menhir.mly" ( _1 ) # 36043 "parser_cocci_menhir.ml" in @@ -36067,7 +36067,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 724 "parser_cocci_menhir.mly" +# 748 "parser_cocci_menhir.mly" ( _1@_2 ) # 36073 "parser_cocci_menhir.ml" in @@ -36097,7 +36097,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 726 "parser_cocci_menhir.mly" +# 750 "parser_cocci_menhir.mly" ( (P.mkddots_one "..." d)::r ) # 36103 "parser_cocci_menhir.ml" in @@ -36118,14 +36118,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 36124 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 699 "parser_cocci_menhir.mly" +# 723 "parser_cocci_menhir.mly" ( P.meta_field _1 ) # 36131 "parser_cocci_menhir.ml" in @@ -36146,14 +36146,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 110 "parser_cocci_menhir.mly" +# 134 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 36152 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 700 "parser_cocci_menhir.mly" +# 724 "parser_cocci_menhir.mly" ( P.meta_field_list _1 ) # 36159 "parser_cocci_menhir.ml" in @@ -36174,14 +36174,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 36180 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 701 "parser_cocci_menhir.mly" +# 725 "parser_cocci_menhir.mly" ( tmeta_to_field _1 ) # 36187 "parser_cocci_menhir.ml" in @@ -36212,7 +36212,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 36218 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -36221,7 +36221,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl_one = -# 703 "parser_cocci_menhir.mly" +# 727 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) # 36228 "parser_cocci_menhir.ml" @@ -36283,34 +36283,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 36289 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 36294 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 36300 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 36305 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 36311 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 36316 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -36318,7 +36318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl_one = -# 707 "parser_cocci_menhir.mly" +# 731 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -36355,7 +36355,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 36361 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -36371,7 +36371,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 715 "parser_cocci_menhir.mly" +# 739 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) ) @@ -36409,7 +36409,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 151 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) # 36415 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -36427,7 +36427,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 715 "parser_cocci_menhir.mly" +# 739 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) ) @@ -36450,14 +36450,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 36456 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 691 "parser_cocci_menhir.mly" +# 715 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) # 36463 "parser_cocci_menhir.ml" in @@ -36478,14 +36478,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let u : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 36484 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 692 "parser_cocci_menhir.mly" +# 716 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) # 36491 "parser_cocci_menhir.ml" in @@ -36513,7 +36513,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_sub = -# 1788 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -36556,7 +36556,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_sub = -# 1797 "parser_cocci_menhir.mly" +# 1821 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -36588,7 +36588,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1355 "parser_cocci_menhir.mly" +# 1379 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) # 36594 "parser_cocci_menhir.ml" in @@ -36619,20 +36619,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 36625 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 36631 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 2047 "parser_cocci_menhir.mly" +# 2071 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in @@ -36654,7 +36654,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_dots = -# 2035 "parser_cocci_menhir.mly" +# 2059 "parser_cocci_menhir.mly" ([]) # 36660 "parser_cocci_menhir.ml" in @@ -36682,7 +36682,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 2036 "parser_cocci_menhir.mly" +# 2060 "parser_cocci_menhir.mly" (_2) # 36688 "parser_cocci_menhir.ml" in @@ -36712,7 +36712,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 2037 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) # 36718 "parser_cocci_menhir.ml" in @@ -36742,7 +36742,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 2038 "parser_cocci_menhir.mly" +# 2062 "parser_cocci_menhir.mly" (_1@_2) # 36748 "parser_cocci_menhir.ml" in @@ -36770,7 +36770,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 2026 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" (_2) # 36776 "parser_cocci_menhir.ml" in @@ -36800,7 +36800,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 2027 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) # 36806 "parser_cocci_menhir.ml" in @@ -36830,7 +36830,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 2028 "parser_cocci_menhir.mly" +# 2052 "parser_cocci_menhir.mly" (_1@_2) # 36836 "parser_cocci_menhir.ml" in @@ -36847,7 +36847,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_exp = -# 2031 "parser_cocci_menhir.mly" +# 2055 "parser_cocci_menhir.mly" ([]) # 36853 "parser_cocci_menhir.ml" in @@ -36877,7 +36877,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 2032 "parser_cocci_menhir.mly" +# 2056 "parser_cocci_menhir.mly" (_1::_2) # 36883 "parser_cocci_menhir.ml" in @@ -36894,7 +36894,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_stm = -# 2041 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ([]) # 36900 "parser_cocci_menhir.ml" in @@ -36924,7 +36924,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 2042 "parser_cocci_menhir.mly" +# 2066 "parser_cocci_menhir.mly" (_1::_2) # 36930 "parser_cocci_menhir.ml" in @@ -36954,7 +36954,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 2043 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" (_1@_2) # 36960 "parser_cocci_menhir.ml" in @@ -36984,7 +36984,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 2021 "parser_cocci_menhir.mly" +# 2045 "parser_cocci_menhir.mly" ( _1::_2 ) # 36990 "parser_cocci_menhir.ml" in @@ -37014,7 +37014,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 2022 "parser_cocci_menhir.mly" +# 2046 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) # 37020 "parser_cocci_menhir.ml" in @@ -37044,7 +37044,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 2023 "parser_cocci_menhir.mly" +# 2047 "parser_cocci_menhir.mly" ( _1@_2 ) # 37050 "parser_cocci_menhir.ml" in @@ -37077,7 +37077,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let b : 'tv_toplevel_after_dots_init = Obj.magic b in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37083 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -37087,13 +37087,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1059 "parser_cocci_menhir.mly" +# 1083 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) # 37093 "parser_cocci_menhir.ml" in -# 2014 "parser_cocci_menhir.mly" +# 2038 "parser_cocci_menhir.mly" ( a::b ) # 37099 "parser_cocci_menhir.ml" in @@ -37135,14 +37135,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37141 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37148 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -37154,14 +37154,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1063 "parser_cocci_menhir.mly" +# 1087 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) # 37161 "parser_cocci_menhir.ml" in -# 2015 "parser_cocci_menhir.mly" +# 2039 "parser_cocci_menhir.mly" ( a::b ) # 37167 "parser_cocci_menhir.ml" in @@ -37203,14 +37203,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37209 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37216 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -37222,14 +37222,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1066 "parser_cocci_menhir.mly" +# 1090 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) # 37229 "parser_cocci_menhir.ml" in -# 2015 "parser_cocci_menhir.mly" +# 2039 "parser_cocci_menhir.mly" ( a::b ) # 37235 "parser_cocci_menhir.ml" in @@ -37265,14 +37265,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37271 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37278 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -37284,14 +37284,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1063 "parser_cocci_menhir.mly" +# 1087 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) # 37291 "parser_cocci_menhir.ml" in -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( [a] ) # 37297 "parser_cocci_menhir.ml" in @@ -37327,14 +37327,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37333 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( -# 117 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) # 37340 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -37346,14 +37346,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 1066 "parser_cocci_menhir.mly" +# 1090 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) # 37353 "parser_cocci_menhir.ml" in -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( [a] ) # 37359 "parser_cocci_menhir.ml" in @@ -37383,7 +37383,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 2017 "parser_cocci_menhir.mly" +# 2041 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) # 37389 "parser_cocci_menhir.ml" in @@ -37413,7 +37413,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 2018 "parser_cocci_menhir.mly" +# 2042 "parser_cocci_menhir.mly" ( _1@_2 ) # 37419 "parser_cocci_menhir.ml" in @@ -37437,7 +37437,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_type_ident = -# 1872 "parser_cocci_menhir.mly" +# 1896 "parser_cocci_menhir.mly" ( _1 ) # 37443 "parser_cocci_menhir.ml" in @@ -37458,14 +37458,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 37464 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_type_ident = -# 1874 "parser_cocci_menhir.mly" +# 1898 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 37471 "parser_cocci_menhir.ml" in @@ -37497,12 +37497,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 37503 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 37508 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -37514,13 +37514,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 37520 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 37526 "parser_cocci_menhir.ml" @@ -37533,7 +37533,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37539 "parser_cocci_menhir.ml" in @@ -37565,12 +37565,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 37571 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 37576 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -37582,13 +37582,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 37588 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 37594 "parser_cocci_menhir.ml" @@ -37601,7 +37601,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37607 "parser_cocci_menhir.ml" in @@ -37633,12 +37633,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 37639 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 37644 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -37650,13 +37650,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 37656 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 37662 "parser_cocci_menhir.ml" @@ -37669,7 +37669,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37675 "parser_cocci_menhir.ml" in @@ -37701,12 +37701,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 37707 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 37712 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -37718,14 +37718,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 37725 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 37731 "parser_cocci_menhir.ml" @@ -37738,7 +37738,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37744 "parser_cocci_menhir.ml" in @@ -37779,17 +37779,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 37785 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 37790 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 37795 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -37803,7 +37803,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -37814,7 +37814,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 37820 "parser_cocci_menhir.ml" @@ -37827,7 +37827,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37833 "parser_cocci_menhir.ml" in @@ -37859,12 +37859,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 37865 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 37870 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -37876,13 +37876,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 37882 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 37888 "parser_cocci_menhir.ml" @@ -37895,7 +37895,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37901 "parser_cocci_menhir.ml" in @@ -37932,17 +37932,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 37938 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 37943 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 37948 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -37956,7 +37956,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -37965,7 +37965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 37971 "parser_cocci_menhir.ml" @@ -37978,7 +37978,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37984 "parser_cocci_menhir.ml" in @@ -38010,12 +38010,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38016 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 38021 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38027,13 +38027,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 38033 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38039 "parser_cocci_menhir.ml" @@ -38046,7 +38046,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38052 "parser_cocci_menhir.ml" in @@ -38078,12 +38078,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38084 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 38089 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38095,13 +38095,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 38101 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38107 "parser_cocci_menhir.ml" @@ -38114,7 +38114,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38120 "parser_cocci_menhir.ml" in @@ -38146,12 +38146,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38152 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 38157 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38163,13 +38163,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 38169 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38175 "parser_cocci_menhir.ml" @@ -38182,7 +38182,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38188 "parser_cocci_menhir.ml" in @@ -38214,12 +38214,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 38220 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 38225 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38231,14 +38231,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 38238 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38244 "parser_cocci_menhir.ml" @@ -38251,7 +38251,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38257 "parser_cocci_menhir.ml" in @@ -38292,17 +38292,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 38298 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 38303 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 38308 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -38316,7 +38316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -38327,7 +38327,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38333 "parser_cocci_menhir.ml" @@ -38340,7 +38340,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38346 "parser_cocci_menhir.ml" in @@ -38372,12 +38372,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38378 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 38383 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38389,13 +38389,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 38395 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38401 "parser_cocci_menhir.ml" @@ -38408,7 +38408,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38414 "parser_cocci_menhir.ml" in @@ -38445,17 +38445,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38451 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38456 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 38461 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38469,7 +38469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -38478,7 +38478,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38484 "parser_cocci_menhir.ml" @@ -38491,7 +38491,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38497 "parser_cocci_menhir.ml" in @@ -38518,7 +38518,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38524 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -38529,13 +38529,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 38535 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 38541 "parser_cocci_menhir.ml" @@ -38548,7 +38548,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38554 "parser_cocci_menhir.ml" in @@ -38575,7 +38575,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38581 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -38586,13 +38586,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 38592 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 38598 "parser_cocci_menhir.ml" @@ -38605,7 +38605,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38611 "parser_cocci_menhir.ml" in @@ -38632,7 +38632,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38638 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -38643,13 +38643,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 38649 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 38655 "parser_cocci_menhir.ml" @@ -38662,7 +38662,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38668 "parser_cocci_menhir.ml" in @@ -38689,7 +38689,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 38695 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -38700,14 +38700,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 38707 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 38713 "parser_cocci_menhir.ml" @@ -38720,7 +38720,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38726 "parser_cocci_menhir.ml" in @@ -38756,12 +38756,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 38762 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 38767 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -38774,7 +38774,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -38785,7 +38785,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 38791 "parser_cocci_menhir.ml" @@ -38798,7 +38798,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38804 "parser_cocci_menhir.ml" in @@ -38825,7 +38825,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38831 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -38836,13 +38836,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 38842 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 38848 "parser_cocci_menhir.ml" @@ -38855,7 +38855,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38861 "parser_cocci_menhir.ml" in @@ -38887,12 +38887,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38893 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 38898 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -38905,7 +38905,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -38914,7 +38914,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 38920 "parser_cocci_menhir.ml" @@ -38927,7 +38927,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38933 "parser_cocci_menhir.ml" in @@ -38954,7 +38954,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 38960 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -38965,13 +38965,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 619 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 38971 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 38977 "parser_cocci_menhir.ml" @@ -38984,7 +38984,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38990 "parser_cocci_menhir.ml" in @@ -39011,7 +39011,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 39017 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39022,13 +39022,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 621 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 39028 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39034 "parser_cocci_menhir.ml" @@ -39041,7 +39041,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39047 "parser_cocci_menhir.ml" in @@ -39068,7 +39068,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 39074 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39079,13 +39079,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 623 "parser_cocci_menhir.mly" +# 647 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 39085 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39091 "parser_cocci_menhir.ml" @@ -39098,7 +39098,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39104 "parser_cocci_menhir.ml" in @@ -39125,7 +39125,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 39131 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39136,13 +39136,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 625 "parser_cocci_menhir.mly" +# 649 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 39142 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39148 "parser_cocci_menhir.ml" @@ -39155,7 +39155,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39161 "parser_cocci_menhir.ml" in @@ -39182,7 +39182,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 39188 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39193,13 +39193,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 627 "parser_cocci_menhir.mly" +# 651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 39199 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39205 "parser_cocci_menhir.ml" @@ -39212,7 +39212,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39218 "parser_cocci_menhir.ml" in @@ -39239,7 +39239,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 39245 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39250,13 +39250,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 629 "parser_cocci_menhir.mly" +# 653 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 39256 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39262 "parser_cocci_menhir.ml" @@ -39269,7 +39269,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39275 "parser_cocci_menhir.ml" in @@ -39302,7 +39302,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 39308 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -39315,13 +39315,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 631 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 39321 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39327 "parser_cocci_menhir.ml" @@ -39334,7 +39334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39340 "parser_cocci_menhir.ml" in @@ -39376,18 +39376,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39382 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39388 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 39393 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -39411,7 +39411,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -39420,7 +39420,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39426 "parser_cocci_menhir.ml" @@ -39433,7 +39433,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39439 "parser_cocci_menhir.ml" in @@ -39480,19 +39480,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39486 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39492 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 39498 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -39519,7 +39519,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -39528,7 +39528,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39534 "parser_cocci_menhir.ml" @@ -39541,7 +39541,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39547 "parser_cocci_menhir.ml" in @@ -39583,13 +39583,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 638 "parser_cocci_menhir.mly" +# 662 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 39589 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39595 "parser_cocci_menhir.ml" @@ -39602,7 +39602,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39608 "parser_cocci_menhir.ml" in @@ -39644,13 +39644,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39650 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39656 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -39675,7 +39675,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -39685,7 +39685,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39691 "parser_cocci_menhir.ml" @@ -39698,7 +39698,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39704 "parser_cocci_menhir.ml" in @@ -39745,13 +39745,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39751 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39757 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -39780,7 +39780,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -39790,7 +39790,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39796 "parser_cocci_menhir.ml" @@ -39803,7 +39803,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39809 "parser_cocci_menhir.ml" in @@ -39845,18 +39845,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39851 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 39857 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 39862 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -39873,7 +39873,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 647 "parser_cocci_menhir.mly" +# 671 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) @@ -39881,7 +39881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39887 "parser_cocci_menhir.ml" @@ -39894,7 +39894,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39900 "parser_cocci_menhir.ml" in @@ -39921,7 +39921,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 39927 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -39932,13 +39932,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 651 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 39938 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 39944 "parser_cocci_menhir.ml" @@ -39951,7 +39951,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39957 "parser_cocci_menhir.ml" in @@ -39988,12 +39988,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 39994 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 39999 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40006,13 +40006,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 40012 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 40018 "parser_cocci_menhir.ml" @@ -40026,7 +40026,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40032 "parser_cocci_menhir.ml" in @@ -40063,12 +40063,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40069 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40074 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40081,13 +40081,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 40087 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 40093 "parser_cocci_menhir.ml" @@ -40101,7 +40101,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40107 "parser_cocci_menhir.ml" in @@ -40138,12 +40138,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40144 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40149 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40156,13 +40156,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 40162 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 40168 "parser_cocci_menhir.ml" @@ -40176,7 +40176,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40182 "parser_cocci_menhir.ml" in @@ -40213,12 +40213,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 40219 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40224 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40231,14 +40231,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 40238 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 40244 "parser_cocci_menhir.ml" @@ -40252,7 +40252,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40258 "parser_cocci_menhir.ml" in @@ -40298,17 +40298,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 40304 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 40309 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40314 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -40323,7 +40323,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -40334,7 +40334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 40340 "parser_cocci_menhir.ml" @@ -40348,7 +40348,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40354 "parser_cocci_menhir.ml" in @@ -40385,12 +40385,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40391 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40396 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40403,13 +40403,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 40409 "parser_cocci_menhir.ml" in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 40415 "parser_cocci_menhir.ml" @@ -40423,7 +40423,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40429 "parser_cocci_menhir.ml" in @@ -40465,17 +40465,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40471 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40476 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40481 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40490,7 +40490,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -40499,7 +40499,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 656 "parser_cocci_menhir.mly" +# 680 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 40505 "parser_cocci_menhir.ml" @@ -40513,7 +40513,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40519 "parser_cocci_menhir.ml" in @@ -40550,12 +40550,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40556 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40561 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40568,13 +40568,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 40574 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 40580 "parser_cocci_menhir.ml" @@ -40588,7 +40588,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40594 "parser_cocci_menhir.ml" in @@ -40625,12 +40625,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40631 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40636 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40643,13 +40643,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 40649 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 40655 "parser_cocci_menhir.ml" @@ -40663,7 +40663,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40669 "parser_cocci_menhir.ml" in @@ -40700,12 +40700,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40706 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40711 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40718,13 +40718,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 40724 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 40730 "parser_cocci_menhir.ml" @@ -40738,7 +40738,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40744 "parser_cocci_menhir.ml" in @@ -40775,12 +40775,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 40781 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40786 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40793,14 +40793,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 40800 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 40806 "parser_cocci_menhir.ml" @@ -40814,7 +40814,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40820 "parser_cocci_menhir.ml" in @@ -40860,17 +40860,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 40866 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 40871 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40876 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -40885,7 +40885,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -40896,7 +40896,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 40902 "parser_cocci_menhir.ml" @@ -40910,7 +40910,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40916 "parser_cocci_menhir.ml" in @@ -40947,12 +40947,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 40953 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 40958 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -40965,13 +40965,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 40971 "parser_cocci_menhir.ml" in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 40977 "parser_cocci_menhir.ml" @@ -40985,7 +40985,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40991 "parser_cocci_menhir.ml" in @@ -41027,17 +41027,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41033 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41038 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 41043 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -41052,7 +41052,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -41061,7 +41061,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 658 "parser_cocci_menhir.mly" +# 682 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 41067 "parser_cocci_menhir.ml" @@ -41075,7 +41075,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41081 "parser_cocci_menhir.ml" in @@ -41107,7 +41107,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41113 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41119,13 +41119,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 593 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 41125 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 41131 "parser_cocci_menhir.ml" @@ -41139,7 +41139,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41145 "parser_cocci_menhir.ml" in @@ -41171,7 +41171,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41177 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41183,13 +41183,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 595 "parser_cocci_menhir.mly" +# 619 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 41189 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 41195 "parser_cocci_menhir.ml" @@ -41203,7 +41203,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41209 "parser_cocci_menhir.ml" in @@ -41235,7 +41235,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41241 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41247,13 +41247,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 41253 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 41259 "parser_cocci_menhir.ml" @@ -41267,7 +41267,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41273 "parser_cocci_menhir.ml" in @@ -41299,7 +41299,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 41305 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -41311,14 +41311,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 599 "parser_cocci_menhir.mly" +# 623 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 41318 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 41324 "parser_cocci_menhir.ml" @@ -41332,7 +41332,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41338 "parser_cocci_menhir.ml" in @@ -41373,12 +41373,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 41379 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 88 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) # 41384 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -41392,7 +41392,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) @@ -41403,7 +41403,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 41409 "parser_cocci_menhir.ml" @@ -41417,7 +41417,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41423 "parser_cocci_menhir.ml" in @@ -41449,7 +41449,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41455 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41461,13 +41461,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 609 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 41467 "parser_cocci_menhir.ml" in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 41473 "parser_cocci_menhir.ml" @@ -41481,7 +41481,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41487 "parser_cocci_menhir.ml" in @@ -41518,12 +41518,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41524 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41529 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -41537,7 +41537,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 611 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -41546,7 +41546,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 659 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( ty ) # 41552 "parser_cocci_menhir.ml" @@ -41560,7 +41560,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41566 "parser_cocci_menhir.ml" in @@ -41592,7 +41592,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 41598 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41604,13 +41604,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 619 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 41610 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 41616 "parser_cocci_menhir.ml" @@ -41624,7 +41624,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41630 "parser_cocci_menhir.ml" in @@ -41656,7 +41656,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41662 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41668,13 +41668,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 621 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 41674 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 41680 "parser_cocci_menhir.ml" @@ -41688,7 +41688,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41694 "parser_cocci_menhir.ml" in @@ -41720,7 +41720,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 90 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) # 41726 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41732,13 +41732,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 623 "parser_cocci_menhir.mly" +# 647 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 41738 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 41744 "parser_cocci_menhir.ml" @@ -41752,7 +41752,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41758 "parser_cocci_menhir.ml" in @@ -41784,7 +41784,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 41790 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41796,13 +41796,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 625 "parser_cocci_menhir.mly" +# 649 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 41802 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 41808 "parser_cocci_menhir.ml" @@ -41816,7 +41816,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41822 "parser_cocci_menhir.ml" in @@ -41848,7 +41848,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 41854 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41860,13 +41860,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 627 "parser_cocci_menhir.mly" +# 651 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 41866 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 41872 "parser_cocci_menhir.ml" @@ -41880,7 +41880,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41886 "parser_cocci_menhir.ml" in @@ -41912,7 +41912,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 41918 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -41924,13 +41924,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 629 "parser_cocci_menhir.mly" +# 653 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 41930 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 41936 "parser_cocci_menhir.ml" @@ -41944,7 +41944,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41950 "parser_cocci_menhir.ml" in @@ -41982,7 +41982,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 41988 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -41996,13 +41996,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 631 "parser_cocci_menhir.mly" +# 655 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 42002 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42008 "parser_cocci_menhir.ml" @@ -42016,7 +42016,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42022 "parser_cocci_menhir.ml" in @@ -42063,18 +42063,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42069 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42075 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 42080 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -42099,7 +42099,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -42108,7 +42108,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42114 "parser_cocci_menhir.ml" @@ -42122,7 +42122,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42128 "parser_cocci_menhir.ml" in @@ -42174,19 +42174,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42180 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42186 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 92 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 42192 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -42214,7 +42214,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 633 "parser_cocci_menhir.mly" +# 657 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "enums must be named in the iso file"); Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), @@ -42223,7 +42223,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42229 "parser_cocci_menhir.ml" @@ -42237,7 +42237,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42243 "parser_cocci_menhir.ml" in @@ -42285,13 +42285,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 638 "parser_cocci_menhir.mly" +# 662 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 42291 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42297 "parser_cocci_menhir.ml" @@ -42305,7 +42305,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42311 "parser_cocci_menhir.ml" in @@ -42352,13 +42352,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42358 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42364 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -42384,7 +42384,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -42394,7 +42394,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42400 "parser_cocci_menhir.ml" @@ -42408,7 +42408,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42414 "parser_cocci_menhir.ml" in @@ -42460,13 +42460,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42466 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42472 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -42496,7 +42496,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 641 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), @@ -42506,7 +42506,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42512 "parser_cocci_menhir.ml" @@ -42520,7 +42520,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42526 "parser_cocci_menhir.ml" in @@ -42567,18 +42567,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42573 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 145 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) # 42579 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 42584 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -42596,7 +42596,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 647 "parser_cocci_menhir.mly" +# 671 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) @@ -42604,7 +42604,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42610 "parser_cocci_menhir.ml" @@ -42618,7 +42618,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42624 "parser_cocci_menhir.ml" in @@ -42650,7 +42650,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) # 42656 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -42662,13 +42662,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 651 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 42668 "parser_cocci_menhir.ml" in -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( ty ) # 42674 "parser_cocci_menhir.ml" @@ -42682,7 +42682,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 681 "parser_cocci_menhir.mly" +# 705 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 42688 "parser_cocci_menhir.ml" in @@ -42713,20 +42713,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 42719 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 42725 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 683 "parser_cocci_menhir.mly" +# 707 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) @@ -42749,14 +42749,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 42755 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ctype = -# 686 "parser_cocci_menhir.mly" +# 710 "parser_cocci_menhir.mly" ( tmeta_to_type _1 ) # 42762 "parser_cocci_menhir.ml" in @@ -42780,7 +42780,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1892 "parser_cocci_menhir.mly" +# 1916 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) # 42786 "parser_cocci_menhir.ml" in @@ -42801,14 +42801,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) # 42807 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1893 "parser_cocci_menhir.mly" +# 1917 "parser_cocci_menhir.mly" ( tmeta_to_type _1 ) # 42814 "parser_cocci_menhir.ml" in @@ -42829,14 +42829,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 107 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) # 42835 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1895 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 42843 "parser_cocci_menhir.ml" @@ -42861,7 +42861,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1480 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( _1 ) # 42867 "parser_cocci_menhir.ml" in @@ -42888,14 +42888,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 42894 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1482 "parser_cocci_menhir.mly" +# 1506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 42901 "parser_cocci_menhir.ml" in @@ -42922,14 +42922,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 42928 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1484 "parser_cocci_menhir.mly" +# 1508 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 42935 "parser_cocci_menhir.ml" in @@ -42959,7 +42959,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1486 "parser_cocci_menhir.mly" +# 1510 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 42965 "parser_cocci_menhir.ml" in @@ -42986,14 +42986,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 42992 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1488 "parser_cocci_menhir.mly" +# 1512 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43000 "parser_cocci_menhir.ml" @@ -43021,14 +43021,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43027 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1491 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 43034 "parser_cocci_menhir.ml" in @@ -43064,25 +43064,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 43070 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43076 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43081 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1493 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -43108,7 +43108,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1480 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( _1 ) # 43114 "parser_cocci_menhir.ml" in @@ -43135,14 +43135,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43141 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1482 "parser_cocci_menhir.mly" +# 1506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 43148 "parser_cocci_menhir.ml" in @@ -43169,14 +43169,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43175 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1484 "parser_cocci_menhir.mly" +# 1508 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 43182 "parser_cocci_menhir.ml" in @@ -43206,7 +43206,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1486 "parser_cocci_menhir.mly" +# 1510 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43212 "parser_cocci_menhir.ml" in @@ -43233,14 +43233,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43239 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1488 "parser_cocci_menhir.mly" +# 1512 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43247 "parser_cocci_menhir.ml" @@ -43268,14 +43268,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43274 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1491 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 43281 "parser_cocci_menhir.ml" in @@ -43311,25 +43311,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 43317 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43323 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43328 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1493 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -43355,7 +43355,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1480 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( _1 ) # 43361 "parser_cocci_menhir.ml" in @@ -43382,14 +43382,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43388 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1482 "parser_cocci_menhir.mly" +# 1506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 43395 "parser_cocci_menhir.ml" in @@ -43416,14 +43416,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43422 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1484 "parser_cocci_menhir.mly" +# 1508 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 43429 "parser_cocci_menhir.ml" in @@ -43453,7 +43453,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1486 "parser_cocci_menhir.mly" +# 1510 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43459 "parser_cocci_menhir.ml" in @@ -43480,14 +43480,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43486 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1488 "parser_cocci_menhir.mly" +# 1512 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43494 "parser_cocci_menhir.ml" @@ -43515,14 +43515,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43521 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1491 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 43528 "parser_cocci_menhir.ml" in @@ -43558,25 +43558,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 43564 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43570 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43575 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1493 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -43602,7 +43602,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1480 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( _1 ) # 43608 "parser_cocci_menhir.ml" in @@ -43629,14 +43629,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43635 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1482 "parser_cocci_menhir.mly" +# 1506 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 43642 "parser_cocci_menhir.ml" in @@ -43663,14 +43663,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43669 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1484 "parser_cocci_menhir.mly" +# 1508 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 43676 "parser_cocci_menhir.ml" in @@ -43700,7 +43700,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1486 "parser_cocci_menhir.mly" +# 1510 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43706 "parser_cocci_menhir.ml" in @@ -43727,14 +43727,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43733 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1488 "parser_cocci_menhir.mly" +# 1512 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43741 "parser_cocci_menhir.ml" @@ -43762,14 +43762,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43768 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1491 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 43775 "parser_cocci_menhir.ml" in @@ -43805,25 +43805,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 43811 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43817 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 43822 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1493 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -43849,7 +43849,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_bis = -# 1499 "parser_cocci_menhir.mly" +# 1523 "parser_cocci_menhir.mly" ( _1 ) # 43855 "parser_cocci_menhir.ml" in @@ -43876,14 +43876,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43882 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1501 "parser_cocci_menhir.mly" +# 1525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 43889 "parser_cocci_menhir.ml" in @@ -43910,14 +43910,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 129 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) # 43916 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1503 "parser_cocci_menhir.mly" +# 1527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 43923 "parser_cocci_menhir.ml" in @@ -43947,7 +43947,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1505 "parser_cocci_menhir.mly" +# 1529 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43953 "parser_cocci_menhir.ml" in @@ -43974,14 +43974,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 43980 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1507 "parser_cocci_menhir.mly" +# 1531 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 43988 "parser_cocci_menhir.ml" @@ -44009,14 +44009,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 44015 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_bis = -# 1510 "parser_cocci_menhir.mly" +# 1534 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 44022 "parser_cocci_menhir.ml" in @@ -44052,25 +44052,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 121 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) # 44058 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 120 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) # 44064 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) # 44069 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_bis = -# 1512 "parser_cocci_menhir.mly" +# 1536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -44093,14 +44093,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) # 44099 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1516 "parser_cocci_menhir.mly" +# 1540 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) # 44106 "parser_cocci_menhir.ml" in @@ -44121,14 +44121,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 44127 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1517 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) # 44134 "parser_cocci_menhir.ml" in @@ -44149,14 +44149,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 44155 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1518 "parser_cocci_menhir.mly" +# 1542 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) # 44162 "parser_cocci_menhir.ml" in @@ -44177,14 +44177,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 142 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) # 44183 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1519 "parser_cocci_menhir.mly" +# 1543 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) # 44190 "parser_cocci_menhir.ml" in @@ -44205,14 +44205,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) # 44211 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1520 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) # 44218 "parser_cocci_menhir.ml" in @@ -44242,7 +44242,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 2145 "parser_cocci_menhir.mly" +# 2169 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) # 44248 "parser_cocci_menhir.ml" in @@ -44272,7 +44272,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 2147 "parser_cocci_menhir.mly" +# 2171 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) # 44278 "parser_cocci_menhir.ml" in @@ -44296,7 +44296,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 1070 "parser_cocci_menhir.mly" +# 1094 "parser_cocci_menhir.mly" ( w ) # 44302 "parser_cocci_menhir.ml" in @@ -44332,7 +44332,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2192 "parser_cocci_menhir.mly" +# 2216 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) # 44338 "parser_cocci_menhir.ml" in @@ -44368,7 +44368,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2193 "parser_cocci_menhir.mly" +# 2217 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) # 44374 "parser_cocci_menhir.ml" in @@ -44400,7 +44400,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2195 "parser_cocci_menhir.mly" +# 2219 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) # 44406 "parser_cocci_menhir.ml" in @@ -44436,7 +44436,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2196 "parser_cocci_menhir.mly" +# 2220 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) # 44442 "parser_cocci_menhir.ml" in @@ -44472,7 +44472,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2197 "parser_cocci_menhir.mly" +# 2221 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) # 44478 "parser_cocci_menhir.ml" in @@ -44496,7 +44496,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 2038 lexer lexbuf) : ( -# 205 "parser_cocci_menhir.mly" +# 229 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 44502 "parser_cocci_menhir.ml" )) @@ -44504,7 +44504,7 @@ let rec script_meta_main = and rule_name = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1963 lexer lexbuf) : ( -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 44510 "parser_cocci_menhir.ml" )) @@ -44512,7 +44512,7 @@ and rule_name = and reinit = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1961 lexer lexbuf) : ( -# 177 "parser_cocci_menhir.mly" +# 201 "parser_cocci_menhir.mly" (unit) # 44518 "parser_cocci_menhir.ml" )) @@ -44520,7 +44520,7 @@ and reinit = and plus_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1925 lexer lexbuf) : ( -# 186 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 44526 "parser_cocci_menhir.ml" )) @@ -44528,7 +44528,7 @@ and plus_main = and plus_exp_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1917 lexer lexbuf) : ( -# 189 "parser_cocci_menhir.mly" +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 44534 "parser_cocci_menhir.ml" )) @@ -44536,7 +44536,7 @@ and plus_exp_main = and never_used = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1911 lexer lexbuf) : ( -# 214 "parser_cocci_menhir.mly" +# 238 "parser_cocci_menhir.mly" (unit) # 44542 "parser_cocci_menhir.ml" )) @@ -44544,7 +44544,7 @@ and never_used = and minus_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : ( -# 180 "parser_cocci_menhir.mly" +# 204 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 44550 "parser_cocci_menhir.ml" )) @@ -44552,7 +44552,7 @@ and minus_main = and minus_exp_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1814 lexer lexbuf) : ( -# 183 "parser_cocci_menhir.mly" +# 207 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 44558 "parser_cocci_menhir.ml" )) @@ -44560,7 +44560,7 @@ and minus_exp_main = and meta_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1811 lexer lexbuf) : ( -# 203 "parser_cocci_menhir.mly" +# 227 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 44566 "parser_cocci_menhir.ml" )) @@ -44568,7 +44568,7 @@ and meta_main = and iso_rule_name = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1807 lexer lexbuf) : ( -# 195 "parser_cocci_menhir.mly" +# 219 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 44574 "parser_cocci_menhir.ml" )) @@ -44576,7 +44576,7 @@ and iso_rule_name = and iso_meta_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1528 lexer lexbuf) : ( -# 211 "parser_cocci_menhir.mly" +# 235 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 44582 "parser_cocci_menhir.ml" )) @@ -44584,7 +44584,7 @@ and iso_meta_main = and iso_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 44590 "parser_cocci_menhir.ml" )) @@ -44592,7 +44592,7 @@ and iso_main = and include_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( -# 192 "parser_cocci_menhir.mly" +# 216 "parser_cocci_menhir.mly" (Data.incl_iso list) # 44598 "parser_cocci_menhir.ml" )) diff --git a/parsing_cocci/parser_cocci_menhir.mly b/parsing_cocci/parser_cocci_menhir.mly index d90e837..64cee29 100644 --- a/parsing_cocci/parser_cocci_menhir.mly +++ b/parsing_cocci/parser_cocci_menhir.mly @@ -1,3 +1,27 @@ +/* + * 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. + */ + + %{ (* Not clear how to allow function declarations to specify a return type diff --git a/parsing_cocci/plus.ml b/parsing_cocci/plus.ml index 4f0fd91..386c76c 100644 --- a/parsing_cocci/plus.ml +++ b/parsing_cocci/plus.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* The plus fragments are converted to a list of lists of lists. Innermost list: Elements have type anything. For any pair of successive elements, n and n+1, the ending line of n is the same as the starting line diff --git a/parsing_cocci/plus.mli b/parsing_cocci/plus.mli index 512f516..01f573b 100644 --- a/parsing_cocci/plus.mli +++ b/parsing_cocci/plus.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val plus : Ast_cocci.rule -> (Ast_cocci.anything * int * int * int * int) list list list diff --git a/parsing_cocci/pretty_print_cocci.ml b/parsing_cocci/pretty_print_cocci.ml index d2251cc..9ad9228 100644 --- a/parsing_cocci/pretty_print_cocci.ml +++ b/parsing_cocci/pretty_print_cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Format module Ast = Ast_cocci diff --git a/parsing_cocci/pretty_print_cocci.mli b/parsing_cocci/pretty_print_cocci.mli index 2f544a7..e0ae1e8 100644 --- a/parsing_cocci/pretty_print_cocci.mli +++ b/parsing_cocci/pretty_print_cocci.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val unparse : Ast_cocci.rule -> unit val unparse_to_string : Ast_cocci.rule -> string val expression : Ast_cocci.expression -> unit diff --git a/parsing_cocci/safe_for_multi_decls.ml b/parsing_cocci/safe_for_multi_decls.ml index 473adc1..96b688d 100644 --- a/parsing_cocci/safe_for_multi_decls.ml +++ b/parsing_cocci/safe_for_multi_decls.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* This phase sets the safe_for_multi_decls field, which is normally false, to true for transformations on declarations where the only change is on the declared variable. This is the only kind of change on such a declaration diff --git a/parsing_cocci/safe_for_multi_decls.mli b/parsing_cocci/safe_for_multi_decls.mli index ac771de..faf9276 100644 --- a/parsing_cocci/safe_for_multi_decls.mli +++ b/parsing_cocci/safe_for_multi_decls.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val safe_for_multi_decls : Ast_cocci.rule_with_metavars list -> Ast_cocci.rule_with_metavars list diff --git a/parsing_cocci/semantic_cocci.ml b/parsing_cocci/semantic_cocci.ml index bbea4c9..b8a9ccb 100644 --- a/parsing_cocci/semantic_cocci.ml +++ b/parsing_cocci/semantic_cocci.ml @@ -1 +1,25 @@ +(* + * 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. + *) + + exception Semantic of string diff --git a/parsing_cocci/simple_assignments.ml b/parsing_cocci/simple_assignments.ml index e9d8f28..367f5f1 100644 --- a/parsing_cocci/simple_assignments.ml +++ b/parsing_cocci/simple_assignments.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci module V0 = Visitor_ast0 diff --git a/parsing_cocci/simple_assignments.mli b/parsing_cocci/simple_assignments.mli index e9d4c89..5a45d93 100644 --- a/parsing_cocci/simple_assignments.mli +++ b/parsing_cocci/simple_assignments.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val simple_assignments : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/single_statement.ml b/parsing_cocci/single_statement.ml index 8710777..3c64929 100644 --- a/parsing_cocci/single_statement.ml +++ b/parsing_cocci/single_statement.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* detect statements that are between dots in the minus code, because they may need a special treatment if they are if branches *) diff --git a/parsing_cocci/single_statement.mli b/parsing_cocci/single_statement.mli index eee3744..6b43ffc 100644 --- a/parsing_cocci/single_statement.mli +++ b/parsing_cocci/single_statement.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val single_statement : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/test.cocci b/parsing_cocci/test.cocci index 5683b49..8dc1a95 100644 --- a/parsing_cocci/test.cocci +++ b/parsing_cocci/test.cocci @@ -1,3 +1,25 @@ +// 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. + + @@ struct SHT sht; local function proc_info_func; diff --git a/parsing_cocci/test2.cocci b/parsing_cocci/test2.cocci index 62ec534..2c4e050 100644 --- a/parsing_cocci/test2.cocci +++ b/parsing_cocci/test2.cocci @@ -1,3 +1,25 @@ +// 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. + + @@ struct SHT sht; local function proc_info_func; diff --git a/parsing_cocci/test_exps.ml b/parsing_cocci/test_exps.ml index e883496..b4843b2 100644 --- a/parsing_cocci/test_exps.ml +++ b/parsing_cocci/test_exps.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module Ast0 = Ast0_cocci module V0 = Visitor_ast0 diff --git a/parsing_cocci/test_exps.mli b/parsing_cocci/test_exps.mli index 29d5ced..35f1d00 100644 --- a/parsing_cocci/test_exps.mli +++ b/parsing_cocci/test_exps.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val process : Ast0_cocci.rule -> Ast0_cocci.rule val process_anything : Ast0_cocci.anything -> Ast0_cocci.anything diff --git a/parsing_cocci/top_level.ml b/parsing_cocci/top_level.ml index be12362..6dd7eed 100644 --- a/parsing_cocci/top_level.ml +++ b/parsing_cocci/top_level.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Reorganize the top level of a rule to be a list of either top-level declarations or code dots. A function declaration is always considered top level. A statement is always considered code dots. A variable declaration diff --git a/parsing_cocci/top_level.mli b/parsing_cocci/top_level.mli index 1829d3e..289f997 100644 --- a/parsing_cocci/top_level.mli +++ b/parsing_cocci/top_level.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val top_level : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/type_cocci.ml b/parsing_cocci/type_cocci.ml index 4ec216f..a7c1e3b 100644 --- a/parsing_cocci/type_cocci.ml +++ b/parsing_cocci/type_cocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* for metavariables in general, but here because needed for metatypes *) type inherited = bool (* true if inherited *) type keep_binding = Unitary (* need no info *) diff --git a/parsing_cocci/type_cocci.mli b/parsing_cocci/type_cocci.mli index 717f556..ab43a83 100644 --- a/parsing_cocci/type_cocci.mli +++ b/parsing_cocci/type_cocci.mli @@ -1,3 +1,27 @@ +(* + * 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 inherited = bool (* true if inherited *) type keep_binding = Unitary (* need no info *) | Nonunitary (* need an env entry *) | Saved (* need a witness *) diff --git a/parsing_cocci/type_infer.ml b/parsing_cocci/type_infer.ml index bd15e49..777f8fa 100644 --- a/parsing_cocci/type_infer.ml +++ b/parsing_cocci/type_infer.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module T = Type_cocci module Ast = Ast_cocci module Ast0 = Ast0_cocci diff --git a/parsing_cocci/type_infer.mli b/parsing_cocci/type_infer.mli index 796c6c7..893e983 100644 --- a/parsing_cocci/type_infer.mli +++ b/parsing_cocci/type_infer.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val type_infer : Ast0_cocci.rule -> unit diff --git a/parsing_cocci/unify_ast.ml b/parsing_cocci/unify_ast.ml index c680e80..539553e 100644 --- a/parsing_cocci/unify_ast.ml +++ b/parsing_cocci/unify_ast.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* --------------------------------------------------------------------- *) (* Given two patterns, A and B, determine whether B can match any matched subterms of A. For simplicity, this doesn't maintain an environment; it diff --git a/parsing_cocci/unify_ast.mli b/parsing_cocci/unify_ast.mli index 95a7d6f..87b6f46 100644 --- a/parsing_cocci/unify_ast.mli +++ b/parsing_cocci/unify_ast.mli @@ -1,3 +1,27 @@ +(* + * 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 res = NO | MAYBE val unify_statement_dots : diff --git a/parsing_cocci/unitary_ast0.ml b/parsing_cocci/unitary_ast0.ml index 95a926a..9d533c2 100644 --- a/parsing_cocci/unitary_ast0.ml +++ b/parsing_cocci/unitary_ast0.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* find unitary metavariables *) module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/parsing_cocci/unitary_ast0.mli b/parsing_cocci/unitary_ast0.mli index 8aa5873..2361df1 100644 --- a/parsing_cocci/unitary_ast0.mli +++ b/parsing_cocci/unitary_ast0.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* 'iso is the return type of parse_iso, which currently is (Ast_cocci.metavar list * Ast0_cocci.anything list list) list *) diff --git a/parsing_cocci/unparse_ast0.ml b/parsing_cocci/unparse_ast0.ml index da8db30..7c244cf 100644 --- a/parsing_cocci/unparse_ast0.ml +++ b/parsing_cocci/unparse_ast0.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Format module Ast = Ast_cocci module Ast0 = Ast0_cocci diff --git a/parsing_cocci/unparse_ast0.mli b/parsing_cocci/unparse_ast0.mli index 6f66fc0..3818b77 100644 --- a/parsing_cocci/unparse_ast0.mli +++ b/parsing_cocci/unparse_ast0.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val expression_dots : Ast0_cocci.expression Ast0_cocci.dots -> unit val parameter_list : Ast0_cocci.parameterTypeDef Ast0_cocci.dots -> unit val statement_dots : Ast0_cocci.statement Ast0_cocci.dots -> unit diff --git a/parsing_cocci/visitor_ast.ml b/parsing_cocci/visitor_ast.ml index d530bba..bbd1674 100644 --- a/parsing_cocci/visitor_ast.ml +++ b/parsing_cocci/visitor_ast.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/parsing_cocci/visitor_ast.mli b/parsing_cocci/visitor_ast.mli index f65f3dc..8c44fc1 100644 --- a/parsing_cocci/visitor_ast.mli +++ b/parsing_cocci/visitor_ast.mli @@ -1,3 +1,27 @@ +(* + * 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; diff --git a/parsing_cocci/visitor_ast0.ml b/parsing_cocci/visitor_ast0.ml index 3477c1d..64f73d4 100644 --- a/parsing_cocci/visitor_ast0.ml +++ b/parsing_cocci/visitor_ast0.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* --------------------------------------------------------------------- *) (* Generic traversal: rebuilder *) diff --git a/parsing_cocci/visitor_ast0.mli b/parsing_cocci/visitor_ast0.mli index 453c5f8..43590fa 100644 --- a/parsing_cocci/visitor_ast0.mli +++ b/parsing_cocci/visitor_ast0.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val combiner_functions : 'a Visitor_ast0_types.combiner_functions val combiner : ('a -> 'a -> 'a) -> diff --git a/parsing_cocci/visitor_ast0_types.ml b/parsing_cocci/visitor_ast0_types.ml index a4f9282..98c284a 100644 --- a/parsing_cocci/visitor_ast0_types.ml +++ b/parsing_cocci/visitor_ast0_types.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/popl/Makefile b/popl/Makefile index e77bc96..9302461 100644 --- a/popl/Makefile +++ b/popl/Makefile @@ -1,3 +1,25 @@ +# 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. + + #note: if you add a file (a .mli or .ml), dont forget to do a make depend -include ../Makefile.config diff --git a/popl/ast_popl.ml b/popl/ast_popl.ml index 55c8040..abb6b03 100644 --- a/popl/ast_popl.ml +++ b/popl/ast_popl.ml @@ -1,3 +1,27 @@ +(* + * 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 sequence = Seq of element * sequence | Empty diff --git a/popl/asttopopl.ml b/popl/asttopopl.ml index fb85a8e..5fbf9f8 100644 --- a/popl/asttopopl.ml +++ b/popl/asttopopl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module Past = Ast_popl diff --git a/popl/asttopopl.mli b/popl/asttopopl.mli index 5d8e4b1..37e4b82 100644 --- a/popl/asttopopl.mli +++ b/popl/asttopopl.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val top : Ast_cocci.top_level -> Ast_popl.sequence diff --git a/popl/insert_befaft.ml b/popl/insert_befaft.ml index 1119d2b..ad6caad 100644 --- a/popl/insert_befaft.ml +++ b/popl/insert_befaft.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Past = Ast_popl (* --------------------------------------------------------------------- *) diff --git a/popl/insert_befaft.mli b/popl/insert_befaft.mli index eea1354..4aaf5af 100644 --- a/popl/insert_befaft.mli +++ b/popl/insert_befaft.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val insert_befaft : Ast_popl.sequence -> Ast_popl.sequence diff --git a/popl/insert_quantifiers.ml b/popl/insert_quantifiers.ml index a41da31..3a0980e 100644 --- a/popl/insert_quantifiers.ml +++ b/popl/insert_quantifiers.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module Past = Ast_popl diff --git a/popl/insert_quantifiers.mli b/popl/insert_quantifiers.mli index b8eef27..0276dba 100644 --- a/popl/insert_quantifiers.mli +++ b/popl/insert_quantifiers.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val insert_quantifiers : Ast_popl.sequence -> Ast_popl.sequence diff --git a/popl/popl.ml b/popl/popl.ml index 8c4b87d..c32ae10 100644 --- a/popl/popl.ml +++ b/popl/popl.ml @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl/popl.mli b/popl/popl.mli index 4a7fd49..1185a79 100644 --- a/popl/popl.mli +++ b/popl/popl.mli @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl/popltoctl.ml b/popl/popltoctl.ml index ab1c71d..1f7f457 100644 --- a/popl/popltoctl.ml +++ b/popl/popltoctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Past = Ast_popl module Ast = Ast_cocci module V = Visitor_ast diff --git a/popl/popltoctl.mli b/popl/popltoctl.mli index b1285d1..c8dd49e 100644 --- a/popl/popltoctl.mli +++ b/popl/popltoctl.mli @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl/pretty_print_popl.ml b/popl/pretty_print_popl.ml index addcf39..0515ad7 100644 --- a/popl/pretty_print_popl.ml +++ b/popl/pretty_print_popl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Format module Past = Ast_popl diff --git a/popl/pretty_print_popl.mli b/popl/pretty_print_popl.mli index 5b3399a..d4ae105 100644 --- a/popl/pretty_print_popl.mli +++ b/popl/pretty_print_popl.mli @@ -1,2 +1,26 @@ +(* + * 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. + *) + + val pretty_print : Ast_popl.sequence -> unit val pretty_print_e : Ast_popl.element -> unit diff --git a/popl09/Makefile b/popl09/Makefile index e0cf4da..db143ea 100644 --- a/popl09/Makefile +++ b/popl09/Makefile @@ -1,3 +1,25 @@ +# 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. + + #note: if you add a file (a .mli or .ml), dont forget to do a make depend -include ../Makefile.config diff --git a/popl09/ast_popl.ml b/popl09/ast_popl.ml index f9011e4..e153487 100644 --- a/popl09/ast_popl.ml +++ b/popl09/ast_popl.ml @@ -1,3 +1,27 @@ +(* + * 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 sequence = Seq of element * sequence | Empty diff --git a/popl09/asttopopl.ml b/popl09/asttopopl.ml index a71d983..530560d 100644 --- a/popl09/asttopopl.ml +++ b/popl09/asttopopl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module Past = Ast_popl diff --git a/popl09/asttopopl.mli b/popl09/asttopopl.mli index 5d8e4b1..37e4b82 100644 --- a/popl09/asttopopl.mli +++ b/popl09/asttopopl.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val top : Ast_cocci.top_level -> Ast_popl.sequence diff --git a/popl09/flag_popl.ml b/popl09/flag_popl.ml index fedbcee..c509121 100644 --- a/popl09/flag_popl.ml +++ b/popl09/flag_popl.ml @@ -1,2 +1,26 @@ +(* + * 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. + *) + + let mark_all = ref false let keep_all_wits = ref false diff --git a/popl09/insert_quantifiers.ml b/popl09/insert_quantifiers.ml index 59b4590..ce86d0c 100644 --- a/popl09/insert_quantifiers.ml +++ b/popl09/insert_quantifiers.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Ast = Ast_cocci module Past = Ast_popl diff --git a/popl09/insert_quantifiers.mli b/popl09/insert_quantifiers.mli index b8eef27..0276dba 100644 --- a/popl09/insert_quantifiers.mli +++ b/popl09/insert_quantifiers.mli @@ -1 +1,25 @@ +(* + * 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. + *) + + val insert_quantifiers : Ast_popl.sequence -> Ast_popl.sequence diff --git a/popl09/popl.ml b/popl09/popl.ml index 70ac698..76c4a57 100644 --- a/popl09/popl.ml +++ b/popl09/popl.ml @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl09/popl.mli b/popl09/popl.mli index 4a7fd49..1185a79 100644 --- a/popl09/popl.mli +++ b/popl09/popl.mli @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl09/popltoctl.ml b/popl09/popltoctl.ml index 68239a5..e126775 100644 --- a/popl09/popltoctl.ml +++ b/popl09/popltoctl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + module Past = Ast_popl module Ast = Ast_cocci module V = Visitor_ast diff --git a/popl09/popltoctl.mli b/popl09/popltoctl.mli index b1285d1..c8dd49e 100644 --- a/popl09/popltoctl.mli +++ b/popl09/popltoctl.mli @@ -1,3 +1,27 @@ +(* + * 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 cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl09/pretty_print_popl.ml b/popl09/pretty_print_popl.ml index c083cd0..cf4b9ce 100644 --- a/popl09/pretty_print_popl.ml +++ b/popl09/pretty_print_popl.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Format module Past = Ast_popl module Ast = Ast_cocci diff --git a/popl09/pretty_print_popl.mli b/popl09/pretty_print_popl.mli index 5b3399a..d4ae105 100644 --- a/popl09/pretty_print_popl.mli +++ b/popl09/pretty_print_popl.mli @@ -1,2 +1,26 @@ +(* + * 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. + *) + + val pretty_print : Ast_popl.sequence -> unit val pretty_print_e : Ast_popl.element -> unit diff --git a/python/Makefile b/python/Makefile index 57c4ae1..2c3459a 100644 --- a/python/Makefile +++ b/python/Makefile @@ -1,3 +1,25 @@ +# 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. + + ############################################################################# # Configuration section ############################################################################# diff --git a/python/no_pycocci.ml b/python/no_pycocci.ml index 96b5289..793ed33 100644 --- a/python/no_pycocci.ml +++ b/python/no_pycocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Ast_c open Common open Pycocci_aux diff --git a/python/pycocci.mli b/python/pycocci.mli index 7d177f8..f0778bd 100644 --- a/python/pycocci.mli +++ b/python/pycocci.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + val build_classes : Ast_cocci.meta_name list -> unit val construct_variables : (string * Ast_cocci.meta_name * Ast_cocci.metavar) list diff --git a/python/pycocci_aux.ml b/python/pycocci_aux.ml index 865bd81..6aa1b0f 100644 --- a/python/pycocci_aux.ml +++ b/python/pycocci_aux.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Ast_c open Common diff --git a/python/pycocci_aux.mli b/python/pycocci_aux.mli index 1630a94..cda8a0b 100644 --- a/python/pycocci_aux.mli +++ b/python/pycocci_aux.mli @@ -1,2 +1,26 @@ +(* + * 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. + *) + + val exprrep : Ast_c.expression -> string val stringrep : Ast_c.metavar_binding_kind -> string diff --git a/python/yes_pycocci.ml b/python/yes_pycocci.ml index a369170..80b996b 100644 --- a/python/yes_pycocci.ml +++ b/python/yes_pycocci.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Ast_c open Common open Pycaml diff --git a/scripts/extract_c_and_res.pl b/scripts/extract_c_and_res.pl index e602927..c8352a8 100755 --- a/scripts/extract_c_and_res.pl +++ b/scripts/extract_c_and_res.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl -w use strict; diff --git a/scripts/extract_examples.pl b/scripts/extract_examples.pl index f0fed0a..a474c25 100755 --- a/scripts/extract_examples.pl +++ b/scripts/extract_examples.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl #usage: ./extract_examples.pl ~/week-end/working-documents/examples.tex diff --git a/scripts/extractor_README.pl b/scripts/extractor_README.pl index 2339422..cb5347b 100755 --- a/scripts/extractor_README.pl +++ b/scripts/extractor_README.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl use strict; diff --git a/scripts/gather_failed.pl b/scripts/gather_failed.pl index 11f32b1..f877d2b 100755 --- a/scripts/gather_failed.pl +++ b/scripts/gather_failed.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl # usage: gather_failed.pl **/*.failed > /tmp/big.failed diff --git a/scripts/readme.pl b/scripts/readme.pl index 84b7091..21ba994 100755 --- a/scripts/readme.pl +++ b/scripts/readme.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl # # ARGV: 0 = replacement text, 1 = file w. list of files diff --git a/scripts/stat_directories.pl b/scripts/stat_directories.pl index 10821a7..ae064ff 100755 --- a/scripts/stat_directories.pl +++ b/scripts/stat_directories.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl #usage: diff --git a/scripts/stat_directories_complete.pl b/scripts/stat_directories_complete.pl index 58578ea..4327842 100755 --- a/scripts/stat_directories_complete.pl +++ b/scripts/stat_directories_complete.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl #usage: diff --git a/scripts/stat_directory_complete.pl b/scripts/stat_directory_complete.pl index a7d35d2..03b0904 100755 --- a/scripts/stat_directory_complete.pl +++ b/scripts/stat_directory_complete.pl @@ -1,3 +1,25 @@ +# 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. + + #!/usr/bin/perl use strict; diff --git a/testing.ml b/testing.ml index 174135e..3b42651 100644 --- a/testing.ml +++ b/testing.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common open Sexplib diff --git a/testing.mli b/testing.mli index c5f5d36..031c3c3 100644 --- a/testing.mli +++ b/testing.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common (*****************************************************************************) diff --git a/tools/Makefile b/tools/Makefile index 310504d..91e7c61 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,3 +1,25 @@ +# 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. + + -include ../Makefile.config PROGS=spp gitgrep splitpatch extract_c_and_res #generate_dependencies diff --git a/tools/alloc_free.ml b/tools/alloc_free.ml index 1c91280..865e0a1 100644 --- a/tools/alloc_free.ml +++ b/tools/alloc_free.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* The following finds out for each file, how it does deallocation for each allocator *) diff --git a/tools/bridge.ml b/tools/bridge.ml index 44770cd..666acf0 100644 --- a/tools/bridge.ml +++ b/tools/bridge.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + let drop_spaces s = String.concat "" (Str.split (Str.regexp "[ ]+") s) diff --git a/tools/dir_stats.ml b/tools/dir_stats.ml index a4f1417..af1d500 100644 --- a/tools/dir_stats.ml +++ b/tools/dir_stats.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* for each marked thing, how often does it occur and in what files and directories *) diff --git a/tools/dumper.ml b/tools/dumper.ml index 32491bc..8df6a32 100644 --- a/tools/dumper.ml +++ b/tools/dumper.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Dump an OCaml value into a printable string. * By Richard W.M. Jones (rich@annexia.org). * dumper.ml 1.2 2005/02/06 12:38:21 rich Exp diff --git a/tools/dumper.mli b/tools/dumper.mli index 0f80e10..61c5e69 100644 --- a/tools/dumper.mli +++ b/tools/dumper.mli @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* Dump an OCaml value into a printable string. * By Richard W.M. Jones (rich@annexia.org). * dumper.mli 1.1 2005/02/03 23:07:47 rich Exp diff --git a/tools/extract_c_and_res.ml b/tools/extract_c_and_res.ml index bfd96da..9a4a493 100644 --- a/tools/extract_c_and_res.ml +++ b/tools/extract_c_and_res.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common (*****************************************************************************) diff --git a/tools/generate_dependencies.ml b/tools/generate_dependencies.ml index 1554698..5c31fad 100644 --- a/tools/generate_dependencies.ml +++ b/tools/generate_dependencies.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common (*****************************************************************************) diff --git a/tools/gitgrep.ml b/tools/gitgrep.ml index 0c9c59a..a4f12b1 100644 --- a/tools/gitgrep.ml +++ b/tools/gitgrep.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* adjust as convenient *) let prefix = "/tmp/" let prefix = "" diff --git a/tools/gitsort.ml b/tools/gitsort.ml index 36b9a01..e3aac33 100644 --- a/tools/gitsort.ml +++ b/tools/gitsort.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* sort a list of git codes such that the most recent comes first *) let git_home = ref "/home/julia/linux-2.6" diff --git a/tools/licensify.ml b/tools/licensify.ml index 3a86a6c..d981671 100644 --- a/tools/licensify.ml +++ b/tools/licensify.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + let lines = ["Copyright 2010, INRIA, University of Copenhagen"; "Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix"; diff --git a/tools/process_isoprofile.ml b/tools/process_isoprofile.ml index 29027db..cfd7735 100644 --- a/tools/process_isoprofile.ml +++ b/tools/process_isoprofile.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* This is for processing information created with the -profile_iso option. Runs are assumed separated with a line beginning with =. The first run is discarded *) diff --git a/tools/splitpatch.ml b/tools/splitpatch.ml index ab8f127..68af129 100644 --- a/tools/splitpatch.ml +++ b/tools/splitpatch.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + (* split patch per file *) (* ------------------------------------------------------------------------ *) diff --git a/tools/spp.ml b/tools/spp.ml index 1281fba..f5e2196 100644 --- a/tools/spp.ml +++ b/tools/spp.ml @@ -1,3 +1,27 @@ +(* + * 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. + *) + + open Common exception WrongArguments -- 2.20.1