From: Coccinelle Date: Mon, 22 Nov 2010 21:13:49 +0000 (+0100) Subject: Release coccinelle-0.2.4 X-Git-Url: https://git.hcoop.net/bpt/coccinelle.git/commitdiff_plain/9bc82bae75129fec4d981ebf245f2f7d7ca73a41 Release coccinelle-0.2.4 ** Language: - scripts now have names and can declare metavariables that are seen by SmPL as identifier metavariables, see demos/{python,ocaml}tococci.cocci - declaration (match variable declarations) and field (match structure field declarations) metavariables - matching of array initializations and of enum declarations ** Features: - compatability with Python 2.7. Thanks to Richard W.M. Jones for pointing out the problem - python and ocaml string representations of parameter lists and expression lists - try simpler patterns on glimpse failure - graceful and immediate failure when a virtual rule is defined on the command line, but not in the rule - spatch returns -1 when a virtual rule is requested that is not supported - no transformation when using * with the option -no_show_diff - expanded +++ file name for match output - struct *^* and enum *^* metavariable types - allow an assignment to match a variable initialization, even if multiple variables are declared at the same time. - add the option -recursive_includes - added the option -use_idutils. The requires the previous use of the script idutils_index.sh ** Bugfix: - detect used after metavariables in simple statement metavariable match - allow inheriting position variables over rules that make transformations but depend on virtual rules that are not defined on the command line - treat top-level tokens in decl visitor. Thanks to Peter Tummeltshammer for noticing a resulting problem. - improve typing of the result of an assignment expression - eliminate some recursive calls in C code parsing to avoid stack overflows - better pretty printing of #define when the whole line is removed - better pretty printing of asm code containing "::[input]"r"(&coherence_data[i])" - allow pretty printing of C code with nameless bit fields - avoid adding an error message to standard output if ocamlfind is not found - struct/union/enum-typed metavariables with a metavariable type name - better management of whitespace between deleted lines. Thanks to Andriy Gapon for noticing the problem. - improved parsing recovery for badly parsed struct/enum typedefs - drop expanded tokens in sgrep output. Thanks to Andriy Gapon for noticing the problem. - constant strings have array type, not pointer type. Thanks to Vasiliy Kulikov for noticing the problem. - improve indentation when adding code after a function call with indented arguments. - return type of sizeof converted to unsigned long. Thanks to Vasiliy Kulikov for noticing the problem. - improve spacing when adding structure initializers. Thanks to Vasiliy Kulikov for noticing the problem. --- diff --git a/changes.txt b/changes.txt index cc3d7aa..99e17f4 100644 --- a/changes.txt +++ b/changes.txt @@ -36,6 +36,8 @@ - allow an assignment to match a variable initialization, even if multiple variables are declared at the same time. - add the option -recursive_includes +- added the option -use_idutils. The requires the previous use of the + script idutils_index.sh ** Bugfix: - detect used after metavariables in simple statement metavariable match diff --git a/cocci.ml b/cocci.ml index 16a4b88..b2f1ef7 100644 --- a/cocci.ml +++ b/cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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 190199c..2a1feb6 100644 --- a/cocci.mli +++ b/cocci.mli @@ -22,6 +22,30 @@ *) +(* + * 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/ast_ctl.ml b/ctl/ast_ctl.ml index 30e8c60..830105e 100644 --- a/ctl/ast_ctl.ml +++ b/ctl/ast_ctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 4577176..6192f01 100644 --- a/ctl/ctl_engine.ml +++ b/ctl/ctl_engine.ml @@ -22,6 +22,30 @@ *) +(* + * 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 3251c0a..2ea0298 100644 --- a/ctl/ctl_engine.mli +++ b/ctl/ctl_engine.mli @@ -22,6 +22,30 @@ *) +(* + * 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 d840ef0..978211a 100644 --- a/ctl/flag_ctl.ml +++ b/ctl/flag_ctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 9c7fbf1..af6caf7 100644 --- a/ctl/pretty_print_ctl.ml +++ b/ctl/pretty_print_ctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 4819215..17c66e2 100644 --- a/ctl/pretty_print_ctl.mli +++ b/ctl/pretty_print_ctl.mli @@ -22,6 +22,30 @@ *) +(* + * 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 c53681c..08fbb4d 100644 --- a/ctl/test_ctl.ml +++ b/ctl/test_ctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 ac740dc..40ebf25 100644 --- a/ctl/wrapper_ctl.ml +++ b/ctl/wrapper_ctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 17436dd..87df680 100644 --- a/ctl/wrapper_ctl.mli +++ b/ctl/wrapper_ctl.mli @@ -22,6 +22,30 @@ *) +(* + * 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/main_grammar.pdf b/docs/manual/main_grammar.pdf index 7a7ff3c..5639360 100644 Binary files a/docs/manual/main_grammar.pdf and b/docs/manual/main_grammar.pdf differ diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf index 1925ed6..1f579c9 100644 Binary files a/docs/manual/manual.pdf and b/docs/manual/manual.pdf differ diff --git a/docs/manual/options.pdf b/docs/manual/options.pdf index ade1b68..b5f1e69 100644 Binary files a/docs/manual/options.pdf and b/docs/manual/options.pdf differ diff --git a/engine/asttoctl.ml b/engine/asttoctl.ml index 5e885c6..49c5f81 100644 --- a/engine/asttoctl.ml +++ b/engine/asttoctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 611a946..bcb4f73 100644 --- a/engine/asttoctl.mli +++ b/engine/asttoctl.mli @@ -22,6 +22,30 @@ *) +(* + * 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 3415e3f..3fb763c 100644 --- a/engine/asttoctl2.ml +++ b/engine/asttoctl2.ml @@ -22,6 +22,30 @@ *) +(* + * 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 a6732d7..4c479c2 100644 --- a/engine/asttoctl2.mli +++ b/engine/asttoctl2.mli @@ -22,6 +22,30 @@ *) +(* + * 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 881de6d..dd3a21d 100644 --- a/engine/asttomember.ml +++ b/engine/asttomember.ml @@ -22,6 +22,30 @@ *) +(* + * 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 4ceb553..d96e94b 100644 --- a/engine/asttomember.mli +++ b/engine/asttomember.mli @@ -22,5 +22,29 @@ *) +(* + * 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 a38b037..56e0206 100644 --- a/engine/c_vs_c.ml +++ b/engine/c_vs_c.ml @@ -22,6 +22,30 @@ *) +(* + * 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 63d887d..d418f97 100644 --- a/engine/c_vs_c.mli +++ b/engine/c_vs_c.mli @@ -22,6 +22,30 @@ *) +(* + * 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 d1272ae..cc707d2 100644 --- a/engine/check_exhaustive_pattern.ml +++ b/engine/check_exhaustive_pattern.ml @@ -22,6 +22,30 @@ *) +(* + * 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 3bff497..e42c0ce 100644 --- a/engine/check_reachability.ml +++ b/engine/check_reachability.ml @@ -22,6 +22,30 @@ *) +(* + * 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 a436341..70177d5 100644 --- a/engine/check_reachability.mli +++ b/engine/check_reachability.mli @@ -22,6 +22,30 @@ *) +(* + * 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 cf5a2b6..1683e8d 100644 --- a/engine/cocci_vs_c.ml +++ b/engine/cocci_vs_c.ml @@ -22,6 +22,30 @@ *) +(* + * 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. + *) + + (* Yoann Padioleau, Julia Lawall * * Copyright (C) 2006, 2007, 2008 Ecole des Mines de Nantes diff --git a/engine/cocci_vs_c.mli b/engine/cocci_vs_c.mli index f5ff82e..0d7f4c5 100644 --- a/engine/cocci_vs_c.mli +++ b/engine/cocci_vs_c.mli @@ -22,6 +22,30 @@ *) +(* + * 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 b603e4c..4e1804e 100644 --- a/engine/ctlcocci_integration.ml +++ b/engine/ctlcocci_integration.ml @@ -22,6 +22,30 @@ *) +(* + * 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 e2a5793..4955c0d 100644 --- a/engine/ctlcocci_integration.mli +++ b/engine/ctlcocci_integration.mli @@ -22,6 +22,30 @@ *) +(* + * 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 b9308be..c2fbb32 100644 --- a/engine/ctltotex.ml +++ b/engine/ctltotex.ml @@ -22,6 +22,30 @@ *) +(* + * 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 a403d62..bcea1f0 100644 --- a/engine/ctltotex.mli +++ b/engine/ctltotex.mli @@ -22,6 +22,30 @@ *) +(* + * 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 afb8789..5a6ae09 100644 --- a/engine/flag_engine.ml +++ b/engine/flag_engine.ml @@ -22,6 +22,30 @@ *) +(* + * 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 100dead..2dd5db5 100644 --- a/engine/flag_matcher.ml +++ b/engine/flag_matcher.ml @@ -22,6 +22,30 @@ *) +(* + * 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 6383da7..e34959a 100644 --- a/engine/isomorphisms_c_c.ml +++ b/engine/isomorphisms_c_c.ml @@ -22,6 +22,30 @@ *) +(* + * 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 7db4a94..a398b3f 100644 --- a/engine/lib_engine.ml +++ b/engine/lib_engine.ml @@ -22,6 +22,30 @@ *) +(* + * 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 1fd1d49..10d20c9 100644 --- a/engine/lib_matcher_c.ml +++ b/engine/lib_matcher_c.ml @@ -22,3 +22,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. + *) + + diff --git a/engine/lib_matcher_c.mli b/engine/lib_matcher_c.mli index 1fd1d49..10d20c9 100644 --- a/engine/lib_matcher_c.mli +++ b/engine/lib_matcher_c.mli @@ -22,3 +22,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. + *) + + diff --git a/engine/main.ml b/engine/main.ml index 680ff46..b7343ed 100644 --- a/engine/main.ml +++ b/engine/main.ml @@ -22,6 +22,30 @@ *) +(* + * 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 c27d347..689f571 100644 --- a/engine/pattern_c.ml +++ b/engine/pattern_c.ml @@ -22,6 +22,30 @@ *) +(* + * 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. + *) + + (* Yoann Padioleau * * Copyright (C) 2006, 2007 Ecole des Mines de Nantes diff --git a/engine/pattern_c.mli b/engine/pattern_c.mli index 93756f9..498afa9 100644 --- a/engine/pattern_c.mli +++ b/engine/pattern_c.mli @@ -22,6 +22,30 @@ *) +(* + * 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 73c7c0a..d924553 100644 --- a/engine/postprocess_transinfo.ml +++ b/engine/postprocess_transinfo.ml @@ -22,6 +22,30 @@ *) +(* + * 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 b5fde8f..a598f97 100644 --- a/engine/postprocess_transinfo.mli +++ b/engine/postprocess_transinfo.mli @@ -22,6 +22,30 @@ *) +(* + * 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 657d6c6..f44b961 100644 --- a/engine/pretty_print_engine.ml +++ b/engine/pretty_print_engine.ml @@ -22,6 +22,30 @@ *) +(* + * 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 602f118..e135812 100644 --- a/engine/pretty_print_engine.mli +++ b/engine/pretty_print_engine.mli @@ -22,6 +22,30 @@ *) +(* + * 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 f1089b2..a1c55fb 100644 --- a/engine/sgrep.ml +++ b/engine/sgrep.ml @@ -22,6 +22,30 @@ *) +(* + * 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 37cd939..e30bc20 100644 --- a/engine/transformation_c.ml +++ b/engine/transformation_c.ml @@ -22,6 +22,30 @@ *) +(* + * 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. + *) + + 1(* Yoann Padioleau * * Copyright (C) 2006, 2007 Ecole des Mines de Nantes diff --git a/engine/transformation_c.mli b/engine/transformation_c.mli index 71e36a3..ede6ab3 100644 --- a/engine/transformation_c.mli +++ b/engine/transformation_c.mli @@ -22,6 +22,30 @@ *) +(* + * 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 6d83239..23fa51d 100644 --- a/flag_cocci.ml +++ b/flag_cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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/config.ml.in b/globals/config.ml.in index 04559d1..c8aa2b7 100644 --- a/globals/config.ml.in +++ b/globals/config.ml.in @@ -1,4 +1,4 @@ -let version = "0.2.4rc6" +let version = "0.2.4" let path = try (Sys.getenv "COCCINELLE_HOME") diff --git a/globals/flag.ml b/globals/flag.ml index 45451d1..e290828 100644 --- a/globals/flag.ml +++ b/globals/flag.ml @@ -22,6 +22,30 @@ *) +(* + * 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/main.ml b/main.ml index b2cedc3..431238a 100644 --- a/main.ml +++ b/main.ml @@ -22,6 +22,30 @@ *) +(* + * 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_cocci/adjacency.ml b/parsing_cocci/adjacency.ml index b95258d..1aa1980 100644 --- a/parsing_cocci/adjacency.ml +++ b/parsing_cocci/adjacency.ml @@ -22,6 +22,30 @@ *) +(* + * 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 9c659f8..a812dbe 100644 --- a/parsing_cocci/adjacency.mli +++ b/parsing_cocci/adjacency.mli @@ -22,4 +22,28 @@ *) +(* + * 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 93b1fa8..9bd9729 100644 --- a/parsing_cocci/adjust_pragmas.ml +++ b/parsing_cocci/adjust_pragmas.ml @@ -22,6 +22,30 @@ *) +(* + * 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 8e9a400..985db89 100644 --- a/parsing_cocci/adjust_pragmas.mli +++ b/parsing_cocci/adjust_pragmas.mli @@ -22,4 +22,28 @@ *) +(* + * 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 ed17892..c9bcb67 100644 --- a/parsing_cocci/arity.ml +++ b/parsing_cocci/arity.ml @@ -22,6 +22,30 @@ *) +(* + * 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 73194c3..45988cc 100644 --- a/parsing_cocci/arity.mli +++ b/parsing_cocci/arity.mli @@ -22,4 +22,28 @@ *) +(* + * 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 553fc0366..da681d0 100644 --- a/parsing_cocci/ast0_cocci.ml +++ b/parsing_cocci/ast0_cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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 5d54968..f5c3c1d 100644 --- a/parsing_cocci/ast0_cocci.mli +++ b/parsing_cocci/ast0_cocci.mli @@ -22,6 +22,30 @@ *) +(* + * 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 f1f9d2d..8539ade 100644 --- a/parsing_cocci/ast0toast.ml +++ b/parsing_cocci/ast0toast.ml @@ -22,6 +22,30 @@ *) +(* + * 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 6e03663..07c3011 100644 --- a/parsing_cocci/ast0toast.mli +++ b/parsing_cocci/ast0toast.mli @@ -22,6 +22,30 @@ *) +(* + * 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 f413e5b..bcb1bce 100644 --- a/parsing_cocci/ast_cocci.ml +++ b/parsing_cocci/ast_cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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 69a0d78..a40075b 100644 --- a/parsing_cocci/ast_cocci.mli +++ b/parsing_cocci/ast_cocci.mli @@ -22,6 +22,30 @@ *) +(* + * 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 6fbf9c9..0e4ccee 100644 --- a/parsing_cocci/check_meta.ml +++ b/parsing_cocci/check_meta.ml @@ -22,6 +22,30 @@ *) +(* + * 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 371dbb9..18c9123 100644 --- a/parsing_cocci/check_meta.mli +++ b/parsing_cocci/check_meta.mli @@ -22,6 +22,30 @@ *) +(* + * 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 d03584d..717a648 100644 --- a/parsing_cocci/comm_assoc.ml +++ b/parsing_cocci/comm_assoc.ml @@ -22,6 +22,30 @@ *) +(* + * 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 610e722..43a21b9 100644 --- a/parsing_cocci/comm_assoc.mli +++ b/parsing_cocci/comm_assoc.mli @@ -22,6 +22,30 @@ *) +(* + * 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 d1187e1..01c8b15 100644 --- a/parsing_cocci/compute_lines.ml +++ b/parsing_cocci/compute_lines.ml @@ -22,6 +22,30 @@ *) +(* + * 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 891bcc3..555108c 100644 --- a/parsing_cocci/compute_lines.mli +++ b/parsing_cocci/compute_lines.mli @@ -22,6 +22,30 @@ *) +(* + * 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 823af30..6423d16 100644 --- a/parsing_cocci/context_neg.ml +++ b/parsing_cocci/context_neg.ml @@ -22,6 +22,30 @@ *) +(* + * 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 da1f6c5..7888dfb 100644 --- a/parsing_cocci/context_neg.mli +++ b/parsing_cocci/context_neg.mli @@ -22,6 +22,30 @@ *) +(* + * 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 75a83e5..d47ca8e 100644 --- a/parsing_cocci/data.ml +++ b/parsing_cocci/data.ml @@ -22,6 +22,30 @@ *) +(* + * 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 87be3fd..4516b78 100644 --- a/parsing_cocci/data.mli +++ b/parsing_cocci/data.mli @@ -22,6 +22,30 @@ *) +(* + * 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 21d45da..ca38d9d 100644 --- a/parsing_cocci/disjdistr.ml +++ b/parsing_cocci/disjdistr.ml @@ -22,6 +22,30 @@ *) +(* + * 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 cf420d0..31c343c 100644 --- a/parsing_cocci/disjdistr.mli +++ b/parsing_cocci/disjdistr.mli @@ -22,5 +22,29 @@ *) +(* + * 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 0868f02..9d088c1 100644 --- a/parsing_cocci/flag_parsing_cocci.ml +++ b/parsing_cocci/flag_parsing_cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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 1659686..c5eab34 100644 --- a/parsing_cocci/free_vars.ml +++ b/parsing_cocci/free_vars.ml @@ -22,6 +22,30 @@ *) +(* + * 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 d7fd980..ffececa 100644 --- a/parsing_cocci/free_vars.mli +++ b/parsing_cocci/free_vars.mli @@ -22,6 +22,30 @@ *) +(* + * 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 d79e0ba..a6c9a7b 100644 --- a/parsing_cocci/function_prototypes.ml +++ b/parsing_cocci/function_prototypes.ml @@ -22,6 +22,30 @@ *) +(* + * 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 363db5c..4f2e770 100644 --- a/parsing_cocci/function_prototypes.mli +++ b/parsing_cocci/function_prototypes.mli @@ -22,6 +22,30 @@ *) +(* + * 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 3864d91..2eec204 100644 --- a/parsing_cocci/get_constants.ml +++ b/parsing_cocci/get_constants.ml @@ -22,6 +22,30 @@ *) +(* + * 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 713a368..176dd96 100644 --- a/parsing_cocci/get_constants.mli +++ b/parsing_cocci/get_constants.mli @@ -22,4 +22,28 @@ *) +(* + * 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 a98463d..58956cc 100644 --- a/parsing_cocci/get_constants2.ml +++ b/parsing_cocci/get_constants2.ml @@ -22,6 +22,30 @@ *) +(* + * 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 02ba70b..57d0af5 100644 --- a/parsing_cocci/get_constants2.mli +++ b/parsing_cocci/get_constants2.mli @@ -22,6 +22,30 @@ *) +(* + * 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 7dbeb26..67c56d2 100644 --- a/parsing_cocci/id_utils.ml +++ b/parsing_cocci/id_utils.ml @@ -22,6 +22,30 @@ *) +(* + * 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 de51c1f..f0f28bf 100644 --- a/parsing_cocci/id_utils.mli +++ b/parsing_cocci/id_utils.mli @@ -22,4 +22,28 @@ *) +(* + * 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 b864abe..72ac2d7 100644 --- a/parsing_cocci/index.ml +++ b/parsing_cocci/index.ml @@ -22,6 +22,30 @@ *) +(* + * 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 150 *) diff --git a/parsing_cocci/index.mli b/parsing_cocci/index.mli index 82ecb1e..4d5db16 100644 --- a/parsing_cocci/index.mli +++ b/parsing_cocci/index.mli @@ -22,6 +22,30 @@ *) +(* + * 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 2bf3cdf..4d303f4 100644 --- a/parsing_cocci/insert_plus.ml +++ b/parsing_cocci/insert_plus.ml @@ -22,6 +22,30 @@ *) +(* + * 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 46acab1..97a1393 100644 --- a/parsing_cocci/insert_plus.mli +++ b/parsing_cocci/insert_plus.mli @@ -22,5 +22,29 @@ *) +(* + * 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 072ccbe..dd21776 100644 --- a/parsing_cocci/iso_compile.ml +++ b/parsing_cocci/iso_compile.ml @@ -22,6 +22,30 @@ *) +(* + * 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 7826ecb..933e0e3 100644 --- a/parsing_cocci/iso_compile.mli +++ b/parsing_cocci/iso_compile.mli @@ -22,5 +22,29 @@ *) +(* + * 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 6a63cda..0c4cabe 100644 --- a/parsing_cocci/iso_pattern.ml +++ b/parsing_cocci/iso_pattern.ml @@ -22,6 +22,30 @@ *) +(* + * 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 964662e..bcbb8fd 100644 --- a/parsing_cocci/iso_pattern.mli +++ b/parsing_cocci/iso_pattern.mli @@ -22,6 +22,30 @@ *) +(* + * 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 b76ec4b..9e25896 100644 --- a/parsing_cocci/lexer_cocci.mll +++ b/parsing_cocci/lexer_cocci.mll @@ -22,6 +22,30 @@ *) +(* + * 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 5426f9c..c0b6c3c 100644 --- a/parsing_cocci/lexer_script.mll +++ b/parsing_cocci/lexer_script.mll @@ -22,6 +22,30 @@ *) +(* + * 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 af5764b..c2cc093 100644 --- a/parsing_cocci/main.ml +++ b/parsing_cocci/main.ml @@ -22,6 +22,30 @@ *) +(* + * 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 71c25f0..f2629a6 100644 --- a/parsing_cocci/merge.ml +++ b/parsing_cocci/merge.ml @@ -22,6 +22,30 @@ *) +(* + * 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 def844e..4b5c433 100644 --- a/parsing_cocci/merge.mli +++ b/parsing_cocci/merge.mli @@ -22,6 +22,30 @@ *) +(* + * 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 798a886..9169433 100644 --- a/parsing_cocci/parse_aux.ml +++ b/parsing_cocci/parse_aux.ml @@ -22,6 +22,30 @@ *) +(* + * 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 e7683c6..30d736d 100644 --- a/parsing_cocci/parse_cocci.ml +++ b/parsing_cocci/parse_cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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) *) diff --git a/parsing_cocci/parse_cocci.mli b/parsing_cocci/parse_cocci.mli index 294f781..cafac81 100644 --- a/parsing_cocci/parse_cocci.mli +++ b/parsing_cocci/parse_cocci.mli @@ -22,6 +22,30 @@ *) +(* + * 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 134a91c..bc1e0ef 100644 --- a/parsing_cocci/parser_cocci.mly +++ b/parsing_cocci/parser_cocci.mly @@ -22,6 +22,30 @@ */ +/* + * 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 09a1fe0..97e4ed3 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 ( -# 57 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (Data.clt) # 8 "parser_cocci_menhir.ml" ) | Tvoid of ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 13 "parser_cocci_menhir.ml" ) | Tunsigned of ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 18 "parser_cocci_menhir.ml" ) | Tunion of ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 23 "parser_cocci_menhir.ml" ) | Ttypedef of ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 28 "parser_cocci_menhir.ml" ) | Tstruct of ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 33 "parser_cocci_menhir.ml" ) | Tstatic of ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 38 "parser_cocci_menhir.ml" ) | Tssize_t of ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 43 "parser_cocci_menhir.ml" ) | Tsize_t of ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 48 "parser_cocci_menhir.ml" ) | Tsigned of ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 53 "parser_cocci_menhir.ml" ) | Tshort of ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 58 "parser_cocci_menhir.ml" ) | Tregister of ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 63 "parser_cocci_menhir.ml" ) | Tptrdiff_t of ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 68 "parser_cocci_menhir.ml" ) | Tlong of ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 73 "parser_cocci_menhir.ml" ) | Tlist | Tint of ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 79 "parser_cocci_menhir.ml" ) | Tinline of ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 84 "parser_cocci_menhir.ml" ) | Tfloat of ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 89 "parser_cocci_menhir.ml" ) | Textern of ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 94 "parser_cocci_menhir.ml" ) | Tenum of ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 99 "parser_cocci_menhir.ml" ) | Tdouble of ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 104 "parser_cocci_menhir.ml" ) | Tconst of ( -# 57 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (Data.clt) # 109 "parser_cocci_menhir.ml" ) | Tchar of ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 114 "parser_cocci_menhir.ml" ) | Tauto of ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 119 "parser_cocci_menhir.ml" ) | Tattr of ( -# 58 "parser_cocci_menhir.mly" +# 82 "parser_cocci_menhir.mly" (string * Data.clt) # 124 "parser_cocci_menhir.ml" ) | TXor of ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 129 "parser_cocci_menhir.ml" ) | TWords | TWhy0 | TWhy of ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 136 "parser_cocci_menhir.ml" ) | TWhile of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 141 "parser_cocci_menhir.ml" ) | TWhenTrue of ( -# 78 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 146 "parser_cocci_menhir.ml" ) | TWhenFalse of ( -# 78 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 151 "parser_cocci_menhir.ml" ) | TWhen of ( -# 78 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 156 "parser_cocci_menhir.ml" ) @@ -159,308 +159,308 @@ type token = | TUnderscore | TTypedef | TTypeId of ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 165 "parser_cocci_menhir.ml" ) | TType | TTildeExclEq of ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 171 "parser_cocci_menhir.ml" ) | TTildeEq of ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 176 "parser_cocci_menhir.ml" ) | TTilde of ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 181 "parser_cocci_menhir.ml" ) | TSwitch of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 186 "parser_cocci_menhir.ml" ) | TSub of ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 191 "parser_cocci_menhir.ml" ) | TString of ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 196 "parser_cocci_menhir.ml" ) | TStrict of ( -# 78 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 201 "parser_cocci_menhir.ml" ) | TStatement | TSizeof of ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 207 "parser_cocci_menhir.ml" ) | TShROp of ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 212 "parser_cocci_menhir.ml" ) | TShLOp of ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 217 "parser_cocci_menhir.ml" ) | TScriptData of ( -# 75 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (string) # 222 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 228 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 234 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Data.clt) # 240 "parser_cocci_menhir.ml" ) | TPtVirg of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 245 "parser_cocci_menhir.ml" ) | TPragma of ( -# 63 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Ast_cocci.added_string * Data.clt) # 250 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( -# 87 "parser_cocci_menhir.mly" +# 111 "parser_cocci_menhir.mly" (string * Data.clt) # 257 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 263 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( -# 83 "parser_cocci_menhir.mly" +# 107 "parser_cocci_menhir.mly" (string) # 268 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 274 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 279 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 285 "parser_cocci_menhir.ml" ) | TOr of ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 290 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 296 "parser_cocci_menhir.ml" ) | TOPar of ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 301 "parser_cocci_menhir.ml" ) | TOInit of ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 306 "parser_cocci_menhir.ml" ) | TOEllipsis of ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 311 "parser_cocci_menhir.ml" ) | TOCro of ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 316 "parser_cocci_menhir.ml" ) | TOBrace of ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 321 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 327 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 334 "parser_cocci_menhir.ml" ) | TMinusFile of ( -# 87 "parser_cocci_menhir.mly" +# 111 "parser_cocci_menhir.mly" (string * Data.clt) # 339 "parser_cocci_menhir.ml" ) | TMinus of ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 344 "parser_cocci_menhir.ml" ) | TMid0 of ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 349 "parser_cocci_menhir.ml" ) | TMetaType of ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 354 "parser_cocci_menhir.ml" ) | TMetaStmList of ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 359 "parser_cocci_menhir.ml" ) | TMetaStm of ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 364 "parser_cocci_menhir.ml" ) | TMetaPos of ( -# 72 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Parse_aux.pos_info) # 369 "parser_cocci_menhir.ml" ) | TMetaParamList of ( -# 70 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 374 "parser_cocci_menhir.ml" ) | TMetaParam of ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 379 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 384 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 389 "parser_cocci_menhir.ml" ) | TMetaIterator of ( -# 66 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 394 "parser_cocci_menhir.ml" ) | TMetaInit of ( -# 69 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Parse_aux.info) # 399 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 404 "parser_cocci_menhir.ml" ) | TMetaId of ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 409 "parser_cocci_menhir.ml" ) | TMetaFunc of ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 414 "parser_cocci_menhir.ml" ) | TMetaField of ( -# 69 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Parse_aux.info) # 419 "parser_cocci_menhir.ml" ) | TMetaExpList of ( -# 70 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 424 "parser_cocci_menhir.ml" ) | TMetaExp of ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 429 "parser_cocci_menhir.ml" ) | TMetaErr of ( -# 67 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 434 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( -# 66 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 439 "parser_cocci_menhir.ml" ) | TMetaDecl of ( -# 69 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Parse_aux.info) # 444 "parser_cocci_menhir.ml" ) | TMetaConst of ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 449 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 455 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( -# 78 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 461 "parser_cocci_menhir.ml" ) | TIteratorId of ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 466 "parser_cocci_menhir.ml" ) @@ -476,60 +476,60 @@ type token = | TIso | TInvalid | TInt of ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 482 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( -# 84 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (string * Data.clt) # 489 "parser_cocci_menhir.ml" ) | TIncludeL of ( -# 84 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (string * Data.clt) # 494 "parser_cocci_menhir.ml" ) | TInc of ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 499 "parser_cocci_menhir.ml" ) | TIf of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 504 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 510 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 516 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 523 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 530 "parser_cocci_menhir.ml" ) | TFloat of ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 535 "parser_cocci_menhir.ml" ) @@ -541,152 +541,152 @@ type token = | TEver | TError | TEqEq of ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 547 "parser_cocci_menhir.ml" ) | TEq of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 552 "parser_cocci_menhir.ml" ) | TElse of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 557 "parser_cocci_menhir.ml" ) | TEllipsis of ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 562 "parser_cocci_menhir.ml" ) | TDotDot of ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 567 "parser_cocci_menhir.ml" ) | TDot of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 572 "parser_cocci_menhir.ml" ) | TDo of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 577 "parser_cocci_menhir.ml" ) | TDmOp of ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 582 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( -# 86 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (Data.clt * token * int * int) # 589 "parser_cocci_menhir.ml" ) | TDefine of ( -# 85 "parser_cocci_menhir.mly" +# 109 "parser_cocci_menhir.mly" (Data.clt * token) # 594 "parser_cocci_menhir.ml" ) | TDefault of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 599 "parser_cocci_menhir.ml" ) | TDeclarerId of ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 604 "parser_cocci_menhir.ml" ) | TDeclarer | TDeclaration | TDec of ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 611 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 617 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 624 "parser_cocci_menhir.ml" ) | TChar of ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 629 "parser_cocci_menhir.ml" ) | TCase of ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 634 "parser_cocci_menhir.ml" ) | TCPar0 of ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 639 "parser_cocci_menhir.ml" ) | TCPar of ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 644 "parser_cocci_menhir.ml" ) | TCEllipsis of ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 649 "parser_cocci_menhir.ml" ) | TCCro of ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 654 "parser_cocci_menhir.ml" ) | TCBrace of ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 659 "parser_cocci_menhir.ml" ) | TBreak of ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 664 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 670 "parser_cocci_menhir.ml" ) | TAssign of ( -# 112 "parser_cocci_menhir.mly" +# 136 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 675 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( -# 78 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (Data.clt) # 682 "parser_cocci_menhir.ml" ) | TAndLog of ( -# 94 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Data.clt) # 687 "parser_cocci_menhir.ml" ) | TAnd of ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) # 692 "parser_cocci_menhir.ml" ) @@ -695,7 +695,7 @@ type token = and _menhir_jeton = token -# 25 "parser_cocci_menhir.mly" +# 49 "parser_cocci_menhir.mly" (* Not clear how to allow function declarations to specify a return type @@ -1635,7 +1635,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1987 "parser_cocci_menhir.mly" +# 2011 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp _1 ) # 1641 "parser_cocci_menhir.ml" in @@ -1656,14 +1656,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 70 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 1662 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1989 "parser_cocci_menhir.mly" +# 2013 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -1694,7 +1694,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1998 "parser_cocci_menhir.mly" +# 2022 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) # 1700 "parser_cocci_menhir.ml" in @@ -1716,7 +1716,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2034 "parser_cocci_menhir.mly" +# 2058 "parser_cocci_menhir.mly" ( Ast.WhenAny ) # 1722 "parser_cocci_menhir.ml" in @@ -1738,7 +1738,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2035 "parser_cocci_menhir.mly" +# 2059 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) # 1744 "parser_cocci_menhir.ml" in @@ -1760,7 +1760,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2036 "parser_cocci_menhir.mly" +# 2060 "parser_cocci_menhir.mly" ( Ast.WhenForall ) # 1766 "parser_cocci_menhir.ml" in @@ -1782,7 +1782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2037 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ( Ast.WhenExists ) # 1788 "parser_cocci_menhir.ml" in @@ -1806,7 +1806,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_ = -# 1328 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( _1 ) # 1812 "parser_cocci_menhir.ml" in @@ -1838,7 +1838,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 1844 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -1846,7 +1846,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_ = -# 1330 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 1852 "parser_cocci_menhir.ml" in @@ -1878,7 +1878,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 1884 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -1886,7 +1886,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_ = -# 1332 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 1892 "parser_cocci_menhir.ml" in @@ -1918,7 +1918,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 1924 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -1926,7 +1926,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_ = -# 1334 "parser_cocci_menhir.mly" +# 1358 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 1932 "parser_cocci_menhir.ml" in @@ -1958,7 +1958,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 1964 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -1966,7 +1966,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_ = -# 1336 "parser_cocci_menhir.mly" +# 1360 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 1972 "parser_cocci_menhir.ml" in @@ -1998,7 +1998,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2004 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2006,7 +2006,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_ = -# 1338 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2012 "parser_cocci_menhir.ml" in @@ -2038,7 +2038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2044 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2046,7 +2046,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_ = -# 1340 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2052 "parser_cocci_menhir.ml" in @@ -2078,7 +2078,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 2084 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2086,7 +2086,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_ = -# 1342 "parser_cocci_menhir.mly" +# 1366 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 2092 "parser_cocci_menhir.ml" in @@ -2118,7 +2118,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 2124 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2126,7 +2126,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_ = -# 1344 "parser_cocci_menhir.mly" +# 1368 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 2132 "parser_cocci_menhir.ml" in @@ -2158,7 +2158,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 2164 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2166,7 +2166,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_ = -# 1346 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 2172 "parser_cocci_menhir.ml" in @@ -2198,7 +2198,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) # 2204 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2206,7 +2206,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_ = -# 1348 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 2212 "parser_cocci_menhir.ml" in @@ -2238,7 +2238,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 2244 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2246,7 +2246,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_ = -# 1350 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 2252 "parser_cocci_menhir.ml" in @@ -2278,7 +2278,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 2284 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2286,7 +2286,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_ = -# 1352 "parser_cocci_menhir.mly" +# 1376 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 2292 "parser_cocci_menhir.ml" in @@ -2318,7 +2318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Data.clt) # 2324 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2326,7 +2326,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_ = -# 1354 "parser_cocci_menhir.mly" +# 1378 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 2332 "parser_cocci_menhir.ml" in @@ -2358,7 +2358,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 2364 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2366,7 +2366,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_ = -# 1356 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 2372 "parser_cocci_menhir.ml" in @@ -2390,7 +2390,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1328 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( _1 ) # 2396 "parser_cocci_menhir.ml" in @@ -2422,7 +2422,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 2428 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2430,7 +2430,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1330 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 2436 "parser_cocci_menhir.ml" in @@ -2462,7 +2462,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2468 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2470,7 +2470,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1332 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2476 "parser_cocci_menhir.ml" in @@ -2502,7 +2502,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 2508 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2510,7 +2510,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1334 "parser_cocci_menhir.mly" +# 1358 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 2516 "parser_cocci_menhir.ml" in @@ -2542,7 +2542,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 2548 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2550,7 +2550,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1336 "parser_cocci_menhir.mly" +# 1360 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 2556 "parser_cocci_menhir.ml" in @@ -2582,7 +2582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2588 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2590,7 +2590,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1338 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2596 "parser_cocci_menhir.ml" in @@ -2622,7 +2622,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 2628 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2630,7 +2630,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1340 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 2636 "parser_cocci_menhir.ml" in @@ -2662,7 +2662,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 2668 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2670,7 +2670,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1342 "parser_cocci_menhir.mly" +# 1366 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 2676 "parser_cocci_menhir.ml" in @@ -2702,7 +2702,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 2708 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2710,7 +2710,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1344 "parser_cocci_menhir.mly" +# 1368 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 2716 "parser_cocci_menhir.ml" in @@ -2742,7 +2742,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 2748 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2750,7 +2750,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1346 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 2756 "parser_cocci_menhir.ml" in @@ -2782,7 +2782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) # 2788 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2790,7 +2790,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1348 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 2796 "parser_cocci_menhir.ml" in @@ -2822,7 +2822,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 2828 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2830,7 +2830,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1350 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 2836 "parser_cocci_menhir.ml" in @@ -2862,7 +2862,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 2868 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2870,7 +2870,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1352 "parser_cocci_menhir.mly" +# 1376 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 2876 "parser_cocci_menhir.ml" in @@ -2902,7 +2902,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Data.clt) # 2908 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2910,7 +2910,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1354 "parser_cocci_menhir.mly" +# 1378 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 2916 "parser_cocci_menhir.ml" in @@ -2942,7 +2942,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 2948 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -2950,7 +2950,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1356 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 2956 "parser_cocci_menhir.ml" in @@ -2974,7 +2974,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_ = -# 1328 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( _1 ) # 2980 "parser_cocci_menhir.ml" in @@ -3006,7 +3006,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 3012 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3014,7 +3014,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_ = -# 1330 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 3020 "parser_cocci_menhir.ml" in @@ -3046,7 +3046,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3052 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3054,7 +3054,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_ = -# 1332 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3060 "parser_cocci_menhir.ml" in @@ -3086,7 +3086,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 3092 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3094,7 +3094,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_ = -# 1334 "parser_cocci_menhir.mly" +# 1358 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 3100 "parser_cocci_menhir.ml" in @@ -3126,7 +3126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 3132 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3134,7 +3134,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_ = -# 1336 "parser_cocci_menhir.mly" +# 1360 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 3140 "parser_cocci_menhir.ml" in @@ -3166,7 +3166,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3172 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3174,7 +3174,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_ = -# 1338 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3180 "parser_cocci_menhir.ml" in @@ -3206,7 +3206,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3212 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3214,7 +3214,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_ = -# 1340 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3220 "parser_cocci_menhir.ml" in @@ -3246,7 +3246,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 3252 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3254,7 +3254,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_ = -# 1342 "parser_cocci_menhir.mly" +# 1366 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 3260 "parser_cocci_menhir.ml" in @@ -3286,7 +3286,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 3292 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3294,7 +3294,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_ = -# 1344 "parser_cocci_menhir.mly" +# 1368 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 3300 "parser_cocci_menhir.ml" in @@ -3326,7 +3326,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 3332 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3334,7 +3334,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_ = -# 1346 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 3340 "parser_cocci_menhir.ml" in @@ -3366,7 +3366,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) # 3372 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3374,7 +3374,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_ = -# 1348 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 3380 "parser_cocci_menhir.ml" in @@ -3406,7 +3406,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 3412 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3414,7 +3414,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_ = -# 1350 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 3420 "parser_cocci_menhir.ml" in @@ -3446,7 +3446,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 3452 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3454,7 +3454,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_ = -# 1352 "parser_cocci_menhir.mly" +# 1376 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 3460 "parser_cocci_menhir.ml" in @@ -3486,7 +3486,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Data.clt) # 3492 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3494,7 +3494,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_ = -# 1354 "parser_cocci_menhir.mly" +# 1378 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 3500 "parser_cocci_menhir.ml" in @@ -3526,7 +3526,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 3532 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3534,7 +3534,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_ = -# 1356 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 3540 "parser_cocci_menhir.ml" in @@ -3558,7 +3558,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1328 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( _1 ) # 3564 "parser_cocci_menhir.ml" in @@ -3590,7 +3590,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 3596 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3598,7 +3598,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1330 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) # 3604 "parser_cocci_menhir.ml" in @@ -3630,7 +3630,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 101 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3636 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3638,7 +3638,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1332 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3644 "parser_cocci_menhir.ml" in @@ -3670,7 +3670,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 3676 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3678,7 +3678,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1334 "parser_cocci_menhir.mly" +# 1358 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) # 3684 "parser_cocci_menhir.ml" in @@ -3710,7 +3710,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 3716 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3718,7 +3718,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1336 "parser_cocci_menhir.mly" +# 1360 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) # 3724 "parser_cocci_menhir.ml" in @@ -3750,7 +3750,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3756 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3758,7 +3758,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1338 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3764 "parser_cocci_menhir.ml" in @@ -3790,7 +3790,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 3796 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3798,7 +3798,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1340 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) # 3804 "parser_cocci_menhir.ml" in @@ -3830,7 +3830,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) # 3836 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3838,7 +3838,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1342 "parser_cocci_menhir.mly" +# 1366 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) # 3844 "parser_cocci_menhir.ml" in @@ -3870,7 +3870,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 3876 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3878,7 +3878,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1344 "parser_cocci_menhir.mly" +# 1368 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) # 3884 "parser_cocci_menhir.ml" in @@ -3910,7 +3910,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 3916 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3918,7 +3918,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1346 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) # 3924 "parser_cocci_menhir.ml" in @@ -3950,7 +3950,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) # 3956 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3958,7 +3958,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1348 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) # 3964 "parser_cocci_menhir.ml" in @@ -3990,7 +3990,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 3996 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -3998,7 +3998,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1350 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) # 4004 "parser_cocci_menhir.ml" in @@ -4030,7 +4030,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 4036 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4038,7 +4038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1352 "parser_cocci_menhir.mly" +# 1376 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) # 4044 "parser_cocci_menhir.ml" in @@ -4070,7 +4070,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Data.clt) # 4076 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4078,7 +4078,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1354 "parser_cocci_menhir.mly" +# 1378 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) # 4084 "parser_cocci_menhir.ml" in @@ -4110,7 +4110,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 4116 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4118,7 +4118,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1356 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) # 4124 "parser_cocci_menhir.ml" in @@ -4140,7 +4140,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 521 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast.UNIQUE ) # 4146 "parser_cocci_menhir.ml" in @@ -4162,7 +4162,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 522 "parser_cocci_menhir.mly" +# 546 "parser_cocci_menhir.mly" ( Ast.OPT ) # 4168 "parser_cocci_menhir.ml" in @@ -4184,7 +4184,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 523 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast.MULTI ) # 4190 "parser_cocci_menhir.ml" in @@ -4201,7 +4201,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 = -# 524 "parser_cocci_menhir.mly" +# 548 "parser_cocci_menhir.mly" ( Ast.NONE ) # 4207 "parser_cocci_menhir.ml" in @@ -4232,20 +4232,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let r : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 4238 "parser_cocci_menhir.ml" ) = Obj.magic r in let i : 'tv_option_eexpr_ = Obj.magic i in let l : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 4244 "parser_cocci_menhir.ml" ) = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_array_dec = -# 1155 "parser_cocci_menhir.mly" +# 1179 "parser_cocci_menhir.mly" ( (l,i,r) ) # 4251 "parser_cocci_menhir.ml" in @@ -4269,7 +4269,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_ = -# 1300 "parser_cocci_menhir.mly" +# 1324 "parser_cocci_menhir.mly" ( _1 ) # 4275 "parser_cocci_menhir.ml" in @@ -4301,7 +4301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 136 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 4307 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4309,7 +4309,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_ = -# 1302 "parser_cocci_menhir.mly" +# 1326 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -4343,7 +4343,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 4349 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4351,7 +4351,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_ = -# 1306 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -4377,7 +4377,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_ = -# 1300 "parser_cocci_menhir.mly" +# 1324 "parser_cocci_menhir.mly" ( _1 ) # 4383 "parser_cocci_menhir.ml" in @@ -4409,7 +4409,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 136 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 4415 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4417,7 +4417,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_ = -# 1302 "parser_cocci_menhir.mly" +# 1326 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -4451,7 +4451,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 4457 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4459,7 +4459,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_ = -# 1306 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -4485,7 +4485,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1300 "parser_cocci_menhir.mly" +# 1324 "parser_cocci_menhir.mly" ( _1 ) # 4491 "parser_cocci_menhir.ml" in @@ -4517,7 +4517,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 136 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 4523 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4525,7 +4525,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1302 "parser_cocci_menhir.mly" +# 1326 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -4559,7 +4559,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 4565 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4567,7 +4567,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1306 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -4593,7 +4593,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1311 "parser_cocci_menhir.mly" +# 1335 "parser_cocci_menhir.mly" ( _1 ) # 4599 "parser_cocci_menhir.ml" in @@ -4625,7 +4625,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 136 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) # 4631 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4633,7 +4633,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_bis = -# 1313 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) @@ -4667,7 +4667,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 4673 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -4675,7 +4675,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_bis = -# 1317 "parser_cocci_menhir.mly" +# 1341 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) @@ -4701,7 +4701,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_ = -# 1297 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( _1 ) # 4707 "parser_cocci_menhir.ml" in @@ -4725,7 +4725,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_ = -# 1297 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( _1 ) # 4731 "parser_cocci_menhir.ml" in @@ -4749,7 +4749,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1297 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( _1 ) # 4755 "parser_cocci_menhir.ml" in @@ -4781,19 +4781,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_fun_start = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 4787 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 4792 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_case_line = -# 1017 "parser_cocci_menhir.mly" +# 1041 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) # 4800 "parser_cocci_menhir.ml" @@ -4831,20 +4831,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _4 : 'tv_fun_start = Obj.magic _4 in let _3 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 4837 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 4843 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_case_line = -# 1020 "parser_cocci_menhir.mly" +# 1044 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) # 4850 "parser_cocci_menhir.ml" in @@ -4868,7 +4868,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_ = -# 1359 "parser_cocci_menhir.mly" +# 1383 "parser_cocci_menhir.mly" ( _1 ) # 4874 "parser_cocci_menhir.ml" in @@ -4905,20 +4905,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 4911 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 4917 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 4925 "parser_cocci_menhir.ml" @@ -4943,7 +4943,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 1383 "parser_cocci_menhir.mly" ( _1 ) # 4949 "parser_cocci_menhir.ml" in @@ -4980,20 +4980,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 4986 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 4992 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 5000 "parser_cocci_menhir.ml" @@ -5018,7 +5018,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_ = -# 1359 "parser_cocci_menhir.mly" +# 1383 "parser_cocci_menhir.mly" ( _1 ) # 5024 "parser_cocci_menhir.ml" in @@ -5055,20 +5055,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 5061 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5067 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 5075 "parser_cocci_menhir.ml" @@ -5093,7 +5093,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 1383 "parser_cocci_menhir.mly" ( _1 ) # 5099 "parser_cocci_menhir.ml" in @@ -5130,20 +5130,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 5136 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5142 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) # 5150 "parser_cocci_menhir.ml" @@ -5172,7 +5172,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_choose_iso = -# 243 "parser_cocci_menhir.mly" +# 267 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) # 5178 "parser_cocci_menhir.ml" in @@ -5196,7 +5196,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5202 "parser_cocci_menhir.ml" in @@ -5220,7 +5220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5226 "parser_cocci_menhir.ml" in @@ -5244,7 +5244,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5250 "parser_cocci_menhir.ml" in @@ -5268,7 +5268,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_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5274 "parser_cocci_menhir.ml" in @@ -5292,7 +5292,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5298 "parser_cocci_menhir.ml" in @@ -5316,7 +5316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5322 "parser_cocci_menhir.ml" in @@ -5340,7 +5340,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_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "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_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "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_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5394 "parser_cocci_menhir.ml" in @@ -5412,7 +5412,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__ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5418 "parser_cocci_menhir.ml" in @@ -5436,7 +5436,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__ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5442 "parser_cocci_menhir.ml" in @@ -5460,7 +5460,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_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5466 "parser_cocci_menhir.ml" in @@ -5484,7 +5484,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__ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5490 "parser_cocci_menhir.ml" in @@ -5508,7 +5508,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2036 "parser_cocci_menhir.mly" ( _1 ) # 5514 "parser_cocci_menhir.ml" in @@ -5532,7 +5532,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_ = -# 1322 "parser_cocci_menhir.mly" +# 1346 "parser_cocci_menhir.mly" ( _1 ) # 5538 "parser_cocci_menhir.ml" in @@ -5574,13 +5574,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in let dd : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5580 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5586 "parser_cocci_menhir.ml" ) = Obj.magic w in @@ -5588,7 +5588,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_ = -# 1324 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) # 5595 "parser_cocci_menhir.ml" @@ -5613,7 +5613,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_ = -# 1322 "parser_cocci_menhir.mly" +# 1346 "parser_cocci_menhir.mly" ( _1 ) # 5619 "parser_cocci_menhir.ml" in @@ -5655,13 +5655,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in let dd : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5661 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5667 "parser_cocci_menhir.ml" ) = Obj.magic w in @@ -5669,7 +5669,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_ = -# 1324 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) # 5676 "parser_cocci_menhir.ml" @@ -5694,7 +5694,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1322 "parser_cocci_menhir.mly" +# 1346 "parser_cocci_menhir.mly" ( _1 ) # 5700 "parser_cocci_menhir.ml" in @@ -5736,13 +5736,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in let dd : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5742 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 5748 "parser_cocci_menhir.ml" ) = Obj.magic w in @@ -5750,7 +5750,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1324 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) # 5757 "parser_cocci_menhir.ml" @@ -5772,14 +5772,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (Data.clt) # 5778 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 926 "parser_cocci_menhir.mly" +# 950 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) # 5785 "parser_cocci_menhir.ml" in @@ -5800,14 +5800,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (Data.clt) # 5806 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 927 "parser_cocci_menhir.mly" +# 951 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) # 5813 "parser_cocci_menhir.ml" in @@ -5831,7 +5831,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 5837 "parser_cocci_menhir.ml" in @@ -5857,7 +5857,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 5863 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5865,7 +5865,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1790 "parser_cocci_menhir.mly" +# 1814 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 5872 "parser_cocci_menhir.ml" @@ -5898,7 +5898,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 5904 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5906,7 +5906,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1793 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -5936,7 +5936,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" ( _2 ) # 5942 "parser_cocci_menhir.ml" in @@ -5960,7 +5960,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 5966 "parser_cocci_menhir.ml" in @@ -5986,7 +5986,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 5992 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -5994,7 +5994,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1790 "parser_cocci_menhir.mly" +# 1814 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6001 "parser_cocci_menhir.ml" @@ -6027,7 +6027,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6033 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6035,7 +6035,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1793 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6065,7 +6065,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" ( _2 ) # 6071 "parser_cocci_menhir.ml" in @@ -6089,7 +6089,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__ = -# 1788 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6095 "parser_cocci_menhir.ml" in @@ -6115,7 +6115,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6121 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6123,7 +6123,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__ = -# 1790 "parser_cocci_menhir.mly" +# 1814 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6130 "parser_cocci_menhir.ml" @@ -6156,7 +6156,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6162 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6164,7 +6164,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__ = -# 1793 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6194,7 +6194,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__ = -# 1796 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" ( _2 ) # 6200 "parser_cocci_menhir.ml" in @@ -6218,7 +6218,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__ = -# 1788 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6224 "parser_cocci_menhir.ml" in @@ -6244,7 +6244,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6250 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6252,7 +6252,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__ = -# 1790 "parser_cocci_menhir.mly" +# 1814 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6259 "parser_cocci_menhir.ml" @@ -6285,7 +6285,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6291 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6293,7 +6293,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__ = -# 1793 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6323,7 +6323,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__ = -# 1796 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" ( _2 ) # 6329 "parser_cocci_menhir.ml" in @@ -6347,7 +6347,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_ = -# 1788 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6353 "parser_cocci_menhir.ml" in @@ -6373,7 +6373,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6379 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6381,7 +6381,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_ = -# 1790 "parser_cocci_menhir.mly" +# 1814 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6388 "parser_cocci_menhir.ml" @@ -6414,7 +6414,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6420 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6422,7 +6422,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_ = -# 1793 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6452,7 +6452,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_ = -# 1796 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" ( _2 ) # 6458 "parser_cocci_menhir.ml" in @@ -6476,7 +6476,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_ = -# 1788 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 6482 "parser_cocci_menhir.ml" in @@ -6502,7 +6502,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6508 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6510,7 +6510,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_ = -# 1790 "parser_cocci_menhir.mly" +# 1814 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 6517 "parser_cocci_menhir.ml" @@ -6543,7 +6543,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 6549 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -6551,7 +6551,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_ = -# 1793 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -6581,7 +6581,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_ = -# 1796 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" ( _2 ) # 6587 "parser_cocci_menhir.ml" in @@ -6598,7 +6598,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 = -# 660 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( [] ) # 6604 "parser_cocci_menhir.ml" in @@ -6628,7 +6628,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 661 "parser_cocci_menhir.mly" +# 685 "parser_cocci_menhir.mly" ( _1@_2 ) # 6634 "parser_cocci_menhir.ml" in @@ -6652,7 +6652,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 662 "parser_cocci_menhir.mly" +# 686 "parser_cocci_menhir.mly" ( _1 ) # 6658 "parser_cocci_menhir.ml" in @@ -6684,12 +6684,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 6690 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 6695 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -6701,13 +6701,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 6707 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 6713 "parser_cocci_menhir.ml" @@ -6720,7 +6720,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 6726 "parser_cocci_menhir.ml" in @@ -6752,12 +6752,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 6758 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 6763 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -6769,13 +6769,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 6775 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 6781 "parser_cocci_menhir.ml" @@ -6788,7 +6788,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 6794 "parser_cocci_menhir.ml" in @@ -6820,12 +6820,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 6826 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 6831 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -6837,13 +6837,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 6843 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 6849 "parser_cocci_menhir.ml" @@ -6856,7 +6856,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 6862 "parser_cocci_menhir.ml" in @@ -6888,12 +6888,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 6894 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 6899 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -6905,14 +6905,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 6912 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 6918 "parser_cocci_menhir.ml" @@ -6925,7 +6925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 6931 "parser_cocci_menhir.ml" in @@ -6966,17 +6966,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 6972 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 6977 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 6982 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -6990,7 +6990,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -7001,7 +7001,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7007 "parser_cocci_menhir.ml" @@ -7014,7 +7014,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7020 "parser_cocci_menhir.ml" in @@ -7046,12 +7046,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7052 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7057 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7063,13 +7063,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 7069 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7075 "parser_cocci_menhir.ml" @@ -7082,7 +7082,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7088 "parser_cocci_menhir.ml" in @@ -7119,17 +7119,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7125 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7130 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7135 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7143,7 +7143,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -7152,7 +7152,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 7158 "parser_cocci_menhir.ml" @@ -7165,7 +7165,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7171 "parser_cocci_menhir.ml" in @@ -7197,12 +7197,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7203 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7208 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7214,13 +7214,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 7220 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7226 "parser_cocci_menhir.ml" @@ -7233,7 +7233,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7239 "parser_cocci_menhir.ml" in @@ -7265,12 +7265,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7271 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7276 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7282,13 +7282,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 7288 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7294 "parser_cocci_menhir.ml" @@ -7301,7 +7301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7307 "parser_cocci_menhir.ml" in @@ -7333,12 +7333,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7339 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7344 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7350,13 +7350,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 7356 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7362 "parser_cocci_menhir.ml" @@ -7369,7 +7369,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7375 "parser_cocci_menhir.ml" in @@ -7401,12 +7401,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 7407 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7412 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7418,14 +7418,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 7425 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7431 "parser_cocci_menhir.ml" @@ -7438,7 +7438,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7444 "parser_cocci_menhir.ml" in @@ -7479,17 +7479,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 7485 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 7490 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7495 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -7503,7 +7503,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -7514,7 +7514,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7520 "parser_cocci_menhir.ml" @@ -7527,7 +7527,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7533 "parser_cocci_menhir.ml" in @@ -7559,12 +7559,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7565 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7570 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7576,13 +7576,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 7582 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7588 "parser_cocci_menhir.ml" @@ -7595,7 +7595,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7601 "parser_cocci_menhir.ml" in @@ -7632,17 +7632,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7638 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7643 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 7648 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -7656,7 +7656,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -7665,7 +7665,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 7671 "parser_cocci_menhir.ml" @@ -7678,7 +7678,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7684 "parser_cocci_menhir.ml" in @@ -7705,7 +7705,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7711 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -7716,13 +7716,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 7722 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 7728 "parser_cocci_menhir.ml" @@ -7735,7 +7735,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7741 "parser_cocci_menhir.ml" in @@ -7762,7 +7762,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7768 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -7773,13 +7773,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 7779 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 7785 "parser_cocci_menhir.ml" @@ -7792,7 +7792,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7798 "parser_cocci_menhir.ml" in @@ -7819,7 +7819,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 7825 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -7830,13 +7830,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 7836 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 7842 "parser_cocci_menhir.ml" @@ -7849,7 +7849,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7855 "parser_cocci_menhir.ml" in @@ -7876,7 +7876,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 7882 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -7887,14 +7887,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 7894 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 7900 "parser_cocci_menhir.ml" @@ -7907,7 +7907,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7913 "parser_cocci_menhir.ml" in @@ -7943,12 +7943,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 7949 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 7954 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -7961,7 +7961,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -7972,7 +7972,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 7978 "parser_cocci_menhir.ml" @@ -7985,7 +7985,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 7991 "parser_cocci_menhir.ml" in @@ -8012,7 +8012,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 8018 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8023,13 +8023,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 8029 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 8035 "parser_cocci_menhir.ml" @@ -8042,7 +8042,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8048 "parser_cocci_menhir.ml" in @@ -8074,12 +8074,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 8080 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 8085 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -8092,7 +8092,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -8101,7 +8101,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 8107 "parser_cocci_menhir.ml" @@ -8114,7 +8114,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8120 "parser_cocci_menhir.ml" in @@ -8141,7 +8141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 8147 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8152,13 +8152,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 8158 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8164 "parser_cocci_menhir.ml" @@ -8171,7 +8171,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8177 "parser_cocci_menhir.ml" in @@ -8198,7 +8198,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 8204 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8209,13 +8209,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 8215 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8221 "parser_cocci_menhir.ml" @@ -8228,7 +8228,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8234 "parser_cocci_menhir.ml" in @@ -8255,7 +8255,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 8261 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8266,13 +8266,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 8272 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8278 "parser_cocci_menhir.ml" @@ -8285,7 +8285,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8291 "parser_cocci_menhir.ml" in @@ -8312,7 +8312,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 8318 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8323,13 +8323,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 8329 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8335 "parser_cocci_menhir.ml" @@ -8342,7 +8342,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8348 "parser_cocci_menhir.ml" in @@ -8369,7 +8369,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 8375 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8380,13 +8380,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 8386 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8392 "parser_cocci_menhir.ml" @@ -8399,7 +8399,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8405 "parser_cocci_menhir.ml" in @@ -8426,7 +8426,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 8432 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -8437,13 +8437,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 8443 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8449 "parser_cocci_menhir.ml" @@ -8456,7 +8456,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8462 "parser_cocci_menhir.ml" in @@ -8489,7 +8489,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 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 8495 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -8502,13 +8502,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 593 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 8508 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8514 "parser_cocci_menhir.ml" @@ -8521,7 +8521,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8527 "parser_cocci_menhir.ml" in @@ -8563,18 +8563,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8569 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8575 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 8580 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -8598,7 +8598,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -8607,7 +8607,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8613 "parser_cocci_menhir.ml" @@ -8620,7 +8620,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8626 "parser_cocci_menhir.ml" in @@ -8667,19 +8667,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8673 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8679 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 8685 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -8706,7 +8706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -8715,7 +8715,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8721 "parser_cocci_menhir.ml" @@ -8728,7 +8728,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8734 "parser_cocci_menhir.ml" in @@ -8770,13 +8770,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 600 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 8776 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8782 "parser_cocci_menhir.ml" @@ -8789,7 +8789,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8795 "parser_cocci_menhir.ml" in @@ -8831,13 +8831,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8837 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8843 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -8862,7 +8862,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -8872,7 +8872,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8878 "parser_cocci_menhir.ml" @@ -8885,7 +8885,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8891 "parser_cocci_menhir.ml" in @@ -8932,13 +8932,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8938 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 8944 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -8967,7 +8967,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -8977,7 +8977,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 8983 "parser_cocci_menhir.ml" @@ -8990,7 +8990,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 8996 "parser_cocci_menhir.ml" in @@ -9032,18 +9032,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 9038 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 9044 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 9049 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -9060,7 +9060,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 609 "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)) ) @@ -9068,7 +9068,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 9074 "parser_cocci_menhir.ml" @@ -9081,7 +9081,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9087 "parser_cocci_menhir.ml" in @@ -9108,7 +9108,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 9114 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -9119,13 +9119,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 613 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 9125 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 9131 "parser_cocci_menhir.ml" @@ -9138,7 +9138,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9144 "parser_cocci_menhir.ml" in @@ -9175,12 +9175,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9181 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9186 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9193,13 +9193,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 9199 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9205 "parser_cocci_menhir.ml" @@ -9213,7 +9213,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9219 "parser_cocci_menhir.ml" in @@ -9250,12 +9250,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9256 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9261 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9268,13 +9268,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 9274 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9280 "parser_cocci_menhir.ml" @@ -9288,7 +9288,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9294 "parser_cocci_menhir.ml" in @@ -9325,12 +9325,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9331 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9336 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9343,13 +9343,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 9349 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9355 "parser_cocci_menhir.ml" @@ -9363,7 +9363,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9369 "parser_cocci_menhir.ml" in @@ -9400,12 +9400,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 9406 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9411 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9418,14 +9418,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 9425 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9431 "parser_cocci_menhir.ml" @@ -9439,7 +9439,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9445 "parser_cocci_menhir.ml" in @@ -9485,17 +9485,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 9491 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 9496 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9501 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -9510,7 +9510,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -9521,7 +9521,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9527 "parser_cocci_menhir.ml" @@ -9535,7 +9535,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9541 "parser_cocci_menhir.ml" in @@ -9572,12 +9572,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9578 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9583 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9590,13 +9590,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 9596 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9602 "parser_cocci_menhir.ml" @@ -9610,7 +9610,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9616 "parser_cocci_menhir.ml" in @@ -9652,17 +9652,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9658 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9663 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9668 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9677,7 +9677,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -9686,7 +9686,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 9692 "parser_cocci_menhir.ml" @@ -9700,7 +9700,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9706 "parser_cocci_menhir.ml" in @@ -9737,12 +9737,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9743 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9748 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9755,13 +9755,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 9761 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 9767 "parser_cocci_menhir.ml" @@ -9775,7 +9775,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9781 "parser_cocci_menhir.ml" in @@ -9812,12 +9812,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9818 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9823 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9830,13 +9830,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 9836 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 9842 "parser_cocci_menhir.ml" @@ -9850,7 +9850,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9856 "parser_cocci_menhir.ml" in @@ -9887,12 +9887,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 9893 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9898 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9905,13 +9905,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 9911 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 9917 "parser_cocci_menhir.ml" @@ -9925,7 +9925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 9931 "parser_cocci_menhir.ml" in @@ -9962,12 +9962,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 9968 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 9973 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -9980,14 +9980,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 9987 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 9993 "parser_cocci_menhir.ml" @@ -10001,7 +10001,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10007 "parser_cocci_menhir.ml" in @@ -10047,17 +10047,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 10053 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 10058 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 10063 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -10072,7 +10072,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -10083,7 +10083,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10089 "parser_cocci_menhir.ml" @@ -10097,7 +10097,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10103 "parser_cocci_menhir.ml" in @@ -10134,12 +10134,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10140 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 10145 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10152,13 +10152,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 10158 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10164 "parser_cocci_menhir.ml" @@ -10172,7 +10172,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10178 "parser_cocci_menhir.ml" in @@ -10214,17 +10214,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10220 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10225 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 10230 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -10239,7 +10239,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -10248,7 +10248,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 10254 "parser_cocci_menhir.ml" @@ -10262,7 +10262,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10268 "parser_cocci_menhir.ml" in @@ -10294,7 +10294,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10300 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10306,13 +10306,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 10312 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 10318 "parser_cocci_menhir.ml" @@ -10326,7 +10326,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10332 "parser_cocci_menhir.ml" in @@ -10358,7 +10358,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10364 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10370,13 +10370,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 10376 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 10382 "parser_cocci_menhir.ml" @@ -10390,7 +10390,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10396 "parser_cocci_menhir.ml" in @@ -10422,7 +10422,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10428 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10434,13 +10434,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 10440 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 10446 "parser_cocci_menhir.ml" @@ -10454,7 +10454,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10460 "parser_cocci_menhir.ml" in @@ -10486,7 +10486,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 10492 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -10498,14 +10498,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 10505 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 10511 "parser_cocci_menhir.ml" @@ -10519,7 +10519,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10525 "parser_cocci_menhir.ml" in @@ -10560,12 +10560,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 10566 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 10571 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -10579,7 +10579,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -10590,7 +10590,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 10596 "parser_cocci_menhir.ml" @@ -10604,7 +10604,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10610 "parser_cocci_menhir.ml" in @@ -10636,7 +10636,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10642 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10648,13 +10648,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 10654 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 10660 "parser_cocci_menhir.ml" @@ -10668,7 +10668,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10674 "parser_cocci_menhir.ml" in @@ -10705,12 +10705,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10711 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10716 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -10724,7 +10724,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -10733,7 +10733,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 10739 "parser_cocci_menhir.ml" @@ -10747,7 +10747,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10753 "parser_cocci_menhir.ml" in @@ -10779,7 +10779,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 10785 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10791,13 +10791,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 10797 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 10803 "parser_cocci_menhir.ml" @@ -10811,7 +10811,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10817 "parser_cocci_menhir.ml" in @@ -10843,7 +10843,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10849 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10855,13 +10855,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 10861 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 10867 "parser_cocci_menhir.ml" @@ -10875,7 +10875,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10881 "parser_cocci_menhir.ml" in @@ -10907,7 +10907,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 10913 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10919,13 +10919,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 10925 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 10931 "parser_cocci_menhir.ml" @@ -10939,7 +10939,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 10945 "parser_cocci_menhir.ml" in @@ -10971,7 +10971,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 10977 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -10983,13 +10983,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 10989 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 10995 "parser_cocci_menhir.ml" @@ -11003,7 +11003,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11009 "parser_cocci_menhir.ml" in @@ -11035,7 +11035,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 11041 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11047,13 +11047,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 11053 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11059 "parser_cocci_menhir.ml" @@ -11067,7 +11067,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11073 "parser_cocci_menhir.ml" in @@ -11099,7 +11099,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 11105 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -11111,13 +11111,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 11117 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11123 "parser_cocci_menhir.ml" @@ -11131,7 +11131,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11137 "parser_cocci_menhir.ml" in @@ -11169,7 +11169,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 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 11175 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -11183,13 +11183,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 593 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 11189 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11195 "parser_cocci_menhir.ml" @@ -11203,7 +11203,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11209 "parser_cocci_menhir.ml" in @@ -11250,18 +11250,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11256 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11262 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 11267 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -11286,7 +11286,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -11295,7 +11295,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11301 "parser_cocci_menhir.ml" @@ -11309,7 +11309,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11315 "parser_cocci_menhir.ml" in @@ -11361,19 +11361,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11367 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11373 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 11379 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -11401,7 +11401,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -11410,7 +11410,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11416 "parser_cocci_menhir.ml" @@ -11424,7 +11424,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11430 "parser_cocci_menhir.ml" in @@ -11472,13 +11472,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 600 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 11478 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11484 "parser_cocci_menhir.ml" @@ -11492,7 +11492,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11498 "parser_cocci_menhir.ml" in @@ -11539,13 +11539,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11545 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11551 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -11571,7 +11571,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -11581,7 +11581,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11587 "parser_cocci_menhir.ml" @@ -11595,7 +11595,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11601 "parser_cocci_menhir.ml" in @@ -11647,13 +11647,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11653 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11659 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -11683,7 +11683,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -11693,7 +11693,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11699 "parser_cocci_menhir.ml" @@ -11707,7 +11707,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11713 "parser_cocci_menhir.ml" in @@ -11754,18 +11754,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11760 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 11766 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 11771 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -11783,7 +11783,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 609 "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)) ) @@ -11791,7 +11791,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11797 "parser_cocci_menhir.ml" @@ -11805,7 +11805,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11811 "parser_cocci_menhir.ml" in @@ -11837,7 +11837,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 11843 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -11849,13 +11849,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 613 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 11855 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 11861 "parser_cocci_menhir.ml" @@ -11869,7 +11869,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 602 "parser_cocci_menhir.mly" +# 626 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 11875 "parser_cocci_menhir.ml" in @@ -11890,14 +11890,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let r : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 11896 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 604 "parser_cocci_menhir.mly" +# 628 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) # 11903 "parser_cocci_menhir.ml" in @@ -11918,14 +11918,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let r : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 11924 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 606 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) # 11931 "parser_cocci_menhir.ml" in @@ -11956,20 +11956,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 11962 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 11968 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_ctype = -# 608 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) @@ -12001,7 +12001,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_d_ident = -# 1146 "parser_cocci_menhir.mly" +# 1170 "parser_cocci_menhir.mly" ( (_1, function t -> List.fold_right @@ -12038,7 +12038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_i_ in let _v : 'tv_decl = -# 900 "parser_cocci_menhir.mly" +# 924 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Param(t, Some i)) ) # 12044 "parser_cocci_menhir.ml" in @@ -12062,7 +12062,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_decl = -# 901 "parser_cocci_menhir.mly" +# 925 "parser_cocci_menhir.mly" ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) # 12068 "parser_cocci_menhir.ml" in @@ -12118,29 +12118,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 12124 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 12130 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 12135 "parser_cocci_menhir.ml" ) = Obj.magic rp in let i : 'tv_ident = Obj.magic i in let s : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 12141 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 12146 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -12148,7 +12148,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_decl = -# 904 "parser_cocci_menhir.mly" +# 928 "parser_cocci_menhir.mly" ( let fnptr = Ast0.wrap (Ast0.FunctionPointer @@ -12174,14 +12174,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 12180 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 911 "parser_cocci_menhir.mly" +# 935 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) # 12188 "parser_cocci_menhir.ml" @@ -12203,14 +12203,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 12209 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1713 "parser_cocci_menhir.mly" +# 1737 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 12216 "parser_cocci_menhir.ml" in @@ -12231,14 +12231,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 12237 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1715 "parser_cocci_menhir.mly" +# 1739 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 12245 "parser_cocci_menhir.ml" @@ -12263,7 +12263,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_decl_ = -# 1736 "parser_cocci_menhir.mly" +# 1760 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -12291,7 +12291,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_ = -# 1736 "parser_cocci_menhir.mly" +# 1760 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -12316,14 +12316,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 12322 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1204 "parser_cocci_menhir.mly" +# 1228 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) # 12330 "parser_cocci_menhir.ml" @@ -12348,7 +12348,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1207 "parser_cocci_menhir.mly" +# 1231 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap @@ -12376,7 +12376,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1212 "parser_cocci_menhir.mly" +# 1236 "parser_cocci_menhir.mly" ( [_1] ) # 12382 "parser_cocci_menhir.ml" in @@ -12407,20 +12407,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 12413 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 12419 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1221 "parser_cocci_menhir.mly" +# 1245 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -12449,14 +12449,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 12455 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1234 "parser_cocci_menhir.mly" +# 1258 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) # 12463 "parser_cocci_menhir.ml" @@ -12481,7 +12481,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1237 "parser_cocci_menhir.mly" +# 1261 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap @@ -12509,7 +12509,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1242 "parser_cocci_menhir.mly" +# 1266 "parser_cocci_menhir.mly" ( [_1] ) # 12515 "parser_cocci_menhir.ml" in @@ -12540,20 +12540,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 12546 "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 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 12552 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1251 "parser_cocci_menhir.mly" +# 1275 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -12586,7 +12586,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12592 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -12594,7 +12594,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1032 "parser_cocci_menhir.mly" +# 1056 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) # 12600 "parser_cocci_menhir.ml" in @@ -12615,14 +12615,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Parse_aux.info) # 12621 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_var = -# 1033 "parser_cocci_menhir.mly" +# 1057 "parser_cocci_menhir.mly" ( [P.meta_decl _1] ) # 12628 "parser_cocci_menhir.ml" in @@ -12653,7 +12653,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12659 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -12669,7 +12669,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1035 "parser_cocci_menhir.mly" +# 1059 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) @@ -12708,7 +12708,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12714 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -12726,7 +12726,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1035 "parser_cocci_menhir.mly" +# 1059 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) @@ -12753,7 +12753,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 1039 "parser_cocci_menhir.mly" +# 1063 "parser_cocci_menhir.mly" ( [f] ) # 12759 "parser_cocci_menhir.ml" in @@ -12794,13 +12794,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12800 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12806 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -12816,7 +12816,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1041 "parser_cocci_menhir.mly" +# 1065 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) # 12823 "parser_cocci_menhir.ml" @@ -12863,13 +12863,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12869 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12875 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -12887,7 +12887,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1041 "parser_cocci_menhir.mly" +# 1065 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) # 12894 "parser_cocci_menhir.ml" @@ -12919,7 +12919,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12925 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -12942,7 +12942,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1046 "parser_cocci_menhir.mly" +# 1070 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -12983,7 +12983,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 12989 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13008,7 +13008,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1046 "parser_cocci_menhir.mly" +# 1070 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -13049,7 +13049,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13055 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13074,7 +13074,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1046 "parser_cocci_menhir.mly" +# 1070 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -13120,7 +13120,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13126 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -13147,7 +13147,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1046 "parser_cocci_menhir.mly" +# 1070 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = @@ -13193,13 +13193,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13199 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13205 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13222,7 +13222,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1054 "parser_cocci_menhir.mly" +# 1078 "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 @@ -13272,13 +13272,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13278 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13284 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13303,7 +13303,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1054 "parser_cocci_menhir.mly" +# 1078 "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 @@ -13353,13 +13353,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13359 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13365 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13384,7 +13384,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1054 "parser_cocci_menhir.mly" +# 1078 "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 @@ -13439,13 +13439,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13445 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13451 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -13472,7 +13472,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1054 "parser_cocci_menhir.mly" +# 1078 "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 @@ -13537,34 +13537,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13543 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13548 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13554 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13559 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 13565 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13570 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -13579,7 +13579,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1064 "parser_cocci_menhir.mly" +# 1088 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -13651,34 +13651,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13657 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13662 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13668 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13673 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 13679 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13684 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -13695,7 +13695,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1064 "parser_cocci_menhir.mly" +# 1088 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -13742,18 +13742,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13748 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13753 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13759 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -13761,7 +13761,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_decl_var = -# 1072 "parser_cocci_menhir.mly" +# 1096 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) # 13768 "parser_cocci_menhir.ml" @@ -13833,40 +13833,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13839 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13845 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13850 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13856 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13861 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 13867 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13872 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -13881,7 +13881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1078 "parser_cocci_menhir.mly" +# 1102 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -13963,40 +13963,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13969 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 13975 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13980 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 13986 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 13991 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 13997 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 14002 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -14013,7 +14013,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1078 "parser_cocci_menhir.mly" +# 1102 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -14055,21 +14055,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 14061 "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 : ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 14068 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1086 "parser_cocci_menhir.mly" +# 1110 "parser_cocci_menhir.mly" ( let s = P.clt2mcode "typedef" s in List.map (function id -> @@ -14097,7 +14097,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_option = -# 823 "parser_cocci_menhir.mly" +# 847 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -14122,14 +14122,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 109 "parser_cocci_menhir.mly" (Data.clt * token) # 14128 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 779 "parser_cocci_menhir.mly" +# 803 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in function body -> Ast0.wrap @@ -14175,20 +14175,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 14181 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (Data.clt * token * int * int) # 14187 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 796 "parser_cocci_menhir.mly" +# 820 "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 @@ -14231,7 +14231,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dep = -# 231 "parser_cocci_menhir.mly" +# 255 "parser_cocci_menhir.mly" ( _1 ) # 14237 "parser_cocci_menhir.ml" in @@ -14265,7 +14265,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 232 "parser_cocci_menhir.mly" +# 256 "parser_cocci_menhir.mly" ( Ast.AndDep(_1, _3) ) # 14271 "parser_cocci_menhir.ml" in @@ -14299,7 +14299,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 233 "parser_cocci_menhir.mly" +# 257 "parser_cocci_menhir.mly" ( Ast.OrDep (_1, _3) ) # 14305 "parser_cocci_menhir.ml" in @@ -14316,7 +14316,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 = -# 227 "parser_cocci_menhir.mly" +# 251 "parser_cocci_menhir.mly" ( Ast.NoDep ) # 14322 "parser_cocci_menhir.ml" in @@ -14348,7 +14348,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_parents_ in let _v : 'tv_depends = -# 228 "parser_cocci_menhir.mly" +# 252 "parser_cocci_menhir.mly" ( parents ) # 14354 "parser_cocci_menhir.ml" in @@ -14375,14 +14375,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 14381 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1190 "parser_cocci_menhir.mly" +# 1214 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) # 14388 "parser_cocci_menhir.ml" in @@ -14413,20 +14413,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 14419 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 14425 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1192 "parser_cocci_menhir.mly" +# 1216 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) # 14432 "parser_cocci_menhir.ml" in @@ -14467,26 +14467,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 14473 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14479 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 14485 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1194 "parser_cocci_menhir.mly" +# 1218 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) # 14493 "parser_cocci_menhir.ml" @@ -14511,7 +14511,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1271 "parser_cocci_menhir.mly" +# 1295 "parser_cocci_menhir.mly" ( _1 ) # 14517 "parser_cocci_menhir.ml" in @@ -14539,7 +14539,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_disable = -# 246 "parser_cocci_menhir.mly" +# 270 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) # 14545 "parser_cocci_menhir.ml" in @@ -14560,14 +14560,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14566 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1280 "parser_cocci_menhir.mly" +# 1304 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) # 14573 "parser_cocci_menhir.ml" in @@ -14591,7 +14591,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1281 "parser_cocci_menhir.mly" +# 1305 "parser_cocci_menhir.mly" ( _1 ) # 14597 "parser_cocci_menhir.ml" in @@ -14615,7 +14615,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dparam = -# 819 "parser_cocci_menhir.mly" +# 843 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DParam _1) ) # 14621 "parser_cocci_menhir.ml" in @@ -14636,14 +14636,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14642 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2046 "parser_cocci_menhir.mly" ( (d,None) ) # 14649 "parser_cocci_menhir.ml" in @@ -14682,14 +14682,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_eexpr = Obj.magic w in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14688 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2047 "parser_cocci_menhir.mly" ( (d,Some w) ) # 14695 "parser_cocci_menhir.ml" in @@ -14710,14 +14710,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14716 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2046 "parser_cocci_menhir.mly" ( (d,None) ) # 14723 "parser_cocci_menhir.ml" in @@ -14756,14 +14756,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_enum_decl_one = Obj.magic w in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14762 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2047 "parser_cocci_menhir.mly" ( (d,Some w) ) # 14769 "parser_cocci_menhir.ml" in @@ -14784,14 +14784,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14790 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2046 "parser_cocci_menhir.mly" ( (d,None) ) # 14797 "parser_cocci_menhir.ml" in @@ -14830,14 +14830,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_initialize = Obj.magic w in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14836 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2047 "parser_cocci_menhir.mly" ( (d,Some w) ) # 14843 "parser_cocci_menhir.ml" in @@ -14858,14 +14858,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14864 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2046 "parser_cocci_menhir.mly" ( (d,None) ) # 14871 "parser_cocci_menhir.ml" in @@ -14904,14 +14904,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_struct_decl_one = Obj.magic w in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 14910 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2047 "parser_cocci_menhir.mly" ( (d,Some w) ) # 14917 "parser_cocci_menhir.ml" in @@ -14935,7 +14935,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1269 "parser_cocci_menhir.mly" +# 1293 "parser_cocci_menhir.mly" ( _1 ) # 14941 "parser_cocci_menhir.ml" in @@ -14959,7 +14959,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_option = -# 2002 "parser_cocci_menhir.mly" +# 2026 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 @@ -14980,7 +14980,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_ = -# 1764 "parser_cocci_menhir.mly" +# 1788 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 14986 "parser_cocci_menhir.ml" in @@ -15004,7 +15004,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_ = -# 1765 "parser_cocci_menhir.mly" +# 1789 "parser_cocci_menhir.mly" ( _1 ) # 15010 "parser_cocci_menhir.ml" in @@ -15021,7 +15021,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_ = -# 1764 "parser_cocci_menhir.mly" +# 1788 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15027 "parser_cocci_menhir.ml" in @@ -15045,7 +15045,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_ = -# 1765 "parser_cocci_menhir.mly" +# 1789 "parser_cocci_menhir.mly" ( _1 ) # 15051 "parser_cocci_menhir.ml" in @@ -15062,7 +15062,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__ = -# 1764 "parser_cocci_menhir.mly" +# 1788 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15068 "parser_cocci_menhir.ml" in @@ -15086,7 +15086,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__ = -# 1765 "parser_cocci_menhir.mly" +# 1789 "parser_cocci_menhir.mly" ( _1 ) # 15092 "parser_cocci_menhir.ml" in @@ -15103,7 +15103,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_ = -# 1764 "parser_cocci_menhir.mly" +# 1788 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15109 "parser_cocci_menhir.ml" in @@ -15127,7 +15127,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_ = -# 1765 "parser_cocci_menhir.mly" +# 1789 "parser_cocci_menhir.mly" ( _1 ) # 15133 "parser_cocci_menhir.ml" in @@ -15144,7 +15144,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_ = -# 1764 "parser_cocci_menhir.mly" +# 1788 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) # 15150 "parser_cocci_menhir.ml" in @@ -15168,7 +15168,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_ = -# 1765 "parser_cocci_menhir.mly" +# 1789 "parser_cocci_menhir.mly" ( _1 ) # 15174 "parser_cocci_menhir.ml" in @@ -15192,7 +15192,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_list = -# 697 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) ) # 15198 "parser_cocci_menhir.ml" in @@ -15216,7 +15216,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_one = -# 669 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 15222 "parser_cocci_menhir.ml" in @@ -15248,7 +15248,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_enum_val = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 15254 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -15256,7 +15256,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_enum_decl_one = -# 671 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( let id = Ast0.wrap(Ast0.Ident(_1)) in Ast0.wrap (Ast0.Assignment @@ -15284,7 +15284,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 678 "parser_cocci_menhir.mly" +# 702 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 15290 "parser_cocci_menhir.ml" in @@ -15305,14 +15305,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 15311 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 680 "parser_cocci_menhir.mly" +# 704 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 15319 "parser_cocci_menhir.ml" @@ -15334,14 +15334,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 15340 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 683 "parser_cocci_menhir.mly" +# 707 "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)) ) @@ -15364,14 +15364,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 15370 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 687 "parser_cocci_menhir.mly" +# 711 "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)) ) @@ -15394,14 +15394,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 15400 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 691 "parser_cocci_menhir.mly" +# 715 "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)) ) @@ -15425,7 +15425,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 249 "parser_cocci_menhir.mly" +# 273 "parser_cocci_menhir.mly" ( Ast.Exists ) # 15431 "parser_cocci_menhir.ml" in @@ -15447,7 +15447,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 250 "parser_cocci_menhir.mly" +# 274 "parser_cocci_menhir.mly" ( Ast.Forall ) # 15453 "parser_cocci_menhir.ml" in @@ -15464,7 +15464,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 = -# 251 "parser_cocci_menhir.mly" +# 275 "parser_cocci_menhir.mly" ( Ast.Undetermined ) # 15470 "parser_cocci_menhir.ml" in @@ -15488,7 +15488,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1267 "parser_cocci_menhir.mly" +# 1291 "parser_cocci_menhir.mly" ( _1 ) # 15494 "parser_cocci_menhir.ml" in @@ -15512,7 +15512,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1451 "parser_cocci_menhir.mly" +# 1475 "parser_cocci_menhir.mly" ( r ) # 15518 "parser_cocci_menhir.ml" in @@ -15536,7 +15536,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 470 "parser_cocci_menhir.mly" +# 494 "parser_cocci_menhir.mly" ( P.ty_pointerify Type_cocci.Unknown m ) # 15542 "parser_cocci_menhir.ml" in @@ -15564,7 +15564,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 472 "parser_cocci_menhir.mly" +# 496 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m ) # 15570 "parser_cocci_menhir.ml" in @@ -15592,7 +15592,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 474 "parser_cocci_menhir.mly" +# 498 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m ) # 15599 "parser_cocci_menhir.ml" @@ -15621,7 +15621,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 477 "parser_cocci_menhir.mly" +# 501 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m ) # 15628 "parser_cocci_menhir.ml" @@ -15639,7 +15639,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 = -# 222 "parser_cocci_menhir.mly" +# 246 "parser_cocci_menhir.mly" ( () ) # 15645 "parser_cocci_menhir.ml" in @@ -15664,14 +15664,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let parent : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 15670 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = -# 224 "parser_cocci_menhir.mly" +# 248 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) # 15677 "parser_cocci_menhir.ml" in @@ -15697,19 +15697,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 87 "parser_cocci_menhir.mly" +# 111 "parser_cocci_menhir.mly" (string * Data.clt) # 15703 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 111 "parser_cocci_menhir.mly" (string * Data.clt) # 15708 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 734 "parser_cocci_menhir.mly" +# 758 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) @@ -15728,7 +15728,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 = -# 855 "parser_cocci_menhir.mly" +# 879 "parser_cocci_menhir.mly" ( [] ) # 15734 "parser_cocci_menhir.ml" in @@ -15758,7 +15758,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 857 "parser_cocci_menhir.mly" +# 881 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in @@ -15792,7 +15792,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 862 "parser_cocci_menhir.mly" +# 886 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) # 15798 "parser_cocci_menhir.ml" in @@ -15819,14 +15819,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 15825 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 864 "parser_cocci_menhir.mly" +# 888 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") @@ -15856,14 +15856,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 82 "parser_cocci_menhir.mly" (string * Data.clt) # 15862 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 869 "parser_cocci_menhir.mly" +# 893 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "multiple attributes") @@ -15883,7 +15883,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 = -# 875 "parser_cocci_menhir.mly" +# 899 "parser_cocci_menhir.mly" ( [] ) # 15889 "parser_cocci_menhir.ml" in @@ -15913,7 +15913,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 877 "parser_cocci_menhir.mly" +# 901 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in @@ -15944,14 +15944,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 15950 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 883 "parser_cocci_menhir.mly" +# 907 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") @@ -15981,14 +15981,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 82 "parser_cocci_menhir.mly" (string * Data.clt) # 15987 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 888 "parser_cocci_menhir.mly" +# 912 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate init") @@ -16008,7 +16008,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 = -# 1935 "parser_cocci_menhir.mly" +# 1959 "parser_cocci_menhir.mly" ([]) # 16014 "parser_cocci_menhir.ml" in @@ -16036,7 +16036,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1936 "parser_cocci_menhir.mly" +# 1960 "parser_cocci_menhir.mly" (_2) # 16042 "parser_cocci_menhir.ml" in @@ -16066,7 +16066,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1937 "parser_cocci_menhir.mly" +# 1961 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) # 16072 "parser_cocci_menhir.ml" in @@ -16096,7 +16096,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1938 "parser_cocci_menhir.mly" +# 1962 "parser_cocci_menhir.mly" (_1@_2) # 16102 "parser_cocci_menhir.ml" in @@ -16113,7 +16113,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 = -# 1945 "parser_cocci_menhir.mly" +# 1969 "parser_cocci_menhir.mly" ([]) # 16119 "parser_cocci_menhir.ml" in @@ -16141,7 +16141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1946 "parser_cocci_menhir.mly" +# 1970 "parser_cocci_menhir.mly" (_2) # 16147 "parser_cocci_menhir.ml" in @@ -16171,7 +16171,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1947 "parser_cocci_menhir.mly" +# 1971 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) # 16177 "parser_cocci_menhir.ml" in @@ -16201,7 +16201,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1948 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" (_1@_2) # 16207 "parser_cocci_menhir.ml" in @@ -16231,7 +16231,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 1941 "parser_cocci_menhir.mly" +# 1965 "parser_cocci_menhir.mly" (_1::_2) # 16237 "parser_cocci_menhir.ml" in @@ -16248,7 +16248,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 = -# 1951 "parser_cocci_menhir.mly" +# 1975 "parser_cocci_menhir.mly" ([]) # 16254 "parser_cocci_menhir.ml" in @@ -16278,7 +16278,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 1952 "parser_cocci_menhir.mly" +# 1976 "parser_cocci_menhir.mly" (_1::_2) # 16284 "parser_cocci_menhir.ml" in @@ -16295,7 +16295,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 = -# 1930 "parser_cocci_menhir.mly" +# 1954 "parser_cocci_menhir.mly" ([]) # 16301 "parser_cocci_menhir.ml" in @@ -16325,7 +16325,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1931 "parser_cocci_menhir.mly" +# 1955 "parser_cocci_menhir.mly" (_1::_2) # 16331 "parser_cocci_menhir.ml" in @@ -16355,7 +16355,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1932 "parser_cocci_menhir.mly" +# 1956 "parser_cocci_menhir.mly" (_1@_2) # 16361 "parser_cocci_menhir.ml" in @@ -16379,7 +16379,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 1927 "parser_cocci_menhir.mly" +# 1951 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) # 16385 "parser_cocci_menhir.ml" in @@ -16403,7 +16403,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1693 "parser_cocci_menhir.mly" +# 1717 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 16409 "parser_cocci_menhir.ml" in @@ -16424,14 +16424,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 16430 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1695 "parser_cocci_menhir.mly" +# 1719 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 16438 "parser_cocci_menhir.ml" @@ -16453,14 +16453,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 16459 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1698 "parser_cocci_menhir.mly" +# 1722 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) # 16467 "parser_cocci_menhir.ml" @@ -16482,14 +16482,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 16488 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1701 "parser_cocci_menhir.mly" +# 1725 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) @@ -16551,24 +16551,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rb : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 16557 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 16563 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 16568 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 16574 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -16577,7 +16577,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_rb_ in let _v : 'tv_fundecl = -# 846 "parser_cocci_menhir.mly" +# 870 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -16629,18 +16629,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 16635 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 16640 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 16646 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -16656,7 +16656,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 834 "parser_cocci_menhir.mly" +# 858 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -16713,18 +16713,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 16719 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 16724 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 16730 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -16742,7 +16742,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 834 "parser_cocci_menhir.mly" +# 858 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -16772,7 +16772,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1706 "parser_cocci_menhir.mly" +# 1730 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 16778 "parser_cocci_menhir.ml" in @@ -16793,14 +16793,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 16799 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1708 "parser_cocci_menhir.mly" +# 1732 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 16807 "parser_cocci_menhir.ml" @@ -16825,7 +16825,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1666 "parser_cocci_menhir.mly" +# 1690 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) # 16831 "parser_cocci_menhir.ml" in @@ -16846,14 +16846,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 16852 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1668 "parser_cocci_menhir.mly" +# 1692 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 16860 "parser_cocci_menhir.ml" @@ -16875,14 +16875,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (string * Data.clt) # 16881 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = -# 262 "parser_cocci_menhir.mly" +# 286 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) # 16888 "parser_cocci_menhir.ml" in @@ -16907,14 +16907,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 16913 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 263 "parser_cocci_menhir.mly" +# 287 "parser_cocci_menhir.mly" ( Data.Iso(Common.Left(P.id2name _2)) ) # 16920 "parser_cocci_menhir.ml" in @@ -16939,14 +16939,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 83 "parser_cocci_menhir.mly" +# 107 "parser_cocci_menhir.mly" (string) # 16945 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 264 "parser_cocci_menhir.mly" +# 288 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) # 16952 "parser_cocci_menhir.ml" in @@ -16974,7 +16974,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 266 "parser_cocci_menhir.mly" +# 290 "parser_cocci_menhir.mly" ( let names = List.map P.id2name _2 in (* ensure that the names of virtual and real rules don't overlap *) List.iter @@ -17007,11 +17007,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Data.incl_iso list) # 17013 "parser_cocci_menhir.ml" ) = -# 258 "parser_cocci_menhir.mly" +# 282 "parser_cocci_menhir.mly" ( _1 ) # 17017 "parser_cocci_menhir.ml" in @@ -17039,11 +17039,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Data.incl_iso list) # 17045 "parser_cocci_menhir.ml" ) = -# 259 "parser_cocci_menhir.mly" +# 283 "parser_cocci_menhir.mly" ( _1 ) # 17049 "parser_cocci_menhir.ml" in @@ -17064,14 +17064,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (string * Data.clt) # 17070 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 740 "parser_cocci_menhir.mly" +# 764 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -17101,14 +17101,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (string * Data.clt) # 17107 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 751 "parser_cocci_menhir.mly" +# 775 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -17145,7 +17145,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 762 "parser_cocci_menhir.mly" +# 786 "parser_cocci_menhir.mly" ( d (Ast0.wrap(Ast0.DOTS([]))) ) # 17151 "parser_cocci_menhir.ml" in @@ -17179,7 +17179,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 764 "parser_cocci_menhir.mly" +# 788 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) # 17186 "parser_cocci_menhir.ml" @@ -17214,7 +17214,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 767 "parser_cocci_menhir.mly" +# 791 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -17246,7 +17246,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1159 "parser_cocci_menhir.mly" +# 1183 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) # 17252 "parser_cocci_menhir.ml" in @@ -17277,20 +17277,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 17283 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 17289 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1161 "parser_cocci_menhir.mly" +# 1185 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in @@ -17316,14 +17316,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Parse_aux.info) # 17322 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1168 "parser_cocci_menhir.mly" +# 1192 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) # 17330 "parser_cocci_menhir.ml" @@ -17348,7 +17348,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1174 "parser_cocci_menhir.mly" +# 1198 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) # 17354 "parser_cocci_menhir.ml" in @@ -17379,20 +17379,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 17385 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 17391 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1176 "parser_cocci_menhir.mly" +# 1200 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in @@ -17429,7 +17429,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 17435 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -17437,7 +17437,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1184 "parser_cocci_menhir.mly" +# 1208 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) # 17443 "parser_cocci_menhir.ml" in @@ -17469,7 +17469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 17475 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -17477,7 +17477,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1186 "parser_cocci_menhir.mly" +# 1210 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) # 17483 "parser_cocci_menhir.ml" in @@ -17501,7 +17501,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1199 "parser_cocci_menhir.mly" +# 1223 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) ) # 17507 "parser_cocci_menhir.ml" in @@ -17523,7 +17523,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1277 "parser_cocci_menhir.mly" +# 1301 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) # 17529 "parser_cocci_menhir.ml" in @@ -17540,7 +17540,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 = -# 254 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( false ) # 17546 "parser_cocci_menhir.ml" in @@ -17562,7 +17562,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_is_expression = -# 255 "parser_cocci_menhir.mly" +# 279 "parser_cocci_menhir.mly" ( true ) # 17568 "parser_cocci_menhir.ml" in @@ -17590,7 +17590,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2078 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( Common.Left t ) # 17596 "parser_cocci_menhir.ml" in @@ -17618,7 +17618,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2079 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( Common.Right t ) # 17624 "parser_cocci_menhir.ml" in @@ -17646,7 +17646,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2078 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( Common.Left t ) # 17652 "parser_cocci_menhir.ml" in @@ -17674,7 +17674,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2079 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( Common.Right t ) # 17680 "parser_cocci_menhir.ml" in @@ -17702,7 +17702,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2078 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( Common.Left t ) # 17708 "parser_cocci_menhir.ml" in @@ -17730,7 +17730,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2079 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( Common.Right t ) # 17736 "parser_cocci_menhir.ml" in @@ -17758,7 +17758,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2078 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( Common.Left t ) # 17764 "parser_cocci_menhir.ml" in @@ -17786,7 +17786,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2079 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( Common.Right t ) # 17792 "parser_cocci_menhir.ml" in @@ -17814,7 +17814,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2078 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( Common.Left t ) # 17820 "parser_cocci_menhir.ml" in @@ -17842,7 +17842,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2079 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( Common.Right t ) # 17848 "parser_cocci_menhir.ml" in @@ -17880,11 +17880,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 17886 "parser_cocci_menhir.ml" ) = -# 2046 "parser_cocci_menhir.mly" +# 2070 "parser_cocci_menhir.mly" ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) # 17890 "parser_cocci_menhir.ml" in @@ -17922,11 +17922,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 17928 "parser_cocci_menhir.ml" ) = -# 2048 "parser_cocci_menhir.mly" +# 2072 "parser_cocci_menhir.mly" ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) # 17932 "parser_cocci_menhir.ml" in @@ -17964,11 +17964,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 17970 "parser_cocci_menhir.ml" ) = -# 2050 "parser_cocci_menhir.mly" +# 2074 "parser_cocci_menhir.mly" ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) # 17974 "parser_cocci_menhir.ml" in @@ -18006,11 +18006,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18012 "parser_cocci_menhir.ml" ) = -# 2052 "parser_cocci_menhir.mly" +# 2076 "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 ) @@ -18050,11 +18050,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18056 "parser_cocci_menhir.ml" ) = -# 2056 "parser_cocci_menhir.mly" +# 2080 "parser_cocci_menhir.mly" ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) # 18060 "parser_cocci_menhir.ml" in @@ -18092,11 +18092,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18098 "parser_cocci_menhir.ml" ) = -# 2058 "parser_cocci_menhir.mly" +# 2082 "parser_cocci_menhir.mly" ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) # 18102 "parser_cocci_menhir.ml" in @@ -18134,11 +18134,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18140 "parser_cocci_menhir.ml" ) = -# 2060 "parser_cocci_menhir.mly" +# 2084 "parser_cocci_menhir.mly" ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) # 18144 "parser_cocci_menhir.ml" in @@ -18176,11 +18176,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 18182 "parser_cocci_menhir.ml" ) = -# 2062 "parser_cocci_menhir.mly" +# 2086 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -18217,11 +18217,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 171 "parser_cocci_menhir.mly" +# 195 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 18223 "parser_cocci_menhir.ml" ) = -# 188 "parser_cocci_menhir.mly" +# 212 "parser_cocci_menhir.mly" ( m "" ) # 18227 "parser_cocci_menhir.ml" in @@ -18249,11 +18249,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_nm_ in let _endpos = _endpos__2_ in let _v : ( -# 155 "parser_cocci_menhir.mly" +# 179 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 18255 "parser_cocci_menhir.ml" ) = -# 203 "parser_cocci_menhir.mly" +# 227 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) # 18259 "parser_cocci_menhir.ml" in @@ -18274,14 +18274,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 18280 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1720 "parser_cocci_menhir.mly" +# 1744 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) # 18287 "parser_cocci_menhir.ml" in @@ -18302,14 +18302,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 18308 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1722 "parser_cocci_menhir.mly" +# 1746 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) # 18316 "parser_cocci_menhir.ml" @@ -18354,7 +18354,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_list_TMul_ = Obj.magic xs in let x : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 18360 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -19246,7 +19246,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 335 "parser_cocci_menhir.mly" +# 359 "parser_cocci_menhir.mly" ( Common.Left _1 ) # 19252 "parser_cocci_menhir.ml" in @@ -19267,14 +19267,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 19273 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 336 "parser_cocci_menhir.mly" +# 360 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Common.Right (int_of_string x) ) # 19280 "parser_cocci_menhir.ml" in @@ -19544,7 +19544,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 513 "parser_cocci_menhir.mly" +# 537 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) # 19550 "parser_cocci_menhir.ml" in @@ -19576,7 +19576,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_exp_type = -# 515 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] ) # 19582 "parser_cocci_menhir.ml" in @@ -19614,7 +19614,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 517 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) @@ -19647,14 +19647,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident = Obj.magic _3 in let _1 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 19653 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1489 "parser_cocci_menhir.mly" +# 1513 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) # 19660 "parser_cocci_menhir.ml" in @@ -19685,14 +19685,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in let _1 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 19691 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1490 "parser_cocci_menhir.mly" +# 1514 "parser_cocci_menhir.mly" ( (Some _1,_3) ) # 19698 "parser_cocci_menhir.ml" in @@ -19716,11 +19716,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 187 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 19722 "parser_cocci_menhir.ml" ) = -# 187 "parser_cocci_menhir.mly" +# 211 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) # 19726 "parser_cocci_menhir.ml" in @@ -19765,7 +19765,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 347 "parser_cocci_menhir.mly" +# 371 "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) ) @@ -19773,7 +19773,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 19779 "parser_cocci_menhir.ml" in @@ -19822,7 +19822,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 351 "parser_cocci_menhir.mly" +# 375 "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 @@ -19831,7 +19831,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 19837 "parser_cocci_menhir.ml" in @@ -19880,7 +19880,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 356 "parser_cocci_menhir.mly" +# 380 "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 @@ -19889,7 +19889,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 19895 "parser_cocci_menhir.ml" in @@ -19934,7 +19934,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 361 "parser_cocci_menhir.mly" +# 385 "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) ) @@ -19942,7 +19942,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 19948 "parser_cocci_menhir.ml" in @@ -19987,7 +19987,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 365 "parser_cocci_menhir.mly" +# 389 "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) ) @@ -19995,7 +19995,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20001 "parser_cocci_menhir.ml" in @@ -20040,7 +20040,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 369 "parser_cocci_menhir.mly" +# 393 "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) ) @@ -20048,7 +20048,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20054 "parser_cocci_menhir.ml" in @@ -20093,7 +20093,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 373 "parser_cocci_menhir.mly" +# 397 "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) ) @@ -20101,7 +20101,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20107 "parser_cocci_menhir.ml" in @@ -20146,7 +20146,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 377 "parser_cocci_menhir.mly" +# 401 "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) ) @@ -20154,7 +20154,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20160 "parser_cocci_menhir.ml" in @@ -20203,7 +20203,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 381 "parser_cocci_menhir.mly" +# 405 "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) ) @@ -20211,7 +20211,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20217 "parser_cocci_menhir.ml" in @@ -20256,7 +20256,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 385 "parser_cocci_menhir.mly" +# 409 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_type_name name; []) @@ -20265,7 +20265,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20271 "parser_cocci_menhir.ml" in @@ -20314,7 +20314,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 390 "parser_cocci_menhir.mly" +# 414 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_declarer_name name; []) @@ -20323,7 +20323,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20329 "parser_cocci_menhir.ml" in @@ -20372,7 +20372,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 395 "parser_cocci_menhir.mly" +# 419 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_iterator_name name; []) @@ -20381,7 +20381,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 276 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) # 20387 "parser_cocci_menhir.ml" in @@ -20418,7 +20418,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__4_ in let _v : 'tv_metadec = let kindfn = -# 340 "parser_cocci_menhir.mly" +# 364 "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) ) @@ -20426,7 +20426,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 279 "parser_cocci_menhir.mly" +# 303 "parser_cocci_menhir.mly" ( P.create_fresh_metadec kindfn ids ) # 20432 "parser_cocci_menhir.ml" in @@ -20471,7 +20471,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 402 "parser_cocci_menhir.mly" +# 426 "parser_cocci_menhir.mly" ( let idfn arity name pure check_meta constraints = let tok = check_meta(Ast.MetaIdDecl(arity,name)) in @@ -20489,7 +20489,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 285 "parser_cocci_menhir.mly" +# 309 "parser_cocci_menhir.mly" ( let (normal,virt) = Common.partition_either (fun x -> x) ids in let (idfn,virtfn) = kindfn in function cr -> @@ -20538,7 +20538,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 418 "parser_cocci_menhir.mly" +# 442 "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) ) @@ -20546,7 +20546,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 294 "parser_cocci_menhir.mly" +# 318 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20552 "parser_cocci_menhir.ml" in @@ -20595,7 +20595,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 422 "parser_cocci_menhir.mly" +# 446 "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; @@ -20604,7 +20604,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 294 "parser_cocci_menhir.mly" +# 318 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20610 "parser_cocci_menhir.ml" in @@ -20649,7 +20649,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 constraints -> let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in !Data.add_declarer_meta name constraints pure; tok) ) @@ -20657,7 +20657,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 294 "parser_cocci_menhir.mly" +# 318 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20663 "parser_cocci_menhir.ml" in @@ -20702,7 +20702,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 constraints -> let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in !Data.add_iterator_meta name constraints pure; tok) ) @@ -20710,7 +20710,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 294 "parser_cocci_menhir.mly" +# 318 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20716 "parser_cocci_menhir.ml" in @@ -20755,7 +20755,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 437 "parser_cocci_menhir.mly" +# 461 "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) ) @@ -20763,7 +20763,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20769 "parser_cocci_menhir.ml" in @@ -20822,7 +20822,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 441 "parser_cocci_menhir.mly" +# 465 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -20835,7 +20835,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20841 "parser_cocci_menhir.ml" in @@ -20902,7 +20902,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 441 "parser_cocci_menhir.mly" +# 465 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -20915,7 +20915,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20921 "parser_cocci_menhir.ml" in @@ -20974,7 +20974,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 450 "parser_cocci_menhir.mly" +# 474 "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 @@ -20988,7 +20988,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 20994 "parser_cocci_menhir.ml" in @@ -21040,7 +21040,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let ty = ty0 in -# 460 "parser_cocci_menhir.mly" +# 484 "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 @@ -21049,7 +21049,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21055 "parser_cocci_menhir.ml" in @@ -21101,7 +21101,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 465 "parser_cocci_menhir.mly" +# 489 "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) ) @@ -21109,7 +21109,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21115 "parser_cocci_menhir.ml" in @@ -21169,7 +21169,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 465 "parser_cocci_menhir.mly" +# 489 "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) ) @@ -21177,7 +21177,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 299 "parser_cocci_menhir.mly" +# 323 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21183 "parser_cocci_menhir.ml" in @@ -21222,7 +21222,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 482 "parser_cocci_menhir.mly" +# 506 "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) ) @@ -21230,7 +21230,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 304 "parser_cocci_menhir.mly" +# 328 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21236 "parser_cocci_menhir.ml" in @@ -21278,7 +21278,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 486 "parser_cocci_menhir.mly" +# 510 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some vl in (match constraints with @@ -21307,7 +21307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 304 "parser_cocci_menhir.mly" +# 328 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 21313 "parser_cocci_menhir.ml" in @@ -21351,7 +21351,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = -# 310 "parser_cocci_menhir.mly" +# 334 "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 = @@ -21419,7 +21419,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 320 "parser_cocci_menhir.mly" +# 344 "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 @@ -21485,7 +21485,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 328 "parser_cocci_menhir.mly" +# 352 "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 @@ -21519,7 +21519,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_ctype_ctype_ = -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 21525 "parser_cocci_menhir.ml" in @@ -21549,7 +21549,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 21555 "parser_cocci_menhir.ml" in @@ -21579,7 +21579,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_expr_eexpr_ = -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 21585 "parser_cocci_menhir.ml" in @@ -21609,7 +21609,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_ = -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 21615 "parser_cocci_menhir.ml" in @@ -21639,7 +21639,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_ = -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 21645 "parser_cocci_menhir.ml" in @@ -21669,7 +21669,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_ = -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 21675 "parser_cocci_menhir.ml" in @@ -21699,7 +21699,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_statement_statement_ = -# 2016 "parser_cocci_menhir.mly" +# 2040 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 21705 "parser_cocci_menhir.ml" in @@ -21729,7 +21729,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_body = -# 708 "parser_cocci_menhir.mly" +# 732 "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 ) @@ -21761,7 +21761,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_exp_body = -# 722 "parser_cocci_menhir.mly" +# 746 "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 ) @@ -21791,11 +21791,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 21797 "parser_cocci_menhir.ml" ) = -# 183 "parser_cocci_menhir.mly" +# 207 "parser_cocci_menhir.mly" ( _1 ) # 21801 "parser_cocci_menhir.ml" in @@ -21823,11 +21823,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 21829 "parser_cocci_menhir.ml" ) = -# 183 "parser_cocci_menhir.mly" +# 207 "parser_cocci_menhir.mly" ( m ) # 21833 "parser_cocci_menhir.ml" in @@ -21855,11 +21855,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 21861 "parser_cocci_menhir.ml" ) = -# 184 "parser_cocci_menhir.mly" +# 208 "parser_cocci_menhir.mly" ( m ) # 21865 "parser_cocci_menhir.ml" in @@ -21887,11 +21887,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 21893 "parser_cocci_menhir.ml" ) = -# 179 "parser_cocci_menhir.mly" +# 203 "parser_cocci_menhir.mly" ( _1 ) # 21897 "parser_cocci_menhir.ml" in @@ -21919,11 +21919,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 21925 "parser_cocci_menhir.ml" ) = -# 179 "parser_cocci_menhir.mly" +# 203 "parser_cocci_menhir.mly" ( m ) # 21929 "parser_cocci_menhir.ml" in @@ -21951,11 +21951,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 21957 "parser_cocci_menhir.ml" ) = -# 180 "parser_cocci_menhir.mly" +# 204 "parser_cocci_menhir.mly" ( m ) # 21961 "parser_cocci_menhir.ml" in @@ -21979,7 +21979,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1841 "parser_cocci_menhir.mly" +# 1865 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DECL(_1))] ) # 21985 "parser_cocci_menhir.ml" in @@ -22003,7 +22003,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1842 "parser_cocci_menhir.mly" +# 1866 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) # 22009 "parser_cocci_menhir.ml" in @@ -22027,7 +22027,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1843 "parser_cocci_menhir.mly" +# 1867 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) # 22033 "parser_cocci_menhir.ml" in @@ -22051,7 +22051,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1845 "parser_cocci_menhir.mly" +# 1869 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) # 22057 "parser_cocci_menhir.ml" in @@ -22078,14 +22078,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_ctype = Obj.magic b in let a : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22084 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_ctype_ = -# 2019 "parser_cocci_menhir.mly" +# 2043 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 22091 "parser_cocci_menhir.ml" in @@ -22112,14 +22112,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_eexpr = Obj.magic b in let a : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22118 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_eexpr_ = -# 2019 "parser_cocci_menhir.mly" +# 2043 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 22125 "parser_cocci_menhir.ml" in @@ -22146,14 +22146,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_after_dots_or = Obj.magic b in let a : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22152 "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_ = -# 2019 "parser_cocci_menhir.mly" +# 2043 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 22159 "parser_cocci_menhir.ml" in @@ -22180,14 +22180,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_start = Obj.magic b in let a : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22186 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_start_ = -# 2019 "parser_cocci_menhir.mly" +# 2043 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 22193 "parser_cocci_menhir.ml" in @@ -22214,14 +22214,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_rule_elem_statement = Obj.magic b in let a : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22220 "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_ = -# 2019 "parser_cocci_menhir.mly" +# 2043 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 22227 "parser_cocci_menhir.ml" in @@ -22248,14 +22248,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_statement = Obj.magic b in let a : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22254 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_statement_ = -# 2019 "parser_cocci_menhir.mly" +# 2043 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 22261 "parser_cocci_menhir.ml" in @@ -22279,7 +22279,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_name_opt_decl = -# 915 "parser_cocci_menhir.mly" +# 939 "parser_cocci_menhir.mly" ( _1 ) # 22285 "parser_cocci_menhir.ml" in @@ -22330,28 +22330,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22336 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 22342 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 22347 "parser_cocci_menhir.ml" ) = Obj.magic rp in let s : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 22352 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 22357 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -22359,7 +22359,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_name_opt_decl = -# 918 "parser_cocci_menhir.mly" +# 942 "parser_cocci_menhir.mly" ( let fnptr = Ast0.wrap (Ast0.FunctionPointer @@ -22394,7 +22394,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1961 "parser_cocci_menhir.mly" +# 1985 "parser_cocci_menhir.mly" (_1@_2) # 22400 "parser_cocci_menhir.ml" in @@ -22422,7 +22422,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1962 "parser_cocci_menhir.mly" +# 1986 "parser_cocci_menhir.mly" (_2) # 22428 "parser_cocci_menhir.ml" in @@ -22452,7 +22452,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1963 "parser_cocci_menhir.mly" +# 1987 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) # 22458 "parser_cocci_menhir.ml" in @@ -22469,7 +22469,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 = -# 1971 "parser_cocci_menhir.mly" +# 1995 "parser_cocci_menhir.mly" ([]) # 22475 "parser_cocci_menhir.ml" in @@ -22499,7 +22499,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_exp = -# 1972 "parser_cocci_menhir.mly" +# 1996 "parser_cocci_menhir.mly" (_1::_2) # 22505 "parser_cocci_menhir.ml" in @@ -22516,7 +22516,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 = -# 1966 "parser_cocci_menhir.mly" +# 1990 "parser_cocci_menhir.mly" ([]) # 22522 "parser_cocci_menhir.ml" in @@ -22546,7 +22546,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1967 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" (_1::_2) # 22552 "parser_cocci_menhir.ml" in @@ -22576,7 +22576,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1968 "parser_cocci_menhir.mly" +# 1992 "parser_cocci_menhir.mly" (_1@_2) # 22582 "parser_cocci_menhir.ml" in @@ -22607,20 +22607,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 22613 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 22619 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1286 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...>" c, None, false)) ) @@ -22653,20 +22653,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 22659 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 22665 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1290 "parser_cocci_menhir.mly" +# 1314 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...+>" c, None, true)) ) @@ -22692,7 +22692,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_start = -# 1958 "parser_cocci_menhir.mly" +# 1982 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) # 22698 "parser_cocci_menhir.ml" in @@ -22714,11 +22714,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 174 "parser_cocci_menhir.mly" +# 198 "parser_cocci_menhir.mly" (unit) # 22720 "parser_cocci_menhir.ml" ) = -# 2086 "parser_cocci_menhir.mly" +# 2110 "parser_cocci_menhir.mly" ( () ) # 22724 "parser_cocci_menhir.ml" in @@ -22744,11 +22744,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 174 "parser_cocci_menhir.mly" +# 198 "parser_cocci_menhir.mly" (unit) # 22750 "parser_cocci_menhir.ml" ) = -# 2087 "parser_cocci_menhir.mly" +# 2111 "parser_cocci_menhir.mly" ( () ) # 22754 "parser_cocci_menhir.ml" in @@ -22770,11 +22770,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 174 "parser_cocci_menhir.mly" +# 198 "parser_cocci_menhir.mly" (unit) # 22776 "parser_cocci_menhir.ml" ) = -# 2088 "parser_cocci_menhir.mly" +# 2112 "parser_cocci_menhir.mly" ( () ) # 22780 "parser_cocci_menhir.ml" in @@ -22804,7 +22804,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__ = -# 1456 "parser_cocci_menhir.mly" +# 1480 "parser_cocci_menhir.mly" ( function dot_builder -> g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) # 22811 "parser_cocci_menhir.ml" @@ -22826,7 +22826,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 22832 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -22860,7 +22860,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in let x : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 22866 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -22891,7 +22891,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_ = -# 1768 "parser_cocci_menhir.mly" +# 1792 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 22897 "parser_cocci_menhir.ml" in @@ -22917,7 +22917,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 22923 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -22925,7 +22925,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_ = -# 1770 "parser_cocci_menhir.mly" +# 1794 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 22932 "parser_cocci_menhir.ml" @@ -22958,7 +22958,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 22964 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -22966,7 +22966,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_ = -# 1773 "parser_cocci_menhir.mly" +# 1797 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -22996,7 +22996,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_ = -# 1776 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( _2 ) # 23002 "parser_cocci_menhir.ml" in @@ -23017,14 +23017,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 23023 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 23030 "parser_cocci_menhir.ml" in @@ -23050,19 +23050,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23056 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 23061 "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_ = -# 1779 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23069 "parser_cocci_menhir.ml" @@ -23095,19 +23095,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23101 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 23106 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -23134,7 +23134,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_ = -# 1768 "parser_cocci_menhir.mly" +# 1792 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 23140 "parser_cocci_menhir.ml" in @@ -23160,7 +23160,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23166 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23168,7 +23168,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_ = -# 1770 "parser_cocci_menhir.mly" +# 1794 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23175 "parser_cocci_menhir.ml" @@ -23201,7 +23201,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23207 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23209,7 +23209,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_ = -# 1773 "parser_cocci_menhir.mly" +# 1797 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -23239,7 +23239,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_ = -# 1776 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( _2 ) # 23245 "parser_cocci_menhir.ml" in @@ -23260,14 +23260,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 23266 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 23273 "parser_cocci_menhir.ml" in @@ -23293,19 +23293,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23299 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 23304 "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_ = -# 1779 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23312 "parser_cocci_menhir.ml" @@ -23338,19 +23338,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23344 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 23349 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -23377,7 +23377,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__ = -# 1768 "parser_cocci_menhir.mly" +# 1792 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 23383 "parser_cocci_menhir.ml" in @@ -23403,7 +23403,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23409 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23411,7 +23411,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__ = -# 1770 "parser_cocci_menhir.mly" +# 1794 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23418 "parser_cocci_menhir.ml" @@ -23444,7 +23444,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23450 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23452,7 +23452,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__ = -# 1773 "parser_cocci_menhir.mly" +# 1797 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -23482,7 +23482,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__ = -# 1776 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( _2 ) # 23488 "parser_cocci_menhir.ml" in @@ -23506,7 +23506,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__ = -# 1777 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 23512 "parser_cocci_menhir.ml" in @@ -23532,7 +23532,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23538 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23540,7 +23540,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__ = -# 1779 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23547 "parser_cocci_menhir.ml" @@ -23573,7 +23573,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23579 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23581,7 +23581,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__ = -# 1782 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -23608,7 +23608,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__ = -# 1768 "parser_cocci_menhir.mly" +# 1792 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 23614 "parser_cocci_menhir.ml" in @@ -23634,7 +23634,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23640 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23642,7 +23642,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__ = -# 1770 "parser_cocci_menhir.mly" +# 1794 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23649 "parser_cocci_menhir.ml" @@ -23675,7 +23675,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23681 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23683,7 +23683,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__ = -# 1773 "parser_cocci_menhir.mly" +# 1797 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -23713,7 +23713,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__ = -# 1776 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( _2 ) # 23719 "parser_cocci_menhir.ml" in @@ -23737,7 +23737,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__ = -# 1777 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 23743 "parser_cocci_menhir.ml" in @@ -23763,7 +23763,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23769 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23771,7 +23771,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__ = -# 1779 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23778 "parser_cocci_menhir.ml" @@ -23804,7 +23804,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23810 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23812,7 +23812,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__ = -# 1782 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -23839,7 +23839,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_ = -# 1768 "parser_cocci_menhir.mly" +# 1792 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 23845 "parser_cocci_menhir.ml" in @@ -23865,7 +23865,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23871 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23873,7 +23873,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_ = -# 1770 "parser_cocci_menhir.mly" +# 1794 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 23880 "parser_cocci_menhir.ml" @@ -23906,7 +23906,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 23912 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -23914,7 +23914,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_ = -# 1773 "parser_cocci_menhir.mly" +# 1797 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -23944,7 +23944,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_ = -# 1776 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( _2 ) # 23950 "parser_cocci_menhir.ml" in @@ -23965,14 +23965,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 23971 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 23978 "parser_cocci_menhir.ml" in @@ -23998,19 +23998,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24004 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 24009 "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_ = -# 1779 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24017 "parser_cocci_menhir.ml" @@ -24043,19 +24043,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24049 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 24054 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -24082,7 +24082,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_ = -# 1768 "parser_cocci_menhir.mly" +# 1792 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) # 24088 "parser_cocci_menhir.ml" in @@ -24108,7 +24108,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24114 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24116,7 +24116,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_ = -# 1770 "parser_cocci_menhir.mly" +# 1794 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24123 "parser_cocci_menhir.ml" @@ -24149,7 +24149,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24155 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -24157,7 +24157,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_ = -# 1773 "parser_cocci_menhir.mly" +# 1797 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) @@ -24187,7 +24187,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_ = -# 1776 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( _2 ) # 24193 "parser_cocci_menhir.ml" in @@ -24208,14 +24208,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 24214 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) # 24221 "parser_cocci_menhir.ml" in @@ -24241,19 +24241,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24247 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 24252 "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_ = -# 1779 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) # 24260 "parser_cocci_menhir.ml" @@ -24286,19 +24286,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 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24292 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 24297 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: @@ -24329,7 +24329,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1629 "parser_cocci_menhir.mly" +# 1653 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24369,7 +24369,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1635 "parser_cocci_menhir.mly" +# 1659 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24397,7 +24397,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ceq_ in let _endpos = _endpos_ceq_ in let _v : 'tv_not_ceq_or_sub = -# 1605 "parser_cocci_menhir.mly" +# 1629 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ceq) # 24403 "parser_cocci_menhir.ml" in @@ -24421,7 +24421,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_not_ceq_or_sub = -# 1606 "parser_cocci_menhir.mly" +# 1630 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) # 24427 "parser_cocci_menhir.ml" in @@ -24449,7 +24449,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1610 "parser_cocci_menhir.mly" +# 1634 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24490,7 +24490,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1617 "parser_cocci_menhir.mly" +# 1641 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24526,7 +24526,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1567 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24574,7 +24574,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1581 "parser_cocci_menhir.mly" +# 1605 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24618,7 +24618,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1673 "parser_cocci_menhir.mly" +# 1697 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24661,7 +24661,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1682 "parser_cocci_menhir.mly" +# 1706 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24693,7 +24693,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1743 "parser_cocci_menhir.mly" +# 1767 "parser_cocci_menhir.mly" ( _1 ) # 24699 "parser_cocci_menhir.ml" in @@ -24714,14 +24714,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 70 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 24720 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1745 "parser_cocci_menhir.mly" +# 1769 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -24752,7 +24752,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_ = -# 1743 "parser_cocci_menhir.mly" +# 1767 "parser_cocci_menhir.mly" ( _1 ) # 24758 "parser_cocci_menhir.ml" in @@ -24773,14 +24773,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 70 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (Parse_aux.list_info) # 24779 "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_ = -# 1745 "parser_cocci_menhir.mly" +# 1769 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -24813,7 +24813,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24819 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -24821,7 +24821,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_one_decl_var = -# 1094 "parser_cocci_menhir.mly" +# 1118 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) # 24827 "parser_cocci_menhir.ml" in @@ -24842,14 +24842,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Parse_aux.info) # 24848 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_decl_var = -# 1095 "parser_cocci_menhir.mly" +# 1119 "parser_cocci_menhir.mly" ( P.meta_decl _1 ) # 24855 "parser_cocci_menhir.ml" in @@ -24880,7 +24880,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24886 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -24896,7 +24896,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1097 "parser_cocci_menhir.mly" +# 1121 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) # 24903 "parser_cocci_menhir.ml" @@ -24933,7 +24933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 24939 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -24951,7 +24951,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1097 "parser_cocci_menhir.mly" +# 1121 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) # 24958 "parser_cocci_menhir.ml" @@ -24976,7 +24976,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1099 "parser_cocci_menhir.mly" +# 1123 "parser_cocci_menhir.mly" ( f ) # 24982 "parser_cocci_menhir.ml" in @@ -25017,13 +25017,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25023 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25029 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -25039,7 +25039,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1101 "parser_cocci_menhir.mly" +# 1125 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) # 25046 "parser_cocci_menhir.ml" @@ -25086,13 +25086,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25092 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25098 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -25110,7 +25110,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1101 "parser_cocci_menhir.mly" +# 1125 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) # 25117 "parser_cocci_menhir.ml" @@ -25142,7 +25142,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25148 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -25165,7 +25165,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1106 "parser_cocci_menhir.mly" +# 1130 "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)) ) @@ -25203,7 +25203,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25209 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -25228,7 +25228,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1106 "parser_cocci_menhir.mly" +# 1130 "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)) ) @@ -25266,7 +25266,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25272 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -25291,7 +25291,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1106 "parser_cocci_menhir.mly" +# 1130 "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)) ) @@ -25334,7 +25334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25340 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -25361,7 +25361,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1106 "parser_cocci_menhir.mly" +# 1130 "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)) ) @@ -25404,13 +25404,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25410 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25416 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -25433,7 +25433,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1111 "parser_cocci_menhir.mly" +# 1135 "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 @@ -25483,13 +25483,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25489 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25495 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -25514,7 +25514,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1111 "parser_cocci_menhir.mly" +# 1135 "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 @@ -25564,13 +25564,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25570 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25576 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -25595,7 +25595,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1111 "parser_cocci_menhir.mly" +# 1135 "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 @@ -25650,13 +25650,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25656 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25662 "parser_cocci_menhir.ml" ) = Obj.magic q in @@ -25683,7 +25683,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1111 "parser_cocci_menhir.mly" +# 1135 "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 @@ -25748,34 +25748,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25754 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 25759 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 25765 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 25770 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 25776 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 25781 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -25790,7 +25790,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1121 "parser_cocci_menhir.mly" +# 1145 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -25862,34 +25862,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25868 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 25873 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 25879 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 25884 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 25890 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 25895 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -25906,7 +25906,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1121 "parser_cocci_menhir.mly" +# 1145 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -25953,18 +25953,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 25959 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 25964 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 25970 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -25972,7 +25972,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_one_decl_var = -# 1129 "parser_cocci_menhir.mly" +# 1153 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) # 25979 "parser_cocci_menhir.ml" @@ -26044,40 +26044,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 26050 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 26056 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 26061 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 26067 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 26072 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 26078 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 26083 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -26092,7 +26092,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1135 "parser_cocci_menhir.mly" +# 1159 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -26174,40 +26174,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 26180 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 26186 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 26191 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 26197 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 26202 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 26208 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 26213 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -26224,7 +26224,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 1135 "parser_cocci_menhir.mly" +# 1159 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -26493,7 +26493,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 = -# 1908 "parser_cocci_menhir.mly" +# 1932 "parser_cocci_menhir.mly" ([]) # 26499 "parser_cocci_menhir.ml" in @@ -26521,7 +26521,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1909 "parser_cocci_menhir.mly" +# 1933 "parser_cocci_menhir.mly" (_2) # 26527 "parser_cocci_menhir.ml" in @@ -26551,7 +26551,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1911 "parser_cocci_menhir.mly" +# 1935 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) # 26557 "parser_cocci_menhir.ml" in @@ -26581,7 +26581,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1912 "parser_cocci_menhir.mly" +# 1936 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) # 26587 "parser_cocci_menhir.ml" in @@ -26611,7 +26611,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1914 "parser_cocci_menhir.mly" +# 1938 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) # 26617 "parser_cocci_menhir.ml" in @@ -26628,7 +26628,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 = -# 1904 "parser_cocci_menhir.mly" +# 1928 "parser_cocci_menhir.mly" ([]) # 26634 "parser_cocci_menhir.ml" in @@ -26658,7 +26658,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 1905 "parser_cocci_menhir.mly" +# 1929 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) # 26664 "parser_cocci_menhir.ml" in @@ -26675,7 +26675,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 = -# 1917 "parser_cocci_menhir.mly" +# 1941 "parser_cocci_menhir.mly" ([]) # 26681 "parser_cocci_menhir.ml" in @@ -26705,7 +26705,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1918 "parser_cocci_menhir.mly" +# 1942 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) # 26711 "parser_cocci_menhir.ml" in @@ -26735,7 +26735,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1919 "parser_cocci_menhir.mly" +# 1943 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) # 26741 "parser_cocci_menhir.ml" in @@ -26765,7 +26765,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1921 "parser_cocci_menhir.mly" +# 1945 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) # 26771 "parser_cocci_menhir.ml" in @@ -26795,7 +26795,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 716 "parser_cocci_menhir.mly" +# 740 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) # 26801 "parser_cocci_menhir.ml" in @@ -26825,7 +26825,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 730 "parser_cocci_menhir.mly" +# 754 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) # 26831 "parser_cocci_menhir.ml" in @@ -26853,11 +26853,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 149 "parser_cocci_menhir.mly" +# 173 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 26859 "parser_cocci_menhir.ml" ) = -# 185 "parser_cocci_menhir.mly" +# 209 "parser_cocci_menhir.mly" ( _1 ) # 26863 "parser_cocci_menhir.ml" in @@ -26885,11 +26885,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 149 "parser_cocci_menhir.mly" +# 173 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 26891 "parser_cocci_menhir.ml" ) = -# 185 "parser_cocci_menhir.mly" +# 209 "parser_cocci_menhir.mly" ( p ) # 26895 "parser_cocci_menhir.ml" in @@ -26917,11 +26917,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 149 "parser_cocci_menhir.mly" +# 173 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 26923 "parser_cocci_menhir.ml" ) = -# 186 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" ( p ) # 26927 "parser_cocci_menhir.ml" in @@ -26949,11 +26949,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 26955 "parser_cocci_menhir.ml" ) = -# 181 "parser_cocci_menhir.mly" +# 205 "parser_cocci_menhir.mly" ( _1 ) # 26959 "parser_cocci_menhir.ml" in @@ -26981,11 +26981,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 26987 "parser_cocci_menhir.ml" ) = -# 181 "parser_cocci_menhir.mly" +# 205 "parser_cocci_menhir.mly" ( p ) # 26991 "parser_cocci_menhir.ml" in @@ -27013,11 +27013,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 27019 "parser_cocci_menhir.ml" ) = -# 182 "parser_cocci_menhir.mly" +# 206 "parser_cocci_menhir.mly" ( p ) # 27023 "parser_cocci_menhir.ml" in @@ -27041,7 +27041,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1893 "parser_cocci_menhir.mly" +# 1917 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) # 27047 "parser_cocci_menhir.ml" in @@ -27065,7 +27065,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1894 "parser_cocci_menhir.mly" +# 1918 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) # 27071 "parser_cocci_menhir.ml" in @@ -27095,7 +27095,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1896 "parser_cocci_menhir.mly" +# 1920 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) # 27101 "parser_cocci_menhir.ml" in @@ -27125,7 +27125,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1898 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) # 27131 "parser_cocci_menhir.ml" in @@ -27155,7 +27155,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1899 "parser_cocci_menhir.mly" +# 1923 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) # 27161 "parser_cocci_menhir.ml" in @@ -27185,7 +27185,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1901 "parser_cocci_menhir.mly" +# 1925 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) # 27191 "parser_cocci_menhir.ml" in @@ -27206,14 +27206,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 27212 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = -# 236 "parser_cocci_menhir.mly" +# 260 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) # 27219 "parser_cocci_menhir.ml" in @@ -27238,14 +27238,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 27244 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 237 "parser_cocci_menhir.mly" +# 261 "parser_cocci_menhir.mly" ( Ast.AntiDep _2 ) # 27251 "parser_cocci_menhir.ml" in @@ -27270,14 +27270,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 27276 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 238 "parser_cocci_menhir.mly" +# 262 "parser_cocci_menhir.mly" ( Ast.EverDep _2 ) # 27283 "parser_cocci_menhir.ml" in @@ -27302,14 +27302,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 27308 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 239 "parser_cocci_menhir.mly" +# 263 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) # 27315 "parser_cocci_menhir.ml" in @@ -27341,7 +27341,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pnrule = -# 240 "parser_cocci_menhir.mly" +# 264 "parser_cocci_menhir.mly" ( _2 ) # 27347 "parser_cocci_menhir.ml" in @@ -27365,7 +27365,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_ = -# 1389 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) # 27371 "parser_cocci_menhir.ml" in @@ -27401,13 +27401,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 27407 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 27413 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27415,7 +27415,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_ = -# 1391 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 27422 "parser_cocci_menhir.ml" @@ -27448,7 +27448,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 27454 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27456,7 +27456,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_ = -# 1394 "parser_cocci_menhir.mly" +# 1418 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 27462 "parser_cocci_menhir.ml" in @@ -27488,7 +27488,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Data.clt) # 27494 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27496,7 +27496,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_ = -# 1396 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 27503 "parser_cocci_menhir.ml" @@ -27523,7 +27523,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 27529 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27531,7 +27531,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_ = -# 1399 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 27537 "parser_cocci_menhir.ml" in @@ -27557,7 +27557,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 27563 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27565,7 +27565,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_ = -# 1401 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 27571 "parser_cocci_menhir.ml" in @@ -27601,13 +27601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 27607 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 27613 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27615,7 +27615,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_ = -# 1403 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -27641,7 +27641,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1389 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) # 27647 "parser_cocci_menhir.ml" in @@ -27677,13 +27677,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 27683 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 27689 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27691,7 +27691,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1391 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 27698 "parser_cocci_menhir.ml" @@ -27724,7 +27724,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 27730 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27732,7 +27732,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1394 "parser_cocci_menhir.mly" +# 1418 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 27738 "parser_cocci_menhir.ml" in @@ -27764,7 +27764,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Data.clt) # 27770 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27772,7 +27772,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1396 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 27779 "parser_cocci_menhir.ml" @@ -27799,7 +27799,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 27805 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27807,7 +27807,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1399 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 27813 "parser_cocci_menhir.ml" in @@ -27833,7 +27833,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 27839 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27841,7 +27841,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1401 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 27847 "parser_cocci_menhir.ml" in @@ -27877,13 +27877,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 27883 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 27889 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27891,7 +27891,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1403 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -27917,7 +27917,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_ = -# 1389 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) # 27923 "parser_cocci_menhir.ml" in @@ -27953,13 +27953,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 27959 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 27965 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -27967,7 +27967,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_ = -# 1391 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 27974 "parser_cocci_menhir.ml" @@ -28000,7 +28000,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 28006 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28008,7 +28008,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_ = -# 1394 "parser_cocci_menhir.mly" +# 1418 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 28014 "parser_cocci_menhir.ml" in @@ -28040,7 +28040,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Data.clt) # 28046 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28048,7 +28048,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_ = -# 1396 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 28055 "parser_cocci_menhir.ml" @@ -28075,7 +28075,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 28081 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28083,7 +28083,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_ = -# 1399 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 28089 "parser_cocci_menhir.ml" in @@ -28109,7 +28109,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 28115 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28117,7 +28117,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_ = -# 1401 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 28123 "parser_cocci_menhir.ml" in @@ -28153,13 +28153,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 28159 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 28165 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28167,7 +28167,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_ = -# 1403 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -28193,7 +28193,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1389 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) # 28199 "parser_cocci_menhir.ml" in @@ -28229,13 +28229,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 28235 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 106 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) # 28241 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28243,7 +28243,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1391 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) # 28250 "parser_cocci_menhir.ml" @@ -28276,7 +28276,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 28282 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28284,7 +28284,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1394 "parser_cocci_menhir.mly" +# 1418 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) # 28290 "parser_cocci_menhir.ml" in @@ -28316,7 +28316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Data.clt) # 28322 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28324,7 +28324,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1396 "parser_cocci_menhir.mly" +# 1420 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) # 28331 "parser_cocci_menhir.ml" @@ -28351,7 +28351,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 28357 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28359,7 +28359,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1399 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) # 28365 "parser_cocci_menhir.ml" in @@ -28385,7 +28385,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 28391 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28393,7 +28393,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1401 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) # 28399 "parser_cocci_menhir.ml" in @@ -28429,13 +28429,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 28435 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 28441 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -28443,7 +28443,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1403 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) @@ -28469,7 +28469,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_ = -# 1408 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 28475 "parser_cocci_menhir.ml" in @@ -28490,14 +28490,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28496 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 28504 "parser_cocci_menhir.ml" @@ -28519,14 +28519,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28525 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1437 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 28533 "parser_cocci_menhir.ml" @@ -28548,14 +28548,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28554 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 28562 "parser_cocci_menhir.ml" @@ -28577,14 +28577,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28583 "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_ = -# 1419 "parser_cocci_menhir.mly" +# 1443 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 28591 "parser_cocci_menhir.ml" @@ -28606,14 +28606,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 28612 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "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)) ) @@ -28636,14 +28636,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 28642 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 28650 "parser_cocci_menhir.ml" @@ -28665,14 +28665,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 28671 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1453 "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)) ) @@ -28695,14 +28695,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 28701 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1457 "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)) ) @@ -28725,14 +28725,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 28731 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1461 "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)) ) @@ -28765,20 +28765,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 28771 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 28777 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1465 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 28785 "parser_cocci_menhir.ml" @@ -28810,20 +28810,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 28816 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 28822 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1468 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -28850,7 +28850,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_ = -# 1448 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( _1 ) # 28856 "parser_cocci_menhir.ml" in @@ -28874,7 +28874,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1408 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 28880 "parser_cocci_menhir.ml" in @@ -28895,14 +28895,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28901 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 28909 "parser_cocci_menhir.ml" @@ -28924,14 +28924,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28930 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1437 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 28938 "parser_cocci_menhir.ml" @@ -28953,14 +28953,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28959 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 28967 "parser_cocci_menhir.ml" @@ -28982,14 +28982,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 28988 "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_ = -# 1419 "parser_cocci_menhir.mly" +# 1443 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 28996 "parser_cocci_menhir.ml" @@ -29011,14 +29011,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29017 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "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)) ) @@ -29041,14 +29041,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 29047 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 29055 "parser_cocci_menhir.ml" @@ -29070,14 +29070,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29076 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1453 "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)) ) @@ -29100,14 +29100,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29106 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1457 "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)) ) @@ -29130,14 +29130,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29136 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1461 "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)) ) @@ -29170,20 +29170,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 29176 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 29182 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1465 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 29190 "parser_cocci_menhir.ml" @@ -29215,20 +29215,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 29221 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 29227 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1468 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -29255,7 +29255,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1448 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( _1 ) # 29261 "parser_cocci_menhir.ml" in @@ -29279,7 +29279,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_ = -# 1408 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 29285 "parser_cocci_menhir.ml" in @@ -29300,14 +29300,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29306 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 29314 "parser_cocci_menhir.ml" @@ -29329,14 +29329,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29335 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1437 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 29343 "parser_cocci_menhir.ml" @@ -29358,14 +29358,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29364 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 29372 "parser_cocci_menhir.ml" @@ -29387,14 +29387,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29393 "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_ = -# 1419 "parser_cocci_menhir.mly" +# 1443 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 29401 "parser_cocci_menhir.ml" @@ -29416,14 +29416,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29422 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "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)) ) @@ -29446,14 +29446,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 29452 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 29460 "parser_cocci_menhir.ml" @@ -29475,14 +29475,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29481 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1453 "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)) ) @@ -29505,14 +29505,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29511 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1457 "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)) ) @@ -29535,14 +29535,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29541 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1461 "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)) ) @@ -29575,20 +29575,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 29581 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 29587 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1465 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 29595 "parser_cocci_menhir.ml" @@ -29620,20 +29620,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 29626 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 29632 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1468 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -29660,7 +29660,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_ = -# 1448 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( _1 ) # 29666 "parser_cocci_menhir.ml" in @@ -29684,7 +29684,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1408 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) # 29690 "parser_cocci_menhir.ml" in @@ -29705,14 +29705,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29711 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) # 29719 "parser_cocci_menhir.ml" @@ -29734,14 +29734,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29740 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1437 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) # 29748 "parser_cocci_menhir.ml" @@ -29763,14 +29763,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29769 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1440 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) # 29777 "parser_cocci_menhir.ml" @@ -29792,14 +29792,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 29798 "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_ = -# 1419 "parser_cocci_menhir.mly" +# 1443 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) # 29806 "parser_cocci_menhir.ml" @@ -29821,14 +29821,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29827 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1446 "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)) ) @@ -29851,14 +29851,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Parse_aux.expinfo) # 29857 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1450 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) # 29865 "parser_cocci_menhir.ml" @@ -29880,14 +29880,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29886 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1453 "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)) ) @@ -29910,14 +29910,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29916 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1457 "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)) ) @@ -29940,14 +29940,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 71 "parser_cocci_menhir.mly" +# 95 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) # 29946 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1461 "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)) ) @@ -29980,20 +29980,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 29986 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 29992 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1465 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) # 30000 "parser_cocci_menhir.ml" @@ -30025,20 +30025,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 30031 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 30037 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1468 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, @@ -30065,7 +30065,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1448 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( _1 ) # 30071 "parser_cocci_menhir.ml" in @@ -30087,7 +30087,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 196 "parser_cocci_menhir.mly" +# 220 "parser_cocci_menhir.mly" ( Ast0.Pure ) # 30093 "parser_cocci_menhir.ml" in @@ -30109,7 +30109,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 197 "parser_cocci_menhir.mly" +# 221 "parser_cocci_menhir.mly" ( Ast0.Context ) # 30115 "parser_cocci_menhir.ml" in @@ -30135,7 +30135,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 198 "parser_cocci_menhir.mly" +# 222 "parser_cocci_menhir.mly" ( Ast0.PureContext ) # 30141 "parser_cocci_menhir.ml" in @@ -30161,7 +30161,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 199 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" ( Ast0.PureContext ) # 30167 "parser_cocci_menhir.ml" in @@ -30178,7 +30178,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 = -# 200 "parser_cocci_menhir.mly" +# 224 "parser_cocci_menhir.mly" ( Ast0.Impure ) # 30184 "parser_cocci_menhir.ml" in @@ -30199,14 +30199,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 30205 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1462 "parser_cocci_menhir.mly" +# 1486 "parser_cocci_menhir.mly" ( _1 ) # 30212 "parser_cocci_menhir.ml" in @@ -30228,7 +30228,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1465 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( "identifier" ) # 30234 "parser_cocci_menhir.ml" in @@ -30250,7 +30250,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1466 "parser_cocci_menhir.mly" +# 1490 "parser_cocci_menhir.mly" ( "expression" ) # 30256 "parser_cocci_menhir.ml" in @@ -30272,7 +30272,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1467 "parser_cocci_menhir.mly" +# 1491 "parser_cocci_menhir.mly" ( "statement" ) # 30278 "parser_cocci_menhir.ml" in @@ -30294,7 +30294,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1468 "parser_cocci_menhir.mly" +# 1492 "parser_cocci_menhir.mly" ( "function" ) # 30300 "parser_cocci_menhir.ml" in @@ -30316,7 +30316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1469 "parser_cocci_menhir.mly" +# 1493 "parser_cocci_menhir.mly" ( "local" ) # 30322 "parser_cocci_menhir.ml" in @@ -30338,7 +30338,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1470 "parser_cocci_menhir.mly" +# 1494 "parser_cocci_menhir.mly" ( "type" ) # 30344 "parser_cocci_menhir.ml" in @@ -30360,7 +30360,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1471 "parser_cocci_menhir.mly" +# 1495 "parser_cocci_menhir.mly" ( "parameter" ) # 30366 "parser_cocci_menhir.ml" in @@ -30382,7 +30382,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1472 "parser_cocci_menhir.mly" +# 1496 "parser_cocci_menhir.mly" ( "idexpression" ) # 30388 "parser_cocci_menhir.ml" in @@ -30404,7 +30404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1473 "parser_cocci_menhir.mly" +# 1497 "parser_cocci_menhir.mly" ( "initialiser" ) # 30410 "parser_cocci_menhir.ml" in @@ -30426,7 +30426,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1474 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( "list" ) # 30432 "parser_cocci_menhir.ml" in @@ -30448,7 +30448,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1475 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( "fresh" ) # 30454 "parser_cocci_menhir.ml" in @@ -30470,7 +30470,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1476 "parser_cocci_menhir.mly" +# 1500 "parser_cocci_menhir.mly" ( "constant" ) # 30476 "parser_cocci_menhir.ml" in @@ -30492,7 +30492,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1477 "parser_cocci_menhir.mly" +# 1501 "parser_cocci_menhir.mly" ( "error" ) # 30498 "parser_cocci_menhir.ml" in @@ -30514,7 +30514,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1478 "parser_cocci_menhir.mly" +# 1502 "parser_cocci_menhir.mly" ( "words" ) # 30520 "parser_cocci_menhir.ml" in @@ -30536,7 +30536,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1479 "parser_cocci_menhir.mly" +# 1503 "parser_cocci_menhir.mly" ( "pure" ) # 30542 "parser_cocci_menhir.ml" in @@ -30558,7 +30558,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1480 "parser_cocci_menhir.mly" +# 1504 "parser_cocci_menhir.mly" ( "context" ) # 30564 "parser_cocci_menhir.ml" in @@ -30580,7 +30580,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1481 "parser_cocci_menhir.mly" +# 1505 "parser_cocci_menhir.mly" ( "generated" ) # 30586 "parser_cocci_menhir.ml" in @@ -30602,7 +30602,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1482 "parser_cocci_menhir.mly" +# 1506 "parser_cocci_menhir.mly" ( "typedef" ) # 30608 "parser_cocci_menhir.ml" in @@ -30624,7 +30624,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1483 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( "declarer" ) # 30630 "parser_cocci_menhir.ml" in @@ -30646,7 +30646,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1484 "parser_cocci_menhir.mly" +# 1508 "parser_cocci_menhir.mly" ( "iterator" ) # 30652 "parser_cocci_menhir.ml" in @@ -30668,7 +30668,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1485 "parser_cocci_menhir.mly" +# 1509 "parser_cocci_menhir.mly" ( "name" ) # 30674 "parser_cocci_menhir.ml" in @@ -30690,7 +30690,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1486 "parser_cocci_menhir.mly" +# 1510 "parser_cocci_menhir.mly" ( "position" ) # 30696 "parser_cocci_menhir.ml" in @@ -30714,7 +30714,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 = -# 1493 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) # 30720 "parser_cocci_menhir.ml" in @@ -30738,7 +30738,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 = -# 1494 "parser_cocci_menhir.mly" +# 1518 "parser_cocci_menhir.mly" ( (None,_1) ) # 30744 "parser_cocci_menhir.ml" in @@ -30762,7 +30762,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 = -# 1495 "parser_cocci_menhir.mly" +# 1519 "parser_cocci_menhir.mly" ( _1 ) # 30768 "parser_cocci_menhir.ml" in @@ -30792,7 +30792,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_ = -# 1521 "parser_cocci_menhir.mly" +# 1545 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) @@ -30826,7 +30826,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_ = -# 1521 "parser_cocci_menhir.mly" +# 1545 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) @@ -30860,7 +30860,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_ = -# 1539 "parser_cocci_menhir.mly" +# 1563 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) @@ -30894,7 +30894,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_ = -# 1529 "parser_cocci_menhir.mly" +# 1553 "parser_cocci_menhir.mly" ( Common.Left (match c with @@ -30931,7 +30931,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_ = -# 1535 "parser_cocci_menhir.mly" +# 1559 "parser_cocci_menhir.mly" ( Common.Right (P.id2name _3) ) # 30937 "parser_cocci_menhir.ml" in @@ -30955,7 +30955,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 = -# 1498 "parser_cocci_menhir.mly" +# 1522 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) # 30961 "parser_cocci_menhir.ml" in @@ -30989,7 +30989,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 = -# 1501 "parser_cocci_menhir.mly" +# 1525 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) @@ -31021,7 +31021,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_ = -# 1515 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( (i, l) ) @@ -31047,7 +31047,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 = -# 1600 "parser_cocci_menhir.mly" +# 1624 "parser_cocci_menhir.mly" (Ast0.NotIdCstrt re) # 31053 "parser_cocci_menhir.ml" in @@ -31071,7 +31071,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 = -# 1601 "parser_cocci_menhir.mly" +# 1625 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ne) # 31077 "parser_cocci_menhir.ml" in @@ -31095,7 +31095,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 = -# 1602 "parser_cocci_menhir.mly" +# 1626 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) # 31101 "parser_cocci_menhir.ml" in @@ -31119,7 +31119,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1546 "parser_cocci_menhir.mly" +# 1570 "parser_cocci_menhir.mly" (Ast.IdRegExpConstraint re) # 31125 "parser_cocci_menhir.ml" in @@ -31143,7 +31143,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1547 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" (ne) # 31149 "parser_cocci_menhir.ml" in @@ -31168,14 +31168,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 31174 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1551 "parser_cocci_menhir.mly" +# 1575 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -31205,14 +31205,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 31211 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1558 "parser_cocci_menhir.mly" +# 1582 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -31234,11 +31234,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 : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (unit) # 31240 "parser_cocci_menhir.ml" ) = -# 178 "parser_cocci_menhir.mly" +# 202 "parser_cocci_menhir.mly" ( ) # 31244 "parser_cocci_menhir.ml" in @@ -31262,7 +31262,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 990 "parser_cocci_menhir.mly" +# 1014 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) # 31268 "parser_cocci_menhir.ml" in @@ -31288,7 +31288,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 31294 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -31296,7 +31296,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 991 "parser_cocci_menhir.mly" +# 1015 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) # 31302 "parser_cocci_menhir.ml" in @@ -31327,20 +31327,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 31333 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 31339 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 992 "parser_cocci_menhir.mly" +# 1016 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) # 31346 "parser_cocci_menhir.ml" in @@ -31366,19 +31366,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 31372 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 31377 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 993 "parser_cocci_menhir.mly" +# 1017 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) # 31384 "parser_cocci_menhir.ml" in @@ -31404,19 +31404,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 31410 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 31415 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 994 "parser_cocci_menhir.mly" +# 1018 "parser_cocci_menhir.mly" ( P.break _1 _2 ) # 31422 "parser_cocci_menhir.ml" in @@ -31442,19 +31442,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 31448 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 31453 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 995 "parser_cocci_menhir.mly" +# 1019 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) # 31460 "parser_cocci_menhir.ml" in @@ -31485,20 +31485,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 31491 "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 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 31497 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 997 "parser_cocci_menhir.mly" +# 1021 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, @@ -31558,7 +31558,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 31564 "parser_cocci_menhir.ml" ) = let nm = @@ -31569,7 +31569,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) # 31575 "parser_cocci_menhir.ml" in @@ -31631,7 +31631,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_x0_ in let _endpos = _endpos__8_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 31637 "parser_cocci_menhir.ml" ) = let nm = @@ -31643,7 +31643,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 208 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) # 31649 "parser_cocci_menhir.ml" in @@ -31703,11 +31703,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 31709 "parser_cocci_menhir.ml" ) = -# 213 "parser_cocci_menhir.mly" +# 237 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) # 31713 "parser_cocci_menhir.ml" in @@ -31749,7 +31749,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 31755 "parser_cocci_menhir.ml" ) = let nm = @@ -31760,7 +31760,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 215 "parser_cocci_menhir.mly" +# 239 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) # 31766 "parser_cocci_menhir.ml" in @@ -31808,7 +31808,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__6_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 31814 "parser_cocci_menhir.ml" ) = let nm = @@ -31820,7 +31820,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 215 "parser_cocci_menhir.mly" +# 239 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) # 31826 "parser_cocci_menhir.ml" in @@ -31862,11 +31862,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 31868 "parser_cocci_menhir.ml" ) = -# 217 "parser_cocci_menhir.mly" +# 241 "parser_cocci_menhir.mly" ( P.make_initial_script_rule_name_result lang d ) # 31872 "parser_cocci_menhir.ml" in @@ -31908,11 +31908,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 31914 "parser_cocci_menhir.ml" ) = -# 219 "parser_cocci_menhir.mly" +# 243 "parser_cocci_menhir.mly" ( P.make_final_script_rule_name_result lang d ) # 31918 "parser_cocci_menhir.ml" in @@ -31940,11 +31940,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_py_ in let _endpos = _endpos__2_ in let _v : ( -# 165 "parser_cocci_menhir.mly" +# 189 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 31946 "parser_cocci_menhir.ml" ) = -# 2092 "parser_cocci_menhir.mly" +# 2116 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), None) ) # 31950 "parser_cocci_menhir.ml" in @@ -31978,11 +31978,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_py_ in let _endpos = _endpos__3_ in let _v : ( -# 165 "parser_cocci_menhir.mly" +# 189 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 31984 "parser_cocci_menhir.ml" ) = -# 2094 "parser_cocci_menhir.mly" +# 2118 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), Some _2) ) # 31988 "parser_cocci_menhir.ml" in @@ -32032,11 +32032,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 165 "parser_cocci_menhir.mly" +# 189 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 32038 "parser_cocci_menhir.ml" ) = -# 2096 "parser_cocci_menhir.mly" +# 2120 "parser_cocci_menhir.mly" ( ((None, Some (P.id2name ast)), Some _6) ) # 32042 "parser_cocci_menhir.ml" in @@ -32086,11 +32086,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 165 "parser_cocci_menhir.mly" +# 189 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 32092 "parser_cocci_menhir.ml" ) = -# 2098 "parser_cocci_menhir.mly" +# 2122 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), None), Some _6) ) # 32096 "parser_cocci_menhir.ml" in @@ -32142,11 +32142,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 165 "parser_cocci_menhir.mly" +# 189 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 32148 "parser_cocci_menhir.ml" ) = -# 2100 "parser_cocci_menhir.mly" +# 2124 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) ) # 32152 "parser_cocci_menhir.ml" in @@ -32181,14 +32181,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let cocci : 'tv_pure_ident = Obj.magic cocci in let _2 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 32187 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2104 "parser_cocci_menhir.mly" +# 2128 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in let mv = Parse_aux.lookup _2 nm in ((_2, nm), mv) ) @@ -32226,7 +32226,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2108 "parser_cocci_menhir.mly" +# 2132 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in let name = ("virtual", nm) in let mv = Ast.MetaIdDecl(Ast.NONE,name) in @@ -32250,14 +32250,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 32256 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1506 "parser_cocci_menhir.mly" +# 1530 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) # 32263 "parser_cocci_menhir.ml" in @@ -32278,14 +32278,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.idinfo) # 32284 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1507 "parser_cocci_menhir.mly" +# 1531 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) # 32291 "parser_cocci_menhir.ml" in @@ -32316,14 +32316,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident = Obj.magic _3 in let _1 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 32322 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1509 "parser_cocci_menhir.mly" +# 1533 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) @@ -32346,7 +32346,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 32352 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -32384,7 +32384,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in let x : ( -# 91 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (string * Data.clt) # 32390 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -33285,7 +33285,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 1005 "parser_cocci_menhir.mly" +# 1029 "parser_cocci_menhir.mly" ( _1 ) # 33291 "parser_cocci_menhir.ml" in @@ -33316,20 +33316,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33322 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33328 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 1009 "parser_cocci_menhir.mly" +# 1033 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, @@ -33357,7 +33357,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 932 "parser_cocci_menhir.mly" +# 956 "parser_cocci_menhir.mly" ( _1 ) # 33363 "parser_cocci_menhir.ml" in @@ -33378,14 +33378,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 33384 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 934 "parser_cocci_menhir.mly" +# 958 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) # 33391 "parser_cocci_menhir.ml" in @@ -33411,7 +33411,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 33417 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -33419,7 +33419,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 936 "parser_cocci_menhir.mly" +# 960 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) # 33425 "parser_cocci_menhir.ml" in @@ -33461,25 +33461,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33467 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33473 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33478 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 938 "parser_cocci_menhir.mly" +# 962 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) # 33485 "parser_cocci_menhir.ml" in @@ -33531,31 +33531,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _7 : 'tv_single_statement = Obj.magic _7 in let _6 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33537 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33543 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33549 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33554 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 940 "parser_cocci_menhir.mly" +# 964 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) # 33561 "parser_cocci_menhir.ml" in @@ -33617,37 +33617,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _9 : 'tv_single_statement = Obj.magic _9 in let _8 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33623 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 33629 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 33635 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33641 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33646 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 943 "parser_cocci_menhir.mly" +# 967 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) # 33653 "parser_cocci_menhir.ml" in @@ -33689,25 +33689,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33695 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33701 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33706 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 945 "parser_cocci_menhir.mly" +# 969 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) # 33713 "parser_cocci_menhir.ml" in @@ -33758,36 +33758,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _7 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 33764 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33769 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33775 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33780 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33786 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 947 "parser_cocci_menhir.mly" +# 971 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) # 33793 "parser_cocci_menhir.ml" in @@ -33829,13 +33829,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33835 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33841 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -33843,7 +33843,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 949 "parser_cocci_menhir.mly" +# 973 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) # 33849 "parser_cocci_menhir.ml" in @@ -33899,37 +33899,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _8 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 33905 "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 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 33912 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 33917 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 33923 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33928 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 951 "parser_cocci_menhir.mly" +# 975 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) # 33935 "parser_cocci_menhir.ml" in @@ -33960,20 +33960,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 33966 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 33972 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 952 "parser_cocci_menhir.mly" +# 976 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) # 33979 "parser_cocci_menhir.ml" in @@ -33999,19 +33999,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34005 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 60 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Data.clt) # 34010 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 953 "parser_cocci_menhir.mly" +# 977 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) # 34017 "parser_cocci_menhir.ml" in @@ -34037,19 +34037,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34043 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 34048 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 954 "parser_cocci_menhir.mly" +# 978 "parser_cocci_menhir.mly" ( P.break _1 _2 ) # 34055 "parser_cocci_menhir.ml" in @@ -34075,19 +34075,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34081 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 34086 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 955 "parser_cocci_menhir.mly" +# 979 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) # 34093 "parser_cocci_menhir.ml" in @@ -34113,7 +34113,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 34119 "parser_cocci_menhir.ml" ) = Obj.magic _2 in @@ -34121,7 +34121,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 956 "parser_cocci_menhir.mly" +# 980 "parser_cocci_menhir.mly" ( P.label _1 _2 ) # 34127 "parser_cocci_menhir.ml" in @@ -34152,20 +34152,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34158 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 34164 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 957 "parser_cocci_menhir.mly" +# 981 "parser_cocci_menhir.mly" ( P.goto _1 _2 _3 ) # 34171 "parser_cocci_menhir.ml" in @@ -34196,20 +34196,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 34202 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 34208 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 959 "parser_cocci_menhir.mly" +# 983 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) # 34215 "parser_cocci_menhir.ml" in @@ -34236,14 +34236,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 34242 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 963 "parser_cocci_menhir.mly" +# 987 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) # 34249 "parser_cocci_menhir.ml" in @@ -34279,21 +34279,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 34285 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 34292 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 965 "parser_cocci_menhir.mly" +# 989 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) # 34300 "parser_cocci_menhir.ml" @@ -34330,21 +34330,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 34336 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 34343 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 968 "parser_cocci_menhir.mly" +# 992 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) # 34351 "parser_cocci_menhir.ml" @@ -34366,14 +34366,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 34372 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 894 "parser_cocci_menhir.mly" +# 918 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) # 34379 "parser_cocci_menhir.ml" in @@ -34394,14 +34394,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 34400 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 895 "parser_cocci_menhir.mly" +# 919 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) # 34407 "parser_cocci_menhir.ml" in @@ -34422,14 +34422,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 34428 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 896 "parser_cocci_menhir.mly" +# 920 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) # 34435 "parser_cocci_menhir.ml" in @@ -34450,14 +34450,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 56 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) # 34456 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 897 "parser_cocci_menhir.mly" +# 921 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) # 34463 "parser_cocci_menhir.ml" in @@ -34479,7 +34479,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 628 "parser_cocci_menhir.mly" +# 652 "parser_cocci_menhir.mly" ( [] ) # 34485 "parser_cocci_menhir.ml" in @@ -34503,7 +34503,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 629 "parser_cocci_menhir.mly" +# 653 "parser_cocci_menhir.mly" ( [_1] ) # 34509 "parser_cocci_menhir.ml" in @@ -34527,7 +34527,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 651 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) # 34533 "parser_cocci_menhir.ml" in @@ -34551,7 +34551,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 654 "parser_cocci_menhir.mly" +# 678 "parser_cocci_menhir.mly" ( _1 ) # 34557 "parser_cocci_menhir.ml" in @@ -34581,7 +34581,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 655 "parser_cocci_menhir.mly" +# 679 "parser_cocci_menhir.mly" ( _1@_2 ) # 34587 "parser_cocci_menhir.ml" in @@ -34611,7 +34611,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 657 "parser_cocci_menhir.mly" +# 681 "parser_cocci_menhir.mly" ( (P.mkddots_one "..." d)::r ) # 34617 "parser_cocci_menhir.ml" in @@ -34632,14 +34632,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 69 "parser_cocci_menhir.mly" +# 93 "parser_cocci_menhir.mly" (Parse_aux.info) # 34638 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 632 "parser_cocci_menhir.mly" +# 656 "parser_cocci_menhir.mly" ( P.meta_field _1 ) # 34645 "parser_cocci_menhir.ml" in @@ -34670,7 +34670,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34676 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -34679,7 +34679,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl_one = -# 634 "parser_cocci_menhir.mly" +# 658 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) # 34686 "parser_cocci_menhir.ml" @@ -34741,34 +34741,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34747 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 34752 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 34758 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 34763 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 34769 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 34774 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in @@ -34776,7 +34776,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl_one = -# 638 "parser_cocci_menhir.mly" +# 662 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -34813,7 +34813,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34819 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -34829,7 +34829,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 646 "parser_cocci_menhir.mly" +# 670 "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)) ) @@ -34867,7 +34867,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 111 "parser_cocci_menhir.mly" +# 135 "parser_cocci_menhir.mly" (Data.clt) # 34873 "parser_cocci_menhir.ml" ) = Obj.magic pv in @@ -34885,7 +34885,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 646 "parser_cocci_menhir.mly" +# 670 "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)) ) @@ -34908,14 +34908,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 34914 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 624 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) # 34921 "parser_cocci_menhir.ml" in @@ -34936,14 +34936,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let u : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 34942 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 625 "parser_cocci_menhir.mly" +# 649 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) # 34949 "parser_cocci_menhir.ml" in @@ -34971,7 +34971,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_sub = -# 1646 "parser_cocci_menhir.mly" +# 1670 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -35014,7 +35014,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_sub = -# 1655 "parser_cocci_menhir.mly" +# 1679 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -35046,7 +35046,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1274 "parser_cocci_menhir.mly" +# 1298 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) # 35052 "parser_cocci_menhir.ml" in @@ -35077,20 +35077,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 35083 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 35089 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 1881 "parser_cocci_menhir.mly" +# 1905 "parser_cocci_menhir.mly" ( if P.struct_initializer _2 then let il = P.drop_dot_commas _2 in @@ -35112,7 +35112,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 = -# 1869 "parser_cocci_menhir.mly" +# 1893 "parser_cocci_menhir.mly" ([]) # 35118 "parser_cocci_menhir.ml" in @@ -35140,7 +35140,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1870 "parser_cocci_menhir.mly" +# 1894 "parser_cocci_menhir.mly" (_2) # 35146 "parser_cocci_menhir.ml" in @@ -35170,7 +35170,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1871 "parser_cocci_menhir.mly" +# 1895 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) # 35176 "parser_cocci_menhir.ml" in @@ -35200,7 +35200,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1872 "parser_cocci_menhir.mly" +# 1896 "parser_cocci_menhir.mly" (_1@_2) # 35206 "parser_cocci_menhir.ml" in @@ -35228,7 +35228,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1860 "parser_cocci_menhir.mly" +# 1884 "parser_cocci_menhir.mly" (_2) # 35234 "parser_cocci_menhir.ml" in @@ -35258,7 +35258,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1861 "parser_cocci_menhir.mly" +# 1885 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) # 35264 "parser_cocci_menhir.ml" in @@ -35288,7 +35288,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1862 "parser_cocci_menhir.mly" +# 1886 "parser_cocci_menhir.mly" (_1@_2) # 35294 "parser_cocci_menhir.ml" in @@ -35305,7 +35305,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 = -# 1865 "parser_cocci_menhir.mly" +# 1889 "parser_cocci_menhir.mly" ([]) # 35311 "parser_cocci_menhir.ml" in @@ -35335,7 +35335,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 1866 "parser_cocci_menhir.mly" +# 1890 "parser_cocci_menhir.mly" (_1::_2) # 35341 "parser_cocci_menhir.ml" in @@ -35352,7 +35352,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 = -# 1875 "parser_cocci_menhir.mly" +# 1899 "parser_cocci_menhir.mly" ([]) # 35358 "parser_cocci_menhir.ml" in @@ -35382,7 +35382,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1876 "parser_cocci_menhir.mly" +# 1900 "parser_cocci_menhir.mly" (_1::_2) # 35388 "parser_cocci_menhir.ml" in @@ -35412,7 +35412,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1877 "parser_cocci_menhir.mly" +# 1901 "parser_cocci_menhir.mly" (_1@_2) # 35418 "parser_cocci_menhir.ml" in @@ -35442,7 +35442,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_ = -# 1855 "parser_cocci_menhir.mly" +# 1879 "parser_cocci_menhir.mly" ( _1::_2 ) # 35448 "parser_cocci_menhir.ml" in @@ -35472,7 +35472,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_ = -# 1856 "parser_cocci_menhir.mly" +# 1880 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) # 35478 "parser_cocci_menhir.ml" in @@ -35502,7 +35502,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_ = -# 1857 "parser_cocci_menhir.mly" +# 1881 "parser_cocci_menhir.mly" ( _1@_2 ) # 35508 "parser_cocci_menhir.ml" in @@ -35535,7 +35535,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 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35541 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -35545,13 +35545,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 973 "parser_cocci_menhir.mly" +# 997 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) # 35551 "parser_cocci_menhir.ml" in -# 1848 "parser_cocci_menhir.mly" +# 1872 "parser_cocci_menhir.mly" ( a::b ) # 35557 "parser_cocci_menhir.ml" in @@ -35593,14 +35593,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35599 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35606 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -35612,14 +35612,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 977 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) # 35619 "parser_cocci_menhir.ml" in -# 1849 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( a::b ) # 35625 "parser_cocci_menhir.ml" in @@ -35661,14 +35661,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35667 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35674 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -35680,14 +35680,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 980 "parser_cocci_menhir.mly" +# 1004 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) # 35687 "parser_cocci_menhir.ml" in -# 1849 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( a::b ) # 35693 "parser_cocci_menhir.ml" in @@ -35723,14 +35723,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35729 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35736 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -35742,14 +35742,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 977 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) # 35749 "parser_cocci_menhir.ml" in -# 1850 "parser_cocci_menhir.mly" +# 1874 "parser_cocci_menhir.mly" ( [a] ) # 35755 "parser_cocci_menhir.ml" in @@ -35785,14 +35785,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35791 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 101 "parser_cocci_menhir.mly" (Data.clt) # 35798 "parser_cocci_menhir.ml" ) = Obj.magic a0 in @@ -35804,14 +35804,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 980 "parser_cocci_menhir.mly" +# 1004 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) # 35811 "parser_cocci_menhir.ml" in -# 1850 "parser_cocci_menhir.mly" +# 1874 "parser_cocci_menhir.mly" ( [a] ) # 35817 "parser_cocci_menhir.ml" in @@ -35841,7 +35841,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_ = -# 1851 "parser_cocci_menhir.mly" +# 1875 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) # 35847 "parser_cocci_menhir.ml" in @@ -35871,7 +35871,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_ = -# 1852 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( _1@_2 ) # 35877 "parser_cocci_menhir.ml" in @@ -35903,12 +35903,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 35909 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 35914 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -35920,13 +35920,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 35926 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 35932 "parser_cocci_menhir.ml" @@ -35939,7 +35939,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 35945 "parser_cocci_menhir.ml" in @@ -35971,12 +35971,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 35977 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 35982 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -35988,13 +35988,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 35994 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 36000 "parser_cocci_menhir.ml" @@ -36007,7 +36007,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36013 "parser_cocci_menhir.ml" in @@ -36039,12 +36039,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36045 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36050 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36056,13 +36056,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 36062 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 36068 "parser_cocci_menhir.ml" @@ -36075,7 +36075,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36081 "parser_cocci_menhir.ml" in @@ -36107,12 +36107,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 36113 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36118 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36124,14 +36124,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 36131 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 36137 "parser_cocci_menhir.ml" @@ -36144,7 +36144,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36150 "parser_cocci_menhir.ml" in @@ -36185,17 +36185,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 36191 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 36196 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36201 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -36209,7 +36209,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -36220,7 +36220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 36226 "parser_cocci_menhir.ml" @@ -36233,7 +36233,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36239 "parser_cocci_menhir.ml" in @@ -36265,12 +36265,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36271 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36276 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36282,13 +36282,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 36288 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 36294 "parser_cocci_menhir.ml" @@ -36301,7 +36301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36307 "parser_cocci_menhir.ml" in @@ -36338,17 +36338,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36344 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36349 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36354 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36362,7 +36362,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -36371,7 +36371,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 36377 "parser_cocci_menhir.ml" @@ -36384,7 +36384,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36390 "parser_cocci_menhir.ml" in @@ -36416,12 +36416,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36422 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36427 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36433,13 +36433,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 36439 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 36445 "parser_cocci_menhir.ml" @@ -36452,7 +36452,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36458 "parser_cocci_menhir.ml" in @@ -36484,12 +36484,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36490 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36495 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36501,13 +36501,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 36507 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 36513 "parser_cocci_menhir.ml" @@ -36520,7 +36520,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36526 "parser_cocci_menhir.ml" in @@ -36552,12 +36552,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36558 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36563 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36569,13 +36569,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 36575 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 36581 "parser_cocci_menhir.ml" @@ -36588,7 +36588,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36594 "parser_cocci_menhir.ml" in @@ -36620,12 +36620,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 36626 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36631 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36637,14 +36637,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 36644 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 36650 "parser_cocci_menhir.ml" @@ -36657,7 +36657,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36663 "parser_cocci_menhir.ml" in @@ -36698,17 +36698,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 36704 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 36709 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36714 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -36722,7 +36722,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -36733,7 +36733,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 36739 "parser_cocci_menhir.ml" @@ -36746,7 +36746,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36752 "parser_cocci_menhir.ml" in @@ -36778,12 +36778,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36784 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36789 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36795,13 +36795,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 36801 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 36807 "parser_cocci_menhir.ml" @@ -36814,7 +36814,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36820 "parser_cocci_menhir.ml" in @@ -36851,17 +36851,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36857 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36862 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 36867 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -36875,7 +36875,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -36884,7 +36884,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 36890 "parser_cocci_menhir.ml" @@ -36897,7 +36897,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36903 "parser_cocci_menhir.ml" in @@ -36924,7 +36924,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36930 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -36935,13 +36935,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 36941 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 36947 "parser_cocci_menhir.ml" @@ -36954,7 +36954,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 36960 "parser_cocci_menhir.ml" in @@ -36981,7 +36981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 36987 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -36992,13 +36992,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 36998 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 37004 "parser_cocci_menhir.ml" @@ -37011,7 +37011,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37017 "parser_cocci_menhir.ml" in @@ -37038,7 +37038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 37044 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37049,13 +37049,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 37055 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 37061 "parser_cocci_menhir.ml" @@ -37068,7 +37068,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37074 "parser_cocci_menhir.ml" in @@ -37095,7 +37095,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 37101 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -37106,14 +37106,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 37113 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 37119 "parser_cocci_menhir.ml" @@ -37126,7 +37126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37132 "parser_cocci_menhir.ml" in @@ -37162,12 +37162,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 37168 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 37173 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -37180,7 +37180,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -37191,7 +37191,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 37197 "parser_cocci_menhir.ml" @@ -37204,7 +37204,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37210 "parser_cocci_menhir.ml" in @@ -37231,7 +37231,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 37237 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37242,13 +37242,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 37248 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 37254 "parser_cocci_menhir.ml" @@ -37261,7 +37261,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37267 "parser_cocci_menhir.ml" in @@ -37293,12 +37293,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 37299 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 37304 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -37311,7 +37311,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -37320,7 +37320,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 37326 "parser_cocci_menhir.ml" @@ -37333,7 +37333,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37339 "parser_cocci_menhir.ml" in @@ -37360,7 +37360,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 37366 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37371,13 +37371,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 37377 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37383 "parser_cocci_menhir.ml" @@ -37390,7 +37390,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37396 "parser_cocci_menhir.ml" in @@ -37417,7 +37417,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 37423 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37428,13 +37428,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 37434 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37440 "parser_cocci_menhir.ml" @@ -37447,7 +37447,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37453 "parser_cocci_menhir.ml" in @@ -37474,7 +37474,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 37480 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37485,13 +37485,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 37491 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37497 "parser_cocci_menhir.ml" @@ -37504,7 +37504,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37510 "parser_cocci_menhir.ml" in @@ -37531,7 +37531,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 37537 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37542,13 +37542,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 37548 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37554 "parser_cocci_menhir.ml" @@ -37561,7 +37561,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37567 "parser_cocci_menhir.ml" in @@ -37588,7 +37588,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 37594 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37599,13 +37599,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 37605 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37611 "parser_cocci_menhir.ml" @@ -37618,7 +37618,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37624 "parser_cocci_menhir.ml" in @@ -37645,7 +37645,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 37651 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -37656,13 +37656,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 37662 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37668 "parser_cocci_menhir.ml" @@ -37675,7 +37675,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37681 "parser_cocci_menhir.ml" in @@ -37708,7 +37708,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 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 37714 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -37721,13 +37721,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 593 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 37727 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37733 "parser_cocci_menhir.ml" @@ -37740,7 +37740,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37746 "parser_cocci_menhir.ml" in @@ -37782,18 +37782,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 37788 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 37794 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 37799 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -37817,7 +37817,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -37826,7 +37826,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37832 "parser_cocci_menhir.ml" @@ -37839,7 +37839,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37845 "parser_cocci_menhir.ml" in @@ -37886,19 +37886,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 37892 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 37898 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 37904 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -37925,7 +37925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -37934,7 +37934,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 37940 "parser_cocci_menhir.ml" @@ -37947,7 +37947,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 37953 "parser_cocci_menhir.ml" in @@ -37989,13 +37989,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 600 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 37995 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 38001 "parser_cocci_menhir.ml" @@ -38008,7 +38008,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38014 "parser_cocci_menhir.ml" in @@ -38050,13 +38050,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 38056 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 38062 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -38081,7 +38081,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -38091,7 +38091,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 38097 "parser_cocci_menhir.ml" @@ -38104,7 +38104,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38110 "parser_cocci_menhir.ml" in @@ -38151,13 +38151,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 38157 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 38163 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -38186,7 +38186,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -38196,7 +38196,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 38202 "parser_cocci_menhir.ml" @@ -38209,7 +38209,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38215 "parser_cocci_menhir.ml" in @@ -38251,18 +38251,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 38257 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 38263 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 38268 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -38279,7 +38279,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 609 "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)) ) @@ -38287,7 +38287,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 38293 "parser_cocci_menhir.ml" @@ -38300,7 +38300,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38306 "parser_cocci_menhir.ml" in @@ -38327,7 +38327,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 38333 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -38338,13 +38338,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 613 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 38344 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 38350 "parser_cocci_menhir.ml" @@ -38357,7 +38357,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38363 "parser_cocci_menhir.ml" in @@ -38394,12 +38394,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38400 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38405 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38412,13 +38412,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 38418 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 38424 "parser_cocci_menhir.ml" @@ -38432,7 +38432,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38438 "parser_cocci_menhir.ml" in @@ -38469,12 +38469,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38475 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38480 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38487,13 +38487,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 38493 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 38499 "parser_cocci_menhir.ml" @@ -38507,7 +38507,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38513 "parser_cocci_menhir.ml" in @@ -38544,12 +38544,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38550 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38555 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38562,13 +38562,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 38568 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 38574 "parser_cocci_menhir.ml" @@ -38582,7 +38582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38588 "parser_cocci_menhir.ml" in @@ -38619,12 +38619,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 38625 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38630 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38637,14 +38637,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 38644 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 38650 "parser_cocci_menhir.ml" @@ -38658,7 +38658,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38664 "parser_cocci_menhir.ml" in @@ -38704,17 +38704,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 38710 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 38715 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38720 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -38729,7 +38729,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -38740,7 +38740,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 38746 "parser_cocci_menhir.ml" @@ -38754,7 +38754,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38760 "parser_cocci_menhir.ml" in @@ -38791,12 +38791,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38797 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38802 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38809,13 +38809,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 38815 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 38821 "parser_cocci_menhir.ml" @@ -38829,7 +38829,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38835 "parser_cocci_menhir.ml" in @@ -38871,17 +38871,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38877 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38882 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38887 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38896,7 +38896,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -38905,7 +38905,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 594 "parser_cocci_menhir.mly" +# 618 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) # 38911 "parser_cocci_menhir.ml" @@ -38919,7 +38919,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 38925 "parser_cocci_menhir.ml" in @@ -38956,12 +38956,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38962 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 38967 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -38974,13 +38974,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 38980 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 38986 "parser_cocci_menhir.ml" @@ -38994,7 +38994,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39000 "parser_cocci_menhir.ml" in @@ -39031,12 +39031,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39037 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 39042 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -39049,13 +39049,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 39055 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 39061 "parser_cocci_menhir.ml" @@ -39069,7 +39069,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39075 "parser_cocci_menhir.ml" in @@ -39106,12 +39106,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39112 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 39117 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -39124,13 +39124,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 39130 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 39136 "parser_cocci_menhir.ml" @@ -39144,7 +39144,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39150 "parser_cocci_menhir.ml" in @@ -39181,12 +39181,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 39187 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 39192 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -39199,14 +39199,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 39206 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 39212 "parser_cocci_menhir.ml" @@ -39220,7 +39220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39226 "parser_cocci_menhir.ml" in @@ -39266,17 +39266,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 39272 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 39277 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 39282 "parser_cocci_menhir.ml" ) = Obj.magic r1 in @@ -39291,7 +39291,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -39302,7 +39302,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 39308 "parser_cocci_menhir.ml" @@ -39316,7 +39316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39322 "parser_cocci_menhir.ml" in @@ -39353,12 +39353,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39359 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 39364 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -39371,13 +39371,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 39377 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 39383 "parser_cocci_menhir.ml" @@ -39391,7 +39391,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39397 "parser_cocci_menhir.ml" in @@ -39433,17 +39433,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39439 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39444 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 54 "parser_cocci_menhir.mly" +# 78 "parser_cocci_menhir.mly" (Data.clt) # 39449 "parser_cocci_menhir.ml" ) = Obj.magic r0 in @@ -39458,7 +39458,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -39467,7 +39467,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 596 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) # 39473 "parser_cocci_menhir.ml" @@ -39481,7 +39481,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39487 "parser_cocci_menhir.ml" in @@ -39513,7 +39513,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39519 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39525,13 +39525,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) # 39531 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 39537 "parser_cocci_menhir.ml" @@ -39545,7 +39545,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39551 "parser_cocci_menhir.ml" in @@ -39577,7 +39577,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39583 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39589,13 +39589,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) # 39595 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 39601 "parser_cocci_menhir.ml" @@ -39609,7 +39609,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39615 "parser_cocci_menhir.ml" in @@ -39641,7 +39641,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39647 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39653,13 +39653,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) # 39659 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 39665 "parser_cocci_menhir.ml" @@ -39673,7 +39673,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39679 "parser_cocci_menhir.ml" in @@ -39705,7 +39705,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 39711 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -39717,14 +39717,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 39724 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 39730 "parser_cocci_menhir.ml" @@ -39738,7 +39738,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39744 "parser_cocci_menhir.ml" in @@ -39779,12 +39779,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 39785 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 49 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (string) # 39790 "parser_cocci_menhir.ml" ) = Obj.magic r00 in @@ -39798,7 +39798,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 564 "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 *) @@ -39809,7 +39809,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 39815 "parser_cocci_menhir.ml" @@ -39823,7 +39823,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39829 "parser_cocci_menhir.ml" in @@ -39855,7 +39855,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39861 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -39867,13 +39867,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 571 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) # 39873 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 39879 "parser_cocci_menhir.ml" @@ -39887,7 +39887,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39893 "parser_cocci_menhir.ml" in @@ -39924,12 +39924,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39930 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 39935 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in @@ -39943,7 +39943,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 573 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, @@ -39952,7 +39952,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 597 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( ty ) # 39958 "parser_cocci_menhir.ml" @@ -39966,7 +39966,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 39972 "parser_cocci_menhir.ml" in @@ -39998,7 +39998,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 40004 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -40010,13 +40010,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) # 40016 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40022 "parser_cocci_menhir.ml" @@ -40030,7 +40030,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40036 "parser_cocci_menhir.ml" in @@ -40062,7 +40062,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 40068 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -40074,13 +40074,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) # 40080 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40086 "parser_cocci_menhir.ml" @@ -40094,7 +40094,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40100 "parser_cocci_menhir.ml" in @@ -40126,7 +40126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 51 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 40132 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -40138,13 +40138,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) # 40144 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40150 "parser_cocci_menhir.ml" @@ -40158,7 +40158,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40164 "parser_cocci_menhir.ml" in @@ -40190,7 +40190,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 40196 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -40202,13 +40202,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) # 40208 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40214 "parser_cocci_menhir.ml" @@ -40222,7 +40222,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40228 "parser_cocci_menhir.ml" in @@ -40254,7 +40254,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 40260 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -40266,13 +40266,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) # 40272 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40278 "parser_cocci_menhir.ml" @@ -40286,7 +40286,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40292 "parser_cocci_menhir.ml" in @@ -40318,7 +40318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 52 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 40324 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in @@ -40330,13 +40330,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) # 40336 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40342 "parser_cocci_menhir.ml" @@ -40350,7 +40350,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40356 "parser_cocci_menhir.ml" in @@ -40388,7 +40388,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 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 40394 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -40402,13 +40402,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 593 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) # 40408 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40414 "parser_cocci_menhir.ml" @@ -40422,7 +40422,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40428 "parser_cocci_menhir.ml" in @@ -40469,18 +40469,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40475 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40481 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 40486 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -40505,7 +40505,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -40514,7 +40514,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40520 "parser_cocci_menhir.ml" @@ -40528,7 +40528,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40534 "parser_cocci_menhir.ml" in @@ -40580,19 +40580,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40586 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40592 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 53 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (Data.clt) # 40598 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -40620,7 +40620,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 571 "parser_cocci_menhir.mly" +# 595 "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)), @@ -40629,7 +40629,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40635 "parser_cocci_menhir.ml" @@ -40643,7 +40643,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40649 "parser_cocci_menhir.ml" in @@ -40691,13 +40691,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 600 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) # 40697 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40703 "parser_cocci_menhir.ml" @@ -40711,7 +40711,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40717 "parser_cocci_menhir.ml" in @@ -40758,13 +40758,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40764 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40770 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -40790,7 +40790,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -40800,7 +40800,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40806 "parser_cocci_menhir.ml" @@ -40814,7 +40814,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40820 "parser_cocci_menhir.ml" in @@ -40866,13 +40866,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40872 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40878 "parser_cocci_menhir.ml" ) = Obj.magic l00 in @@ -40902,7 +40902,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 579 "parser_cocci_menhir.mly" +# 603 "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)), @@ -40912,7 +40912,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 40918 "parser_cocci_menhir.ml" @@ -40926,7 +40926,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 40932 "parser_cocci_menhir.ml" in @@ -40973,18 +40973,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40979 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 105 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Data.clt) # 40985 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 40990 "parser_cocci_menhir.ml" ) = Obj.magic s00 in @@ -41002,7 +41002,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 609 "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)) ) @@ -41010,7 +41010,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 41016 "parser_cocci_menhir.ml" @@ -41024,7 +41024,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41030 "parser_cocci_menhir.ml" in @@ -41056,7 +41056,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 62 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (string * Data.clt) # 41062 "parser_cocci_menhir.ml" ) = Obj.magic p00 in @@ -41068,13 +41068,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 613 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) # 41074 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( ty ) # 41080 "parser_cocci_menhir.ml" @@ -41088,7 +41088,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct in -# 615 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) # 41094 "parser_cocci_menhir.ml" in @@ -41119,20 +41119,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 41125 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 41131 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 617 "parser_cocci_menhir.mly" +# 641 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) @@ -41158,7 +41158,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1727 "parser_cocci_menhir.mly" +# 1751 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) # 41164 "parser_cocci_menhir.ml" in @@ -41179,14 +41179,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 92 "parser_cocci_menhir.mly" (Parse_aux.info) # 41185 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1729 "parser_cocci_menhir.mly" +# 1753 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) # 41193 "parser_cocci_menhir.ml" @@ -41211,7 +41211,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_ = -# 1365 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( _1 ) # 41217 "parser_cocci_menhir.ml" in @@ -41238,14 +41238,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 41244 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 41251 "parser_cocci_menhir.ml" in @@ -41272,14 +41272,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 41278 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 41285 "parser_cocci_menhir.ml" in @@ -41309,7 +41309,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_ = -# 1371 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 41315 "parser_cocci_menhir.ml" in @@ -41336,14 +41336,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 41342 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1397 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 41350 "parser_cocci_menhir.ml" @@ -41371,14 +41371,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 41377 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1400 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 41384 "parser_cocci_menhir.ml" in @@ -41414,25 +41414,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 41420 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 41426 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 41431 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -41458,7 +41458,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1365 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( _1 ) # 41464 "parser_cocci_menhir.ml" in @@ -41485,14 +41485,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 41491 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 41498 "parser_cocci_menhir.ml" in @@ -41519,14 +41519,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 41525 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 41532 "parser_cocci_menhir.ml" in @@ -41556,7 +41556,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1371 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 41562 "parser_cocci_menhir.ml" in @@ -41583,14 +41583,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 41589 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1397 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 41597 "parser_cocci_menhir.ml" @@ -41618,14 +41618,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 41624 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1400 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 41631 "parser_cocci_menhir.ml" in @@ -41661,25 +41661,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 41667 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 41673 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 41678 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -41705,7 +41705,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_ = -# 1365 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( _1 ) # 41711 "parser_cocci_menhir.ml" in @@ -41732,14 +41732,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 41738 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 41745 "parser_cocci_menhir.ml" in @@ -41766,14 +41766,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 41772 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 41779 "parser_cocci_menhir.ml" in @@ -41803,7 +41803,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_ = -# 1371 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 41809 "parser_cocci_menhir.ml" in @@ -41830,14 +41830,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 41836 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1397 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 41844 "parser_cocci_menhir.ml" @@ -41865,14 +41865,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 41871 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1400 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 41878 "parser_cocci_menhir.ml" in @@ -41908,25 +41908,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 41914 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 41920 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 41925 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -41952,7 +41952,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1365 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( _1 ) # 41958 "parser_cocci_menhir.ml" in @@ -41979,14 +41979,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 41985 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) # 41992 "parser_cocci_menhir.ml" in @@ -42013,14 +42013,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 89 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) # 42019 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) # 42026 "parser_cocci_menhir.ml" in @@ -42050,7 +42050,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1371 "parser_cocci_menhir.mly" +# 1395 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 42056 "parser_cocci_menhir.ml" in @@ -42077,14 +42077,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 42083 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1397 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) # 42091 "parser_cocci_menhir.ml" @@ -42112,14 +42112,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 42118 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1400 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) # 42125 "parser_cocci_menhir.ml" in @@ -42155,25 +42155,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt) # 42161 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 80 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt) # 42167 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 61 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Data.clt) # 42172 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) @@ -42196,14 +42196,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 97 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) # 42202 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1382 "parser_cocci_menhir.mly" +# 1406 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) # 42209 "parser_cocci_menhir.ml" in @@ -42224,14 +42224,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 42230 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1383 "parser_cocci_menhir.mly" +# 1407 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) # 42237 "parser_cocci_menhir.ml" in @@ -42252,14 +42252,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 42258 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1384 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) # 42265 "parser_cocci_menhir.ml" in @@ -42280,14 +42280,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 126 "parser_cocci_menhir.mly" (Data.clt) # 42286 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1385 "parser_cocci_menhir.mly" +# 1409 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) # 42293 "parser_cocci_menhir.ml" in @@ -42308,14 +42308,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 103 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) # 42314 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1386 "parser_cocci_menhir.mly" +# 1410 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) # 42321 "parser_cocci_menhir.ml" in @@ -42345,7 +42345,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1979 "parser_cocci_menhir.mly" +# 2003 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) # 42351 "parser_cocci_menhir.ml" in @@ -42375,7 +42375,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1981 "parser_cocci_menhir.mly" +# 2005 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) # 42381 "parser_cocci_menhir.ml" in @@ -42399,7 +42399,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 984 "parser_cocci_menhir.mly" +# 1008 "parser_cocci_menhir.mly" ( w ) # 42405 "parser_cocci_menhir.ml" in @@ -42435,7 +42435,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_ = -# 2026 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) # 42441 "parser_cocci_menhir.ml" in @@ -42471,7 +42471,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_ = -# 2027 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) # 42477 "parser_cocci_menhir.ml" in @@ -42503,7 +42503,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_ = -# 2029 "parser_cocci_menhir.mly" +# 2053 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) # 42509 "parser_cocci_menhir.ml" in @@ -42539,7 +42539,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_ = -# 2030 "parser_cocci_menhir.mly" +# 2054 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) # 42545 "parser_cocci_menhir.ml" in @@ -42575,7 +42575,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_ = -# 2031 "parser_cocci_menhir.mly" +# 2055 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) # 42581 "parser_cocci_menhir.ml" in @@ -42599,7 +42599,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1953 lexer lexbuf) : ( -# 165 "parser_cocci_menhir.mly" +# 189 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) # 42605 "parser_cocci_menhir.ml" )) @@ -42607,7 +42607,7 @@ let rec script_meta_main = and rule_name = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1878 lexer lexbuf) : ( -# 159 "parser_cocci_menhir.mly" +# 183 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 42613 "parser_cocci_menhir.ml" )) @@ -42615,7 +42615,7 @@ and rule_name = and reinit = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1876 lexer lexbuf) : ( -# 137 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (unit) # 42621 "parser_cocci_menhir.ml" )) @@ -42623,7 +42623,7 @@ and reinit = and plus_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1840 lexer lexbuf) : ( -# 146 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 42629 "parser_cocci_menhir.ml" )) @@ -42631,7 +42631,7 @@ and plus_main = and plus_exp_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1832 lexer lexbuf) : ( -# 149 "parser_cocci_menhir.mly" +# 173 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 42637 "parser_cocci_menhir.ml" )) @@ -42639,7 +42639,7 @@ and plus_exp_main = and never_used = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : ( -# 174 "parser_cocci_menhir.mly" +# 198 "parser_cocci_menhir.mly" (unit) # 42645 "parser_cocci_menhir.ml" )) @@ -42647,7 +42647,7 @@ and never_used = and minus_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1742 lexer lexbuf) : ( -# 140 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 42653 "parser_cocci_menhir.ml" )) @@ -42655,7 +42655,7 @@ and minus_main = and minus_exp_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1730 lexer lexbuf) : ( -# 143 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 42661 "parser_cocci_menhir.ml" )) @@ -42663,7 +42663,7 @@ and minus_exp_main = and meta_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1727 lexer lexbuf) : ( -# 163 "parser_cocci_menhir.mly" +# 187 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 42669 "parser_cocci_menhir.ml" )) @@ -42671,7 +42671,7 @@ and meta_main = and iso_rule_name = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1723 lexer lexbuf) : ( -# 155 "parser_cocci_menhir.mly" +# 179 "parser_cocci_menhir.mly" (Ast_cocci.rulename) # 42677 "parser_cocci_menhir.ml" )) @@ -42679,7 +42679,7 @@ and iso_rule_name = and iso_meta_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 1456 lexer lexbuf) : ( -# 171 "parser_cocci_menhir.mly" +# 195 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) # 42685 "parser_cocci_menhir.ml" )) @@ -42687,7 +42687,7 @@ and iso_meta_main = and iso_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( -# 168 "parser_cocci_menhir.mly" +# 192 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) # 42693 "parser_cocci_menhir.ml" )) @@ -42695,7 +42695,7 @@ and iso_main = and include_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( -# 152 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Data.incl_iso list) # 42701 "parser_cocci_menhir.ml" )) diff --git a/parsing_cocci/parser_cocci_menhir.mly b/parsing_cocci/parser_cocci_menhir.mly index 01a67f6..7ab9278 100644 --- a/parsing_cocci/parser_cocci_menhir.mly +++ b/parsing_cocci/parser_cocci_menhir.mly @@ -22,6 +22,30 @@ */ +/* + * 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 386c76c..f70b1b3 100644 --- a/parsing_cocci/plus.ml +++ b/parsing_cocci/plus.ml @@ -22,6 +22,30 @@ *) +(* + * 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 01f573b..ad5aec4 100644 --- a/parsing_cocci/plus.mli +++ b/parsing_cocci/plus.mli @@ -22,6 +22,30 @@ *) +(* + * 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 237d56f..d8f168b 100644 --- a/parsing_cocci/pretty_print_cocci.ml +++ b/parsing_cocci/pretty_print_cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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 e0ae1e8..769ef6d 100644 --- a/parsing_cocci/pretty_print_cocci.mli +++ b/parsing_cocci/pretty_print_cocci.mli @@ -22,6 +22,30 @@ *) +(* + * 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/semantic_cocci.ml b/parsing_cocci/semantic_cocci.ml index b8a9ccb..1812249 100644 --- a/parsing_cocci/semantic_cocci.ml +++ b/parsing_cocci/semantic_cocci.ml @@ -22,4 +22,28 @@ *) +(* + * 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 367f5f1..7d444ad 100644 --- a/parsing_cocci/simple_assignments.ml +++ b/parsing_cocci/simple_assignments.ml @@ -22,6 +22,30 @@ *) +(* + * 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 5a45d93..c829a50 100644 --- a/parsing_cocci/simple_assignments.mli +++ b/parsing_cocci/simple_assignments.mli @@ -22,4 +22,28 @@ *) +(* + * 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 c00db6b..bac88d4 100644 --- a/parsing_cocci/single_statement.ml +++ b/parsing_cocci/single_statement.ml @@ -22,6 +22,30 @@ *) +(* + * 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 6b43ffc..39b79de 100644 --- a/parsing_cocci/single_statement.mli +++ b/parsing_cocci/single_statement.mli @@ -22,4 +22,28 @@ *) +(* + * 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_exps.ml b/parsing_cocci/test_exps.ml index b4843b2..7747dac 100644 --- a/parsing_cocci/test_exps.ml +++ b/parsing_cocci/test_exps.ml @@ -22,6 +22,30 @@ *) +(* + * 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 35f1d00..43a587c 100644 --- a/parsing_cocci/test_exps.mli +++ b/parsing_cocci/test_exps.mli @@ -22,6 +22,30 @@ *) +(* + * 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 6dd7eed..e722fab 100644 --- a/parsing_cocci/top_level.ml +++ b/parsing_cocci/top_level.ml @@ -22,6 +22,30 @@ *) +(* + * 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 289f997..c721342 100644 --- a/parsing_cocci/top_level.mli +++ b/parsing_cocci/top_level.mli @@ -22,4 +22,28 @@ *) +(* + * 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 a7c1e3b..408fba2 100644 --- a/parsing_cocci/type_cocci.ml +++ b/parsing_cocci/type_cocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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 ab43a83..0a37605 100644 --- a/parsing_cocci/type_cocci.mli +++ b/parsing_cocci/type_cocci.mli @@ -22,6 +22,30 @@ *) +(* + * 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 7a24026..a3011bc 100644 --- a/parsing_cocci/type_infer.ml +++ b/parsing_cocci/type_infer.ml @@ -22,6 +22,30 @@ *) +(* + * 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 893e983..498a7f8 100644 --- a/parsing_cocci/type_infer.mli +++ b/parsing_cocci/type_infer.mli @@ -22,4 +22,28 @@ *) +(* + * 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 91ae480..20f5730 100644 --- a/parsing_cocci/unify_ast.ml +++ b/parsing_cocci/unify_ast.ml @@ -22,6 +22,30 @@ *) +(* + * 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 87b6f46..12472e7 100644 --- a/parsing_cocci/unify_ast.mli +++ b/parsing_cocci/unify_ast.mli @@ -22,6 +22,30 @@ *) +(* + * 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 f5768f8..d954c09 100644 --- a/parsing_cocci/unitary_ast0.ml +++ b/parsing_cocci/unitary_ast0.ml @@ -22,6 +22,30 @@ *) +(* + * 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 2361df1..29faabe 100644 --- a/parsing_cocci/unitary_ast0.mli +++ b/parsing_cocci/unitary_ast0.mli @@ -22,6 +22,30 @@ *) +(* + * 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 7e09e53..dc259d0 100644 --- a/parsing_cocci/unparse_ast0.ml +++ b/parsing_cocci/unparse_ast0.ml @@ -22,6 +22,30 @@ *) +(* + * 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 3818b77..7b5f735 100644 --- a/parsing_cocci/unparse_ast0.mli +++ b/parsing_cocci/unparse_ast0.mli @@ -22,6 +22,30 @@ *) +(* + * 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 1264919..67a6996 100644 --- a/parsing_cocci/visitor_ast.ml +++ b/parsing_cocci/visitor_ast.ml @@ -22,6 +22,30 @@ *) +(* + * 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 8c44fc1..21bc1d7 100644 --- a/parsing_cocci/visitor_ast.mli +++ b/parsing_cocci/visitor_ast.mli @@ -22,6 +22,30 @@ *) +(* + * 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 1949afd..3074d8c 100644 --- a/parsing_cocci/visitor_ast0.ml +++ b/parsing_cocci/visitor_ast0.ml @@ -22,6 +22,30 @@ *) +(* + * 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 43590fa..ebbba4a 100644 --- a/parsing_cocci/visitor_ast0.mli +++ b/parsing_cocci/visitor_ast0.mli @@ -22,6 +22,30 @@ *) +(* + * 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 98c284a..df06d03 100644 --- a/parsing_cocci/visitor_ast0_types.ml +++ b/parsing_cocci/visitor_ast0_types.ml @@ -22,6 +22,30 @@ *) +(* + * 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/ast_popl.ml b/popl/ast_popl.ml index abb6b03..468ef40 100644 --- a/popl/ast_popl.ml +++ b/popl/ast_popl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 5fbf9f8..8b95529 100644 --- a/popl/asttopopl.ml +++ b/popl/asttopopl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 37e4b82..09f2d4b 100644 --- a/popl/asttopopl.mli +++ b/popl/asttopopl.mli @@ -22,4 +22,28 @@ *) +(* + * 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 ad6caad..bf24c4f 100644 --- a/popl/insert_befaft.ml +++ b/popl/insert_befaft.ml @@ -22,6 +22,30 @@ *) +(* + * 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 4aaf5af..7adcb09 100644 --- a/popl/insert_befaft.mli +++ b/popl/insert_befaft.mli @@ -22,4 +22,28 @@ *) +(* + * 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 3a0980e..1606d98 100644 --- a/popl/insert_quantifiers.ml +++ b/popl/insert_quantifiers.ml @@ -22,6 +22,30 @@ *) +(* + * 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 0276dba..acd9bcd 100644 --- a/popl/insert_quantifiers.mli +++ b/popl/insert_quantifiers.mli @@ -22,4 +22,28 @@ *) +(* + * 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 c32ae10..0ff47cd 100644 --- a/popl/popl.ml +++ b/popl/popl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 1185a79..a09dad6 100644 --- a/popl/popl.mli +++ b/popl/popl.mli @@ -22,6 +22,30 @@ *) +(* + * 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 1f7f457..3ae3c64 100644 --- a/popl/popltoctl.ml +++ b/popl/popltoctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 c8dd49e..a542b9c 100644 --- a/popl/popltoctl.mli +++ b/popl/popltoctl.mli @@ -22,6 +22,30 @@ *) +(* + * 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 0515ad7..45da245 100644 --- a/popl/pretty_print_popl.ml +++ b/popl/pretty_print_popl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 d4ae105..7f41ca1 100644 --- a/popl/pretty_print_popl.mli +++ b/popl/pretty_print_popl.mli @@ -22,5 +22,29 @@ *) +(* + * 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/ast_popl.ml b/popl09/ast_popl.ml index e153487..8c5e037 100644 --- a/popl09/ast_popl.ml +++ b/popl09/ast_popl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 530560d..622d7df 100644 --- a/popl09/asttopopl.ml +++ b/popl09/asttopopl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 37e4b82..09f2d4b 100644 --- a/popl09/asttopopl.mli +++ b/popl09/asttopopl.mli @@ -22,4 +22,28 @@ *) +(* + * 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 c509121..0ddf6a1 100644 --- a/popl09/flag_popl.ml +++ b/popl09/flag_popl.ml @@ -22,5 +22,29 @@ *) +(* + * 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 ce86d0c..705e49f 100644 --- a/popl09/insert_quantifiers.ml +++ b/popl09/insert_quantifiers.ml @@ -22,6 +22,30 @@ *) +(* + * 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 0276dba..acd9bcd 100644 --- a/popl09/insert_quantifiers.mli +++ b/popl09/insert_quantifiers.mli @@ -22,4 +22,28 @@ *) +(* + * 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 76c4a57..8488d8b 100644 --- a/popl09/popl.ml +++ b/popl09/popl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 1185a79..a09dad6 100644 --- a/popl09/popl.mli +++ b/popl09/popl.mli @@ -22,6 +22,30 @@ *) +(* + * 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 e126775..b1ba886 100644 --- a/popl09/popltoctl.ml +++ b/popl09/popltoctl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 c8dd49e..a542b9c 100644 --- a/popl09/popltoctl.mli +++ b/popl09/popltoctl.mli @@ -22,6 +22,30 @@ *) +(* + * 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 cf4b9ce..51763cb 100644 --- a/popl09/pretty_print_popl.ml +++ b/popl09/pretty_print_popl.ml @@ -22,6 +22,30 @@ *) +(* + * 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 d4ae105..7f41ca1 100644 --- a/popl09/pretty_print_popl.mli +++ b/popl09/pretty_print_popl.mli @@ -22,5 +22,29 @@ *) +(* + * 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/no_pycocci.ml b/python/no_pycocci.ml index 793ed33..1bb9f2c 100644 --- a/python/no_pycocci.ml +++ b/python/no_pycocci.ml @@ -22,6 +22,30 @@ *) +(* + * 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 f0778bd..e4780b4 100644 --- a/python/pycocci.mli +++ b/python/pycocci.mli @@ -22,6 +22,30 @@ *) +(* + * 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 14d094d..31a94c7 100644 --- a/python/pycocci_aux.ml +++ b/python/pycocci_aux.ml @@ -22,6 +22,30 @@ *) +(* + * 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 cda8a0b..9ad8652 100644 --- a/python/pycocci_aux.mli +++ b/python/pycocci_aux.mli @@ -22,5 +22,29 @@ *) +(* + * 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 80b996b..c716917 100644 --- a/python/yes_pycocci.ml +++ b/python/yes_pycocci.ml @@ -22,6 +22,54 @@ *) +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ast_c open Common open Pycaml diff --git a/test.ml b/test.ml index 63529a8..a090a0c 100644 --- a/test.ml +++ b/test.ml @@ -70,4 +70,76 @@ *) +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * 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 foo_ctl () = failwith "there is no foo_ctl formula" diff --git a/testing.ml b/testing.ml index 4929934..06c419c 100644 --- a/testing.ml +++ b/testing.ml @@ -22,6 +22,30 @@ *) +(* + * 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 031c3c3..08c05d7 100644 --- a/testing.mli +++ b/testing.mli @@ -22,6 +22,30 @@ *) +(* + * 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/alloc_free.ml b/tools/alloc_free.ml index 865e0a1..f9c4488 100644 --- a/tools/alloc_free.ml +++ b/tools/alloc_free.ml @@ -22,6 +22,30 @@ *) +(* + * 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 6b73452..db19824 100644 --- a/tools/bridge.ml +++ b/tools/bridge.ml @@ -22,6 +22,30 @@ *) +(* + * 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 af1d500..1de480a 100644 --- a/tools/dir_stats.ml +++ b/tools/dir_stats.ml @@ -22,6 +22,30 @@ *) +(* + * 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 8df6a32..5daa66a 100644 --- a/tools/dumper.ml +++ b/tools/dumper.ml @@ -22,6 +22,30 @@ *) +(* + * 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 61c5e69..4a6a293 100644 --- a/tools/dumper.mli +++ b/tools/dumper.mli @@ -22,6 +22,30 @@ *) +(* + * 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 9a4a493..993d58b 100644 --- a/tools/extract_c_and_res.ml +++ b/tools/extract_c_and_res.ml @@ -22,6 +22,30 @@ *) +(* + * 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 5c31fad..eb405c1 100644 --- a/tools/generate_dependencies.ml +++ b/tools/generate_dependencies.ml @@ -22,6 +22,30 @@ *) +(* + * 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 a4f12b1..34fdf79 100644 --- a/tools/gitgrep.ml +++ b/tools/gitgrep.ml @@ -22,6 +22,30 @@ *) +(* + * 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 e3aac33..e47c492 100644 --- a/tools/gitsort.ml +++ b/tools/gitsort.ml @@ -22,6 +22,30 @@ *) +(* + * 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 d981671..5a5cea0 100644 --- a/tools/licensify.ml +++ b/tools/licensify.ml @@ -22,6 +22,30 @@ *) +(* + * 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 cfd7735..e6c0554 100644 --- a/tools/process_isoprofile.ml +++ b/tools/process_isoprofile.ml @@ -22,6 +22,30 @@ *) +(* + * 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 debfd2f..2fa781f 100644 --- a/tools/splitpatch.ml +++ b/tools/splitpatch.ml @@ -22,6 +22,30 @@ *) +(* + * 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 f5e2196..d0fe902 100644 --- a/tools/spp.ml +++ b/tools/spp.ml @@ -22,6 +22,30 @@ *) +(* + * 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