+(*
+ * Copyright 2012, INRIA
+ * Julia Lawall, Gilles Muller
+ * Copyright 2010-2011, INRIA, University of Copenhagen
+ * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix
+ * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
+ * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
+ * This file is part of Coccinelle.
+ *
+ * Coccinelle is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, according to version 2 of the License.
+ *
+ * Coccinelle is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Coccinelle. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * The authors reserve the right to distribute this or future versions of
+ * Coccinelle under other licenses.
+ *)
+
+
+# 0 "./parser_cocci_menhir.ml"
exception Error
type token =
| Tvolatile of (
-# 57 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
(Data.clt)
# 8 "parser_cocci_menhir.ml"
)
| Tvoid of (
-# 53 "parser_cocci_menhir.mly"
+# 92 "parser_cocci_menhir.mly"
(Data.clt)
# 13 "parser_cocci_menhir.ml"
)
| Tunsigned of (
-# 54 "parser_cocci_menhir.mly"
+# 93 "parser_cocci_menhir.mly"
(Data.clt)
# 18 "parser_cocci_menhir.ml"
)
| Tunion of (
-# 53 "parser_cocci_menhir.mly"
+# 92 "parser_cocci_menhir.mly"
(Data.clt)
# 23 "parser_cocci_menhir.ml"
)
| Ttypedef of (
-# 56 "parser_cocci_menhir.mly"
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
# 28 "parser_cocci_menhir.ml"
)
| Tstruct of (
-# 53 "parser_cocci_menhir.mly"
+# 92 "parser_cocci_menhir.mly"
(Data.clt)
# 33 "parser_cocci_menhir.ml"
)
| Tstatic of (
-# 56 "parser_cocci_menhir.mly"
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
# 38 "parser_cocci_menhir.ml"
)
| Tssize_t of (
-# 52 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
(Data.clt)
# 43 "parser_cocci_menhir.ml"
)
| Tsize_t of (
-# 52 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
(Data.clt)
# 48 "parser_cocci_menhir.ml"
)
| Tsigned of (
-# 54 "parser_cocci_menhir.mly"
+# 93 "parser_cocci_menhir.mly"
(Data.clt)
# 53 "parser_cocci_menhir.ml"
)
| Tshort of (
-# 51 "parser_cocci_menhir.mly"
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
# 58 "parser_cocci_menhir.ml"
)
| Tregister of (
-# 56 "parser_cocci_menhir.mly"
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
# 63 "parser_cocci_menhir.ml"
)
| Tptrdiff_t of (
-# 52 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
(Data.clt)
# 68 "parser_cocci_menhir.ml"
)
| Tlong of (
-# 51 "parser_cocci_menhir.mly"
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
# 73 "parser_cocci_menhir.ml"
)
| Tlist
| Tint of (
-# 51 "parser_cocci_menhir.mly"
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
# 79 "parser_cocci_menhir.ml"
)
| Tinline of (
-# 56 "parser_cocci_menhir.mly"
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
# 84 "parser_cocci_menhir.ml"
)
| Tfloat of (
-# 51 "parser_cocci_menhir.mly"
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
# 89 "parser_cocci_menhir.ml"
)
| Textern of (
-# 56 "parser_cocci_menhir.mly"
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
# 94 "parser_cocci_menhir.ml"
)
| Tenum of (
-# 53 "parser_cocci_menhir.mly"
+# 92 "parser_cocci_menhir.mly"
(Data.clt)
# 99 "parser_cocci_menhir.ml"
)
| Tdouble of (
-# 51 "parser_cocci_menhir.mly"
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
# 104 "parser_cocci_menhir.ml"
)
| Tconst of (
-# 57 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
(Data.clt)
# 109 "parser_cocci_menhir.ml"
)
| Tchar of (
-# 51 "parser_cocci_menhir.mly"
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
# 114 "parser_cocci_menhir.ml"
)
| Tauto of (
-# 56 "parser_cocci_menhir.mly"
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
# 119 "parser_cocci_menhir.ml"
)
| Tattr of (
-# 58 "parser_cocci_menhir.mly"
+# 97 "parser_cocci_menhir.mly"
(string * Data.clt)
# 124 "parser_cocci_menhir.ml"
)
| TXor of (
-# 96 "parser_cocci_menhir.mly"
+# 138 "parser_cocci_menhir.mly"
(Data.clt)
# 129 "parser_cocci_menhir.ml"
)
| TWords
| TWhy0
| TWhy of (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
# 136 "parser_cocci_menhir.ml"
)
| TWhile of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
# 141 "parser_cocci_menhir.ml"
)
| TWhenTrue of (
-# 78 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
# 146 "parser_cocci_menhir.ml"
)
| TWhenFalse of (
-# 78 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
# 151 "parser_cocci_menhir.ml"
)
| TWhen of (
-# 78 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
# 156 "parser_cocci_menhir.ml"
)
| TVirtual
| TUsing
| TUnderscore
+ | TUndef of (
+# 127 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 164 "parser_cocci_menhir.ml"
+)
| TTypedef
| TTypeId of (
-# 62 "parser_cocci_menhir.mly"
+# 101 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 165 "parser_cocci_menhir.ml"
+# 170 "parser_cocci_menhir.ml"
)
| TType
| TTildeExclEq of (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 171 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.ml"
)
| TTildeEq of (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 176 "parser_cocci_menhir.ml"
+# 181 "parser_cocci_menhir.ml"
)
| TTilde of (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 181 "parser_cocci_menhir.ml"
+# 186 "parser_cocci_menhir.ml"
+)
+ | TSymbol
+ | TSymId of (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 192 "parser_cocci_menhir.ml"
)
| TSwitch of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 186 "parser_cocci_menhir.ml"
+# 197 "parser_cocci_menhir.ml"
)
| TSub of (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 191 "parser_cocci_menhir.ml"
+# 202 "parser_cocci_menhir.ml"
)
| TString of (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 196 "parser_cocci_menhir.ml"
+# 207 "parser_cocci_menhir.ml"
)
| TStrict of (
-# 78 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 201 "parser_cocci_menhir.ml"
+# 212 "parser_cocci_menhir.ml"
)
| TStatement
| TSizeof of (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 207 "parser_cocci_menhir.ml"
+# 218 "parser_cocci_menhir.ml"
)
| TShROp of (
-# 100 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 212 "parser_cocci_menhir.ml"
+# 223 "parser_cocci_menhir.ml"
)
| TShLOp of (
-# 100 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 217 "parser_cocci_menhir.ml"
+# 228 "parser_cocci_menhir.ml"
)
| TScriptData of (
-# 75 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(string)
-# 222 "parser_cocci_menhir.ml"
+# 233 "parser_cocci_menhir.ml"
)
| TScript
| TRuleName of (
-# 49 "parser_cocci_menhir.mly"
+# 88 "parser_cocci_menhir.mly"
(string)
-# 228 "parser_cocci_menhir.ml"
+# 239 "parser_cocci_menhir.ml"
)
| TRightIso
| TReturn of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 234 "parser_cocci_menhir.ml"
+# 245 "parser_cocci_menhir.ml"
)
| TPure
| TPtrOp of (
-# 108 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
(Data.clt)
-# 240 "parser_cocci_menhir.ml"
+# 251 "parser_cocci_menhir.ml"
)
| TPtVirg of (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 245 "parser_cocci_menhir.ml"
+# 256 "parser_cocci_menhir.ml"
)
| TPragma of (
-# 63 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
(Ast_cocci.added_string * Data.clt)
-# 250 "parser_cocci_menhir.ml"
+# 261 "parser_cocci_menhir.ml"
)
| TPosition
| TPosAny
| TPlusFile of (
-# 87 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 257 "parser_cocci_menhir.ml"
+# 268 "parser_cocci_menhir.ml"
)
| TPlus0
| TPlus of (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 263 "parser_cocci_menhir.ml"
+# 274 "parser_cocci_menhir.ml"
)
| TPathIsoFile of (
-# 83 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string)
-# 268 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
)
| TParameter
| TPOEllipsis of (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 274 "parser_cocci_menhir.ml"
+# 285 "parser_cocci_menhir.ml"
)
| TPCEllipsis of (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 279 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
+)
+ | TPArob of (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 295 "parser_cocci_menhir.ml"
)
- | TPArob
| TOrLog of (
-# 93 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Data.clt)
-# 285 "parser_cocci_menhir.ml"
+# 300 "parser_cocci_menhir.ml"
)
| TOr of (
-# 95 "parser_cocci_menhir.mly"
+# 137 "parser_cocci_menhir.mly"
(Data.clt)
-# 290 "parser_cocci_menhir.ml"
+# 305 "parser_cocci_menhir.ml"
)
| TOn
| TOPar0 of (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 296 "parser_cocci_menhir.ml"
+# 311 "parser_cocci_menhir.ml"
)
| TOPar of (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 301 "parser_cocci_menhir.ml"
+# 316 "parser_cocci_menhir.ml"
)
| TOInit of (
-# 105 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
(Data.clt)
-# 306 "parser_cocci_menhir.ml"
+# 321 "parser_cocci_menhir.ml"
)
| TOEllipsis of (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 311 "parser_cocci_menhir.ml"
+# 326 "parser_cocci_menhir.ml"
)
| TOCro of (
-# 106 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(Data.clt)
-# 316 "parser_cocci_menhir.ml"
+# 331 "parser_cocci_menhir.ml"
)
| TOBrace of (
-# 105 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
(Data.clt)
-# 321 "parser_cocci_menhir.ml"
+# 336 "parser_cocci_menhir.ml"
)
| TNothing
| TNotEq of (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 327 "parser_cocci_menhir.ml"
+# 342 "parser_cocci_menhir.ml"
)
| TNever
| TName
| TMul of (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 334 "parser_cocci_menhir.ml"
+# 349 "parser_cocci_menhir.ml"
)
| TMinusFile of (
-# 87 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 339 "parser_cocci_menhir.ml"
+# 354 "parser_cocci_menhir.ml"
)
| TMinus of (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 344 "parser_cocci_menhir.ml"
+# 359 "parser_cocci_menhir.ml"
)
| TMid0 of (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 349 "parser_cocci_menhir.ml"
+# 364 "parser_cocci_menhir.ml"
)
+ | TMetavariable
| TMetaType of (
-# 68 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 354 "parser_cocci_menhir.ml"
+# 370 "parser_cocci_menhir.ml"
)
| TMetaStmList of (
-# 68 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 359 "parser_cocci_menhir.ml"
+# 375 "parser_cocci_menhir.ml"
)
| TMetaStm of (
-# 68 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 364 "parser_cocci_menhir.ml"
+# 380 "parser_cocci_menhir.ml"
)
| TMetaPos of (
-# 72 "parser_cocci_menhir.mly"
+# 113 "parser_cocci_menhir.mly"
(Parse_aux.pos_info)
-# 369 "parser_cocci_menhir.ml"
+# 385 "parser_cocci_menhir.ml"
)
| TMetaParamList of (
-# 70 "parser_cocci_menhir.mly"
+# 110 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 374 "parser_cocci_menhir.ml"
+# 390 "parser_cocci_menhir.ml"
)
| TMetaParam of (
-# 68 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 379 "parser_cocci_menhir.ml"
+# 395 "parser_cocci_menhir.ml"
)
| TMetaLocalIdExp of (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 384 "parser_cocci_menhir.ml"
+# 400 "parser_cocci_menhir.ml"
)
| TMetaLocalFunc of (
-# 65 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 389 "parser_cocci_menhir.ml"
+# 405 "parser_cocci_menhir.ml"
)
| TMetaIterator of (
-# 66 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 394 "parser_cocci_menhir.ml"
+# 410 "parser_cocci_menhir.ml"
+)
+ | TMetaInitList of (
+# 110 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 415 "parser_cocci_menhir.ml"
)
| TMetaInit of (
-# 69 "parser_cocci_menhir.mly"
+# 109 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 399 "parser_cocci_menhir.ml"
+# 420 "parser_cocci_menhir.ml"
)
| TMetaIdExp of (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 404 "parser_cocci_menhir.ml"
+# 425 "parser_cocci_menhir.ml"
)
| TMetaId of (
-# 65 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 409 "parser_cocci_menhir.ml"
+# 104 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 430 "parser_cocci_menhir.ml"
)
| TMetaFunc of (
-# 65 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 414 "parser_cocci_menhir.ml"
+# 435 "parser_cocci_menhir.ml"
+)
+ | TMetaFieldList of (
+# 111 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 440 "parser_cocci_menhir.ml"
)
| TMetaField of (
-# 69 "parser_cocci_menhir.mly"
+# 109 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 419 "parser_cocci_menhir.ml"
+# 445 "parser_cocci_menhir.ml"
)
| TMetaExpList of (
-# 70 "parser_cocci_menhir.mly"
+# 110 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 424 "parser_cocci_menhir.ml"
+# 450 "parser_cocci_menhir.ml"
)
| TMetaExp of (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 429 "parser_cocci_menhir.ml"
+# 455 "parser_cocci_menhir.ml"
)
| TMetaErr of (
-# 67 "parser_cocci_menhir.mly"
+# 107 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 434 "parser_cocci_menhir.ml"
+# 460 "parser_cocci_menhir.ml"
)
| TMetaDeclarer of (
-# 66 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 439 "parser_cocci_menhir.ml"
+# 465 "parser_cocci_menhir.ml"
)
| TMetaDecl of (
-# 69 "parser_cocci_menhir.mly"
+# 109 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 444 "parser_cocci_menhir.ml"
+# 470 "parser_cocci_menhir.ml"
)
| TMetaConst of (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 449 "parser_cocci_menhir.ml"
+# 475 "parser_cocci_menhir.ml"
+)
+ | TMeta of (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 480 "parser_cocci_menhir.ml"
)
| TMPtVirg
| TLogOp of (
-# 99 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 455 "parser_cocci_menhir.ml"
+# 486 "parser_cocci_menhir.ml"
)
| TLocal
| TLineEnd of (
-# 78 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 461 "parser_cocci_menhir.ml"
+# 492 "parser_cocci_menhir.ml"
)
| TIteratorId of (
-# 62 "parser_cocci_menhir.mly"
+# 101 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 466 "parser_cocci_menhir.ml"
+# 497 "parser_cocci_menhir.ml"
)
| TIterator
| TIsoType
| TIso
| TInvalid
| TInt of (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 482 "parser_cocci_menhir.ml"
+# 513 "parser_cocci_menhir.ml"
)
| TInitialize
| TInitialiser
| TIncludeNL of (
-# 84 "parser_cocci_menhir.mly"
+# 126 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 489 "parser_cocci_menhir.ml"
+# 520 "parser_cocci_menhir.ml"
)
| TIncludeL of (
-# 84 "parser_cocci_menhir.mly"
+# 126 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 494 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.ml"
)
| TInc of (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 499 "parser_cocci_menhir.ml"
+# 530 "parser_cocci_menhir.ml"
)
| TIf of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 504 "parser_cocci_menhir.ml"
+# 535 "parser_cocci_menhir.ml"
)
| TIdentifier
| TIdent of (
-# 62 "parser_cocci_menhir.mly"
+# 101 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 510 "parser_cocci_menhir.ml"
+# 541 "parser_cocci_menhir.ml"
)
| TIdExpression
| TGoto of (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 516 "parser_cocci_menhir.ml"
+# 547 "parser_cocci_menhir.ml"
)
| TGenerated
| TFunction
| TFunDecl of (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 523 "parser_cocci_menhir.ml"
+# 554 "parser_cocci_menhir.ml"
)
| TFresh
| TForall
| TFor of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 530 "parser_cocci_menhir.ml"
+# 561 "parser_cocci_menhir.ml"
)
| TFloat of (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 535 "parser_cocci_menhir.ml"
+# 566 "parser_cocci_menhir.ml"
)
| TFinalize
| TField
| TEver
| TError
| TEqEq of (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 547 "parser_cocci_menhir.ml"
+# 578 "parser_cocci_menhir.ml"
)
| TEq of (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 552 "parser_cocci_menhir.ml"
+# 583 "parser_cocci_menhir.ml"
)
| TElse of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 557 "parser_cocci_menhir.ml"
+# 588 "parser_cocci_menhir.ml"
)
| TEllipsis of (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 562 "parser_cocci_menhir.ml"
+# 593 "parser_cocci_menhir.ml"
)
| TDotDot of (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 567 "parser_cocci_menhir.ml"
+# 598 "parser_cocci_menhir.ml"
)
| TDot of (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 572 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.ml"
)
| TDo of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 577 "parser_cocci_menhir.ml"
+# 608 "parser_cocci_menhir.ml"
)
| TDmOp of (
-# 101 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 582 "parser_cocci_menhir.ml"
+# 613 "parser_cocci_menhir.ml"
)
| TDisable
| TDepends
| TDefineParam of (
-# 86 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
(Data.clt * token * int * int)
-# 589 "parser_cocci_menhir.ml"
+# 620 "parser_cocci_menhir.ml"
)
| TDefine of (
-# 85 "parser_cocci_menhir.mly"
+# 127 "parser_cocci_menhir.mly"
(Data.clt * token)
-# 594 "parser_cocci_menhir.ml"
+# 625 "parser_cocci_menhir.ml"
)
| TDefault of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 599 "parser_cocci_menhir.ml"
+# 630 "parser_cocci_menhir.ml"
)
| TDeclarerId of (
-# 62 "parser_cocci_menhir.mly"
+# 101 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 604 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.ml"
)
| TDeclarer
| TDeclaration
| TDec of (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 611 "parser_cocci_menhir.ml"
+# 642 "parser_cocci_menhir.ml"
)
| TCppConcatOp
| TContinue of (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 617 "parser_cocci_menhir.ml"
+# 648 "parser_cocci_menhir.ml"
)
| TContext
| TConstant
| TComma of (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 624 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.ml"
)
| TChar of (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 629 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.ml"
)
| TCase of (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 634 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.ml"
)
| TCPar0 of (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 639 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.ml"
)
| TCPar of (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 644 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.ml"
)
| TCEllipsis of (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 649 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.ml"
)
| TCCro of (
-# 106 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(Data.clt)
-# 654 "parser_cocci_menhir.ml"
+# 685 "parser_cocci_menhir.ml"
)
| TCBrace of (
-# 105 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
(Data.clt)
-# 659 "parser_cocci_menhir.ml"
+# 690 "parser_cocci_menhir.ml"
)
| TBreak of (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 664 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.ml"
)
| TBang0
| TBang of (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 670 "parser_cocci_menhir.ml"
+# 701 "parser_cocci_menhir.ml"
)
| TAssign of (
-# 112 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 675 "parser_cocci_menhir.ml"
+# 706 "parser_cocci_menhir.ml"
)
| TArobArob
| TArob
| TAny of (
-# 78 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 682 "parser_cocci_menhir.ml"
+# 713 "parser_cocci_menhir.ml"
)
| TAndLog of (
-# 94 "parser_cocci_menhir.mly"
+# 136 "parser_cocci_menhir.mly"
(Data.clt)
-# 687 "parser_cocci_menhir.ml"
+# 718 "parser_cocci_menhir.ml"
)
| TAnd of (
-# 97 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
(Data.clt)
-# 692 "parser_cocci_menhir.ml"
+# 723 "parser_cocci_menhir.ml"
)
+ | TAnalysis
| EOF
and _menhir_jeton = token
-# 25 "parser_cocci_menhir.mly"
+# 1 "parser_cocci_menhir.mly"
(* Not clear how to allow function declarations to specify a return type
module Ast = Ast_cocci
module P = Parse_aux
-# 714 "parser_cocci_menhir.ml"
+(* ---------------------------------------------------------------------- *)
+(* support for TMeta *)
+
+let print_meta (r,n) = r^"."^n
+
+let meta_metatable = Hashtbl.create(101)
+
+let coerce_tmeta newty name builder matcher =
+ try
+ let x = Hashtbl.find meta_metatable name in
+ if not (matcher x)
+ then
+ failwith
+ (Printf.sprintf "Metavariable %s is used as %s"
+ (print_meta name) newty)
+ with Not_found ->
+ (if !Flag_parsing_cocci.show_SP
+ then
+ Common.pr2
+ (Printf.sprintf
+ "Metavariable %s is assumed to be %s metavariable"
+ (print_meta name) newty));
+ Hashtbl.add meta_metatable name builder
+
+let tmeta_to_type (name,pure,clt) =
+ (coerce_tmeta "a type" name (TMetaType(name,pure,clt))
+ (function TMetaType(_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure))
+
+let tmeta_to_field (name,pure,clt) =
+ (coerce_tmeta "a field" name (TMetaField(name,pure,clt))
+ (function TMetaField(_,_,_) -> true | _ -> false));
+ P.meta_field (name,pure,clt)
+
+let tmeta_to_exp (name,pure,clt) =
+ (coerce_tmeta "an expression" name
+ (TMetaExp(name,Ast0.NoConstraint,pure,None,clt))
+ (function TMetaExp(_,_,_,_,_) -> true | _ -> false));
+ Ast0.wrap
+ (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure))
+
+let tmeta_to_param (name,pure,clt) =
+ (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt))
+ (function TMetaParam(_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure))
+
+let tmeta_to_statement (name,pure,clt) =
+ (coerce_tmeta "a statement" name (TMetaType(name,pure,clt))
+ (function TMetaType(_,_,_) -> true | _ -> false));
+ P.meta_stm (name,pure,clt)
+
+let tmeta_to_seed_id (name,pure,clt) =
+ (coerce_tmeta "an identifier" name
+ (TMetaId(name,Ast.IdNoConstraint,Ast.NoVal,pure,clt))
+ (function TMetaId(_,_,_,_,_) -> true | _ -> false));
+ Ast.SeedId name
+
+let tmeta_to_ident (name,pure,clt) =
+ (coerce_tmeta "an identifier" name
+ (TMetaId(name,Ast.IdNoConstraint,Ast.NoVal,pure,clt))
+ (function TMetaId(_,_,_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,Ast.NoVal,pure))
+
+# 809 "parser_cocci_menhir.ml"
let _eRR =
Error
fun _tok ->
match _tok with
| EOF ->
- 186
+ 194
+ | TAnalysis ->
+ 193
| TAnd _ ->
- 185
+ 192
| TAndLog _ ->
- 184
+ 191
| TAny _ ->
- 183
+ 190
| TArob ->
- 182
+ 189
| TArobArob ->
- 181
+ 188
| TAssign _ ->
- 180
+ 187
| TBang _ ->
- 179
+ 186
| TBang0 ->
- 178
+ 185
| TBreak _ ->
- 177
+ 184
| TCBrace _ ->
- 176
+ 183
| TCCro _ ->
- 175
+ 182
| TCEllipsis _ ->
- 174
+ 181
| TCPar _ ->
- 173
+ 180
| TCPar0 _ ->
- 172
+ 179
| TCase _ ->
- 171
+ 178
| TChar _ ->
- 170
+ 177
| TComma _ ->
- 169
+ 176
| TConstant ->
- 168
+ 175
| TContext ->
- 167
+ 174
| TContinue _ ->
- 166
+ 173
| TCppConcatOp ->
- 165
+ 172
| TDec _ ->
- 164
+ 171
| TDeclaration ->
- 163
+ 170
| TDeclarer ->
- 162
+ 169
| TDeclarerId _ ->
- 161
+ 168
| TDefault _ ->
- 160
+ 167
| TDefine _ ->
- 159
+ 166
| TDefineParam _ ->
- 158
+ 165
| TDepends ->
- 157
+ 164
| TDisable ->
- 156
+ 163
| TDmOp _ ->
- 155
+ 162
| TDo _ ->
- 154
+ 161
| TDot _ ->
- 153
+ 160
| TDotDot _ ->
- 152
+ 159
| TEllipsis _ ->
- 151
+ 158
| TElse _ ->
- 150
+ 157
| TEq _ ->
- 149
+ 156
| TEqEq _ ->
- 148
+ 155
| TError ->
- 147
+ 154
| TEver ->
- 146
+ 153
| TExists ->
- 145
+ 152
| TExpression ->
- 144
+ 151
| TExtends ->
- 143
+ 150
| TField ->
- 142
+ 149
| TFinalize ->
- 141
+ 148
| TFloat _ ->
- 140
+ 147
| TFor _ ->
- 139
+ 146
| TForall ->
- 138
+ 145
| TFresh ->
- 137
+ 144
| TFunDecl _ ->
- 136
+ 143
| TFunction ->
- 135
+ 142
| TGenerated ->
- 134
+ 141
| TGoto _ ->
- 133
+ 140
| TIdExpression ->
- 132
+ 139
| TIdent _ ->
- 131
+ 138
| TIdentifier ->
- 130
+ 137
| TIf _ ->
- 129
+ 136
| TInc _ ->
- 128
+ 135
| TIncludeL _ ->
- 127
+ 134
| TIncludeNL _ ->
- 126
+ 133
| TInitialiser ->
- 125
+ 132
| TInitialize ->
- 124
+ 131
| TInt _ ->
- 123
+ 130
| TInvalid ->
- 122
+ 129
| TIso ->
- 121
+ 128
| TIsoArgExpression ->
- 120
+ 127
| TIsoDeclaration ->
- 119
+ 126
| TIsoExpression ->
- 118
+ 125
| TIsoStatement ->
- 117
+ 124
| TIsoTestExpression ->
- 116
+ 123
| TIsoToTestExpression ->
- 115
+ 122
| TIsoTopLevel ->
- 114
+ 121
| TIsoType ->
- 113
+ 120
| TIterator ->
- 112
+ 119
| TIteratorId _ ->
- 111
+ 118
| TLineEnd _ ->
- 110
+ 117
| TLocal ->
- 109
+ 116
| TLogOp _ ->
- 108
+ 115
| TMPtVirg ->
- 107
+ 114
+ | TMeta _ ->
+ 113
| TMetaConst _ ->
- 106
+ 112
| TMetaDecl _ ->
- 105
+ 111
| TMetaDeclarer _ ->
- 104
+ 110
| TMetaErr _ ->
- 103
+ 109
| TMetaExp _ ->
- 102
+ 108
| TMetaExpList _ ->
- 101
+ 107
| TMetaField _ ->
- 100
+ 106
+ | TMetaFieldList _ ->
+ 105
| TMetaFunc _ ->
- 99
+ 104
| TMetaId _ ->
- 98
+ 103
| TMetaIdExp _ ->
- 97
+ 102
| TMetaInit _ ->
- 96
+ 101
+ | TMetaInitList _ ->
+ 100
| TMetaIterator _ ->
- 95
+ 99
| TMetaLocalFunc _ ->
- 94
+ 98
| TMetaLocalIdExp _ ->
- 93
+ 97
| TMetaParam _ ->
- 92
+ 96
| TMetaParamList _ ->
- 91
+ 95
| TMetaPos _ ->
- 90
+ 94
| TMetaStm _ ->
- 89
+ 93
| TMetaStmList _ ->
- 88
+ 92
| TMetaType _ ->
- 87
+ 91
+ | TMetavariable ->
+ 90
| TMid0 _ ->
- 86
+ 89
| TMinus _ ->
- 85
+ 88
| TMinusFile _ ->
- 84
+ 87
| TMul _ ->
- 83
+ 86
| TName ->
- 82
+ 85
| TNever ->
- 81
+ 84
| TNotEq _ ->
- 80
+ 83
| TNothing ->
- 79
+ 82
| TOBrace _ ->
- 78
+ 81
| TOCro _ ->
- 77
+ 80
| TOEllipsis _ ->
- 76
+ 79
| TOInit _ ->
- 75
+ 78
| TOPar _ ->
- 74
+ 77
| TOPar0 _ ->
- 73
+ 76
| TOn ->
- 72
+ 75
| TOr _ ->
- 71
+ 74
| TOrLog _ ->
+ 73
+ | TPArob _ ->
+ 72
+ | TPCEllipsis _ ->
+ 71
+ | TPOEllipsis _ ->
70
- | TPArob ->
+ | TParameter ->
69
- | TPCEllipsis _ ->
+ | TPathIsoFile _ ->
68
- | TPOEllipsis _ ->
+ | TPlus _ ->
67
- | TParameter ->
+ | TPlus0 ->
66
- | TPathIsoFile _ ->
+ | TPlusFile _ ->
65
- | TPlus _ ->
+ | TPosAny ->
64
- | TPlus0 ->
+ | TPosition ->
63
- | TPlusFile _ ->
+ | TPragma _ ->
62
- | TPosAny ->
+ | TPtVirg _ ->
61
- | TPosition ->
+ | TPtrOp _ ->
60
- | TPragma _ ->
+ | TPure ->
59
- | TPtVirg _ ->
+ | TReturn _ ->
58
- | TPtrOp _ ->
+ | TRightIso ->
57
- | TPure ->
+ | TRuleName _ ->
56
- | TReturn _ ->
+ | TScript ->
55
- | TRightIso ->
+ | TScriptData _ ->
54
- | TRuleName _ ->
+ | TShLOp _ ->
53
- | TScript ->
+ | TShROp _ ->
52
- | TScriptData _ ->
+ | TSizeof _ ->
51
- | TShLOp _ ->
+ | TStatement ->
50
- | TShROp _ ->
+ | TStrict _ ->
49
- | TSizeof _ ->
+ | TString _ ->
48
- | TStatement ->
+ | TSub _ ->
47
- | TStrict _ ->
+ | TSwitch _ ->
46
- | TString _ ->
+ | TSymId _ ->
45
- | TSub _ ->
+ | TSymbol ->
44
- | TSwitch _ ->
- 43
| TTilde _ ->
- 42
+ 43
| TTildeEq _ ->
- 41
+ 42
| TTildeExclEq _ ->
- 40
+ 41
| TType ->
- 39
+ 40
| TTypeId _ ->
- 38
+ 39
| TTypedef ->
+ 38
+ | TUndef _ ->
37
| TUnderscore ->
36
match _tok with
| EOF ->
Obj.repr ()
+ | TAnalysis ->
+ Obj.repr ()
| TAnd _v ->
Obj.repr _v
| TAndLog _v ->
Obj.repr _v
| TMPtVirg ->
Obj.repr ()
+ | TMeta _v ->
+ Obj.repr _v
| TMetaConst _v ->
Obj.repr _v
| TMetaDecl _v ->
Obj.repr _v
| TMetaField _v ->
Obj.repr _v
+ | TMetaFieldList _v ->
+ Obj.repr _v
| TMetaFunc _v ->
Obj.repr _v
| TMetaId _v ->
Obj.repr _v
| TMetaInit _v ->
Obj.repr _v
+ | TMetaInitList _v ->
+ Obj.repr _v
| TMetaIterator _v ->
Obj.repr _v
| TMetaLocalFunc _v ->
Obj.repr _v
| TMetaType _v ->
Obj.repr _v
+ | TMetavariable ->
+ Obj.repr ()
| TMid0 _v ->
Obj.repr _v
| TMinus _v ->
Obj.repr _v
| TOrLog _v ->
Obj.repr _v
- | TPArob ->
- Obj.repr ()
+ | TPArob _v ->
+ Obj.repr _v
| TPCEllipsis _v ->
Obj.repr _v
| TPOEllipsis _v ->
Obj.repr _v
| TSwitch _v ->
Obj.repr _v
+ | TSymId _v ->
+ Obj.repr _v
+ | TSymbol ->
+ Obj.repr ()
| TTilde _v ->
Obj.repr _v
| TTildeEq _v ->
Obj.repr _v
| TTypedef ->
Obj.repr ()
+ | TUndef _v ->
+ Obj.repr _v
| TUnderscore ->
Obj.repr ()
| TUsing ->
Obj.repr _v
let default_reduction =
- (16, "\000\000\000\000\002\230\000u\000\000\000\000\0035\001n\000\000\001l\001m\001k\000\000\001p\001o\000\001\000\000\001\162\000\000\000\000\000\133\000\000\000\000\001\152\000\182\000\000\000\000\000\169\000\000\000\000\000\174\000\173\000\000\000\170\000\000\000\168\000\000\000\000\000\000\000\172\000\000\000\171\003n\003m\000\000\000\186\000\000\000\185\000\000\000\000\000\162\000\000\000\000\000\167\000\166\000\000\000\163\000\000\000\161\000\000\000\000\000\000\000\165\000\000\000\164\000\000\000\176\000\000\000\187\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\184\000\000\000\000\000\000\001h\000\000\000\000\000\000\001g\000\000\000\000\001;\001:\0019\0018\0017\0016\000\000\001#\002,\000\000\000\000\002+\000\000\000\000\000\000\000\145\000\000\000\000\000\144\002/\0014\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\190\000\188\000\000\000\183\000\132\000\000\000\175\000\000\000\195\000\000\000\000\000\000\000\179\000\000\000\000\000\000\003b\003h\000\000\000\000\000\000\000\000\000\000\003c\003d\000\000\000\000\000\192\000\000\003f\000\000\000\000\000\000\003\242\002\176\000\000\003\240\000\000\002\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\239\003\241\002\182\001c\002\181\001a\001b\002\180\002\179\002\178\002\174\000\000\000\000\002\175\001\029\000\000\002\177\000\000\003\238\000\000\000g\001`\002\145\000\000\000\000\002\148\000\000\000\000\000\000\000\000\000\000\000\000\001\030\002\173\002\185\000_\000\021\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\002l\000V\001(\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000X\000\000\000W\000\000\002\210\000\000\000\233\000\000\000\000\002\003\000\000\001\176\001\240\000\000\000\000\002\002\000\000\000\000\000\217\000\000\000\000\000\204\000\000\000\000\000\209\000\208\000\000\000\205\000\000\000\203\000\000\000\000\000\000\000\207\000\000\000\206\000\000\000\221\000\000\000\220\000\000\000\000\000\197\000\000\000\000\000\202\000\201\000\000\000\198\000\000\000\196\000\000\000\000\000\000\000\200\000\000\000\199\000\000\000\211\000\000\000\222\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\219\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000\225\000\223\000\000\000\218\000\000\000\210\000\000\000\230\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\159\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\238\000\000\000\000\000\000\000\000\000\000\002@\002Q\002\b\000\000\000\000\000\000\000\000\000\000\0013\000\242\000\000\002\t\000\000\000\000\000\000\000\000\000\237\000\235\000\157\000\000\000\000\000\156\002D\002A\000\000\000\000\003j\000\000\003i\000\000\000\000\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000\000\000\228\000\226\000\000\000\000\003l\003g\000\213\000\000\001\174\001\239\000\000\002\208\002\207\000\015\002\206\002\205\002\204\002\200\000\000\000\000\000\000\002\209\002\201\000\000\002\203\000\000\000\000\000k\002\159\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000[\000\000\000Z\000\137\002\211\002\199\000\014\000\016\000Y\0003\001\027\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\029\002!\000\000\000\000\000\136\001+\001)\000\000\002\165\000\000\000\000\002\160\002\163\000\000\002\161\002\164\003\227\003\228\003\226\003\225\002\030\000\000\002\151\000\000\000\000\002\146\002\149\000\000\002\147\002\150\003\213\003\214\003\212\000\000\002\183\003\211\000\000\000\000\000l\001@\000\000\002\018\000\000\000\000\000\000\000\000\000\000\001!\002\024\000\000\000\000\001\186\000\000\002\184\000\000\000\000\000h\000\000\000\000\003\230\003\229\000\000\002\019\000\000\000\000\003\216\003\215\000\000\000U\000\234\000\000\001\154\000\000\003k\000\000\000\000\000\000\000\000\000\193\000\191\000\000\001'\000\000\000\000\000\194\000\178\000\000\000\000\001\130\000\000\001\129\000\000\001\144\000\000\001\164\000\000\000\000\000\000\003\158\000\000\000\000\003\145\000\000\000\000\003\150\003\149\000\000\003\146\000\000\003\144\000\000\000\000\000\000\003\148\000\000\003\147\000\000\003\162\000\000\003\161\000\000\000\000\003\138\000\000\000\000\003\143\003\142\000\000\003\139\000\000\003\137\000\000\000\000\000\000\003\141\000\000\003\140\000\000\003\152\000\000\003\163\000\000\000\000\003\157\003\156\000\000\003\153\000\000\003\160\000\000\000\000\000\000\000\000\003\165\000\000\000\000\000\000\000\000\003\166\003\164\000\000\003\159\000\000\003\151\000\000\003\171\000\000\000\000\000\000\003\155\000\000\000\000\003\207\000\000\000\000\000\000\000\000\003\170\003\154\000\000\003\209\000\000\000\000\003E\003\208\000}\000\000\001\015\000\000\000\000\000\000\000\000\003\168\000\000\000\000\000\000\000\000\003\169\003\167\000\000\000\000\003\193\000\000\000\000\003\180\000\000\000\000\003\185\003\184\000\000\003\181\000\000\003\179\000\000\000\000\000\000\003\183\000\000\003\182\000\000\003\197\000\000\003\196\000\000\000\000\003\173\000\000\000\000\003\178\003\177\000\000\003\174\000\000\003\172\000\000\000\000\000\000\003\176\000\000\003\175\000\000\003\187\000\000\003\198\000\000\000\000\003\192\003\191\000\000\003\188\000\000\003\195\000\000\000\000\000\000\000\000\003\200\000\000\000\000\000\000\000\000\003\201\003\199\000\000\003\194\000\000\003\186\000\000\003\206\000\000\000\000\000\000\003\190\000\000\000\000\000\000\000\000\003\205\003\189\000\000\000\000\000\000\000\000\003\203\000\000\000\000\000\000\000\000\003\204\003\202\003^\003`\003a\003_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\252\000\239\000\000\000\000\000r\000\000\000\000\000\000\002\189\000\000\000\000\000\000\002\197\000\000\000\000\002\196\000\000\003\223\002\195\002\194\002\193\002\192\002\191\001~\002\187\000\000\000\000\002\188\000\000\002\190\000\000\000\000\000\000\000\000\000\000\000i\002\152\000\000\000\000\002\155\000\000\000\000\002\158\000\000\000\000\002\153\002\156\000\000\002\154\002\157\002\198\002\186\000j\003\220\003\221\003\219\003\218\003\222\000\000\000\000\000\000\000\000\001\026\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001x\000\000\001%\001v\000\000\001\024\000\000\0023\000\000\000\000\001{\000\000\000\000\001|\000\000\001\160\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0022\000\000\000\000\000\000\000\149\000\000\000\000\000\148\0026\001/\000\000\001z\001}\000\000\001w\000\000\001\b\000\000\003/\000\000\000\000\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\011\000\000\000\000\001\014\000\000\000\000\000\000\000\000\000\000\000\000\001f\000\000\000\000\000\000\001\001\000\000\000\254\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\005\000\000\000\000\000\000\000\000\001\006\000\000\001\002\000\000\000\000\000\000\002\215\000\000\000\000\000\000\000\000\002\222\000\000\000\000\002\221\002\220\002\219\002\218\002\217\002\213\000\000\000\000\002\214\000\000\002\216\000\000\000\000\000m\002\166\000\000\000\000\002\169\000\000\000\000\002\172\000\000\000\000\002\167\002\170\000\000\002\168\002\171\002\224\002\212\003\234\003\235\003\233\003\232\000n\000\000\000\000\000^\000\000\000]\000\000\002\223\000\000\001\241\000\\\000B\001?\000d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\237\003\236\000\000\003U\000\000\003T\000\000\000\000\000\000\000\000\003\249\000\000\000\000\000\000\003\250\000\000\000\018\000\000\000\000\000\000\003\245\000\000\001\188\000\000\000\000\000\000\000\243\003K\001\150\001\149\001r\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\001\031\000\000\000\000\002$\000\000\000\000\000\140\002(\002%\001-\001\016\000\000\001\018\001\017\000\000\003W\000\000\003V\003H\000\000\000\000\000\000\000\000\000\000\003Q\000\000\000\000\000\000\000\000\003R\003J\000\000\003X\000\000\003L\000\000\000\247\001s\000\000\003[\000\000\001u\000\000\000\000\003t\000\000\003{\000\249\000\000\000\255\000\000\003u\000\248\000\000\003v\000\000\003}\000\000\000\000\000\000\000\000\001\012\000\000\000\251\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\000\000\000\000\001\r\000\000\000\000\000\000\000\000\001e\000\000\000\000\000\000\001\000\000\000\000\253\000\000\000\000\000\000\000\000\000\000\001\007\000\000\001\003\000\245\000\244\000\000\003~\003\127\000\000\003\128\000\000\003\129\000\000\001t\003O\000\000\000\000\002\007\000\000\001\184\001\245\000\000\003I\000\000\000\000\000\000\003N\000\000\000\000\000\000\001Y\000\000\001S\000\000\001T\000\000\001^\001R\001]\000\000\003Z\001_\000\000\000\250\000\000\000\000\000\000\000\000\001[\001V\002\004\000\000\001W\000\000\001X\000\000\001\178\001\242\000\000\000\000\000\000\002\014\000\000\002\012\000\000\000\000\002\016\002\n\000\000\002\017\002\011\000\000\003\\\002\020\000\000\000\246\000\000\000\000\002\005\000\000\001\180\001\243\000\000\003\246\000\000\003\243\000\000\003\244\000\019\000\020\000\000\000\000\003\019\000\000\003\018\000\000\002T\000\000\003\021\000\000\003\020\000\000\000\000\000\000\002\\\000\000\000\000\002`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002c\000\000\000\000\002f\000\000\002V\000\000\000\000\002Y\000\000\000\000\000\000\002]\000\000\000\000\002a\000\000\000\000\002\006\000\000\000\000\002Z\000\000\000\000\002^\003\016\002W\000\000\003\017\000\000\000\000\000\000\000\000\002d\000\000\002S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002e\000\000\002U\000\000\000\000\002X\000\000\000\000\000\000\002[\000\000\000\000\002_\000\000\001\182\001\244\000\000\003\022\000\000\000\000\000\000\003\247\000\017\000p\000\000\003\248\000\000\000\000\003+\000\000\000\000\003]\000e\000\000\000\000\000\000\000f\000\000\003S\000\000\001\156\000\000\001\158\003P\000\000\000\000\001\136\000\000\001\135\000\000\001\145\000\000\001\170\000\000\000\000\000\000\001\134\000\000\001\133\000\000\001\142\000\000\001\168\000\000\000\000\000\000\001\141\000\000\000\000\000\000\001\138\000\000\001\137\000\000\001\143\000\000\001\172\000\000\000\000\000\000\001\139\000\000\000\000\000\000\001\132\000\000\001\131\000\000\001\146\000\000\001\166\000\000\000\000\000\000\001\140\000\002\000\000\000R\000S\000\000\000\000\002\240\002\244\002\248\002\236\002\233\000\000\000\000\002\245\002\252\002\237\002\251\002\235\002\250\002\239\002\231\002\238\002\247\002\234\002\241\002\232\002\243\002\249\002\246\002\242\001\207\001\206\000{\000\000\000\000\003A\000\000\000\000\003%\000\000\000\000\003'\003&\003\006\000\000\000\000\003G\002\254\002\253\002\255\000\000\001\221\000Q\001\147\000\003\000\000\000\000\002\227\000\000\002j\000\000\000|\000\000\000\000\003C\000\000\000\000\000\000\000t\000\000\000\000\0033\000\000\002N\002M\001\200\003\007\000\000\001\236\000\000\002\228\000\000\000\000\000v\000\000\000\000\0037\000\000\001\218\000\000\000\000\001\212\000\000\000\000\000\000\001\217\000\000\001\214\000\000\000\000\000\000\001\190\001\189\000\000\000\000\000\000\001\237\000\000\001\210\000\000\001\209\000\000\000q\000\000\000\000\003-\000\000\000\000\001\205\000\000\000\000\000y\000\000\000\000\003=\000\000\000\000\003\014\000\000\003\r\000\000\000\000\000\000\002L\002K\003\011\002r\003\002\003\012\000\000\001\224\000\000\000\000\000\000\001\220\000\000\001\226\000\000\000\000\001\213\000\000\000\000\000\000\003\004\000z\000\000\000\000\003?\000\000\003\003\000\000\001\222\000\000\000\000\001\223\000\000\000\000\001\216\000\000\000\000\001D\000\000\001C\000\000\000\000\000\000\000\000\000\000\001\238\000\000\001\211\000\000\001B\000\000\002\026\000w\000\000\000\000\0039\000\000\000\000\000\000\000\000\003p\003o\000\000\000\000\001j\000s\001i\000\000\000\000\0031\000\000\002F\002E\002H\003\000\002n\002G\001A\000\000\000x\000\000\000\000\003;\000\000\000\000\000\000\000\000\002J\002I\003\n\003\b\002p\003\001\003\t\000\000\001\231\000\000\001\234\000\000\000\000\001\227\000\000\000\000\000\000\001\219\000\000\001\225\000\000\000\000\001\215\000\000\000\000\000\000\000\000\000\000\000\000\001\204\000\000\000\000\001\233\000\000\001\232\000\000\000\000\000\000\000\000\001\230\000\000\000\000\001\229\000\000\001\228\000\000\000\000\001\235\000\000\000\000\001\148\000\004\000\000\001\208\000\005\000\000\000\000\001G\000\006\000\000\001\249\001\250\001\248\000\000\001\247\003q\001\196\000\000\000\007\000\000\001\252\001\253\001\251\000\000\000\000\000\000\000\000\001I\000\000\000\000\000\000\000\000\001N\001P\001O\001J\001L\001K\000\000\000\000\000\000\000\000\000\000\003w\003\132\000\000\003x\000\000\003y\000\000\000\000\003r\000\000\000\000\000\000\000\000\003\131\000\000\000\000\003\130\002\001\002\000\000\000\000\000\001\198\001\246\001\254\000\000\000\000\000\000\000\000\000\000\002P\000\000\000\000\000\000\000\000\000\000\0029\002O\000\000\000\000\000\000\000\153\000\000\000\000\000\152\002=\002:\0011\000\241\000\000\000\000\000\000\000\000\001d\000\000\003\135\000\000\003\136\000\000\000\000\002\023\002\021\000\000\002\022\000\b\000\000\000\t\000\000\002\129\002\130\002\128\000\000\002\127\000\000\000\n\000\000\002\132\002\133\002\131\000\000\002\135\000\000\000\000\000\000\002y\000\000\000\000\002{\000\000\002u\000\000\002w\000\000\002|\000\000\002}\000\000\002v\002t\002\136\001\202\002~\000\000\002\138\000\000\002\137\000\000\002\139\000\000\003\015\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\140\000\000\000\000\002\143\000\000\002\142\000\000\002\141\001\019\000\000\000\000\000\000\000\000\001\020\002\144\000\000\000\000\000\000\003\027\000\000\003\026\000\000\000\000\000\000\000\000\003\028\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\003)\000o\000\000\000\000\001\028\000\000\001=\001<\000\000\001\128\000\000\003\025\001\194\001\192\000\000\000\000\000\000\000\000\003\029\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\024\000\000\000\000\000\000\000\000\000\000\000\000\003\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003$\000\000\000\000\003#\000\000\003 \000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\000\000\003\"\000\r\000\000\003\030\000\000\003\031")
+ (16, "\000\000\000\000\003\004\000\135\000\000\000\000\003X\001L\000\000\001J\001K\001I\000\000\001N\001M\000\001\000\000\001\134\000\000\000\000\000\151\002\030\000\000\000\000\003m\000\000\000\000\003t\003r\003n\003k\000\000\000\000\003p\003o\000\018\003\160\003\159\002#\002\"\000\000\000\017\002$\000\000\002\031\002!\000\000\003\244\000\000\000\000\001\231\001\230\001\229\001\228\000\000\000\244\000\243\000\000\000\000\002\001\000\000\001\150\001\233\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\000\001\021\001E\001\020\001\019\001\018\001\017\001D\001C\001\016\001\015\002@\000\000\000\000\002?\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002C\001\r\000\000\002&\000\000\000\000\000\000\002'\002 \000\150\002,\000\000\000\000\000\000\003(\000\000\003\152\003\151\003\153\000\000\003\188\000\000\003\145\000\000\000\000\000\000\000\000\001\000\000\019\000\000\000\000\000\000\003\235\002\203\000\000\000\000\003\233\000\000\002\231\000\000\000\000\000\000\000\000\000\000\000\000\003\232\003\234\002\209\001?\002\208\001>\002\207\002\206\002\205\002\021\002\201\000\000\000\000\002\202\000\245\000\000\000\000\000\000\002\204\000\000\000\000\002\200\003\231\000\000\000\000\003\200\002\163\000\000\000\000\002\166\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\246\001=\002\199\002\212\000q\000\025\000s\000\000\000\000\000U\000\000\000\000\000\000\000\000\000\000\000\000\000V\000\000\000W\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000h\002\196\000t\000\000\000\000\000\145\000\248\002\129\002\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\000\000\000\000\000\000\000\000\000\000\000r\000j\000\000\000i\000\000\002\164\002\167\000\000\002\165\002\168\003\199\000\020\000\000\002\239\000\000\000\183\000\000\000\000\002\002\000\000\001\152\001\234\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\001\255\000\000\001\146\000\180\000\000\000\179\000\000\001\148\001\232\000\000\000\000\002\238\000\000\000\000\000\000\002\217\000\000\000\000\000\000\002\210\000\000\000\000\000\000\000\000\002\237\002\236\002\235\002\234\002\233\002\229\000\000\003\211\002\230\000\000\003\212\002\232\000\000\003\214\000\000\002\228\000\000\000}\002\179\000\000\000\000\002\182\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000m\000\000\000l\000\155\002\240\002\227\000\014\000\016\000k\0007\000\185\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\000\000\000\000\000\000\000\000\000\000\000\000\0021\0025\000\000\000\000\000\154\0022\001\004\001\002\000\000\002\185\000\000\000\000\002\180\002\183\000\000\002\181\002\184\003\213\000\000\000\000\002\198\001\026\000\000\002\023\000\000\000\000\000\000\000\000\000\000\000\250\002\029\000\000\000\000\001\166\002\197\000\000\000\000\002\225\000\000\000\000\002\224\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\240\000\239\000\000\000\000\002\223\001^\001]\002\222\000\000\002\221\002\220\002\219\001`\002\215\000\000\003\204\002\216\000\000\000\000\000\000\000\000\000\000\000\238\000\000\003\205\002\218\000\000\003\207\000\000\002\214\000\000\000\000\000{\002\171\000\000\000\000\002\174\000\000\000\000\002\177\000\000\000\000\002\172\002\175\000\000\002\173\002\176\002\226\002\213\003\206\000\000\001\b\001Y\000\000\000\000\000\000\000\000\001[\000\000\001\132\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000*\000\000\000\000\000\000\000\000\001\\\000\000\001V\000\000\000\000\002F\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002J\001_\001W\000\000\000\254\001U\002G\000\000\001Z\000\000\002\178\000|\000\000\002\170\003\208\000\000\002\186\000~\000\000\002\169\003\227\003\228\003\226\003\225\003\198\000\000\000\000\003\197\000\000\002\019\000\000\002\211\000\000\000\000\000z\000\000\000\000\000\000\003\215\000\000\002\020\000\000\000\000\000\000\003\229\000\000\000\000\000\000\003\201\000\000\000g\000\184\000\000\001~\000\000\003\157\003'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\000\189\000\190\000\000\000\000\000\000\000\000\000\000\002T\002e\002\t\000\000\000\000\000\000\000\000\000\000\001\012\000\194\000\000\002\n\000\000\000\000\000\000\000\000\000\188\000\000\000\186\000\175\000\000\000\000\000\174\002X\002U\000\000\000\000\003\156\000\000\003\155\000\000\000\000\000\000\003\158\003\146\003\147\000\000\002)\000\000\003\149\000\000\000\000\000\177\003\150\000\000\000\000\000\000\002*\003\187\000\000\000\000\002\b\000\000\001\164\001\241\000\000\003\154\000\000\000\000\002+\000\000\000\000\001d\000\000\001c\000\000\001r\000\000\001\136\000\000\000\000\000\000\001\184\000\000\003\191\000\000\000\000\002\005\001\185\000\000\001\158\001\238\003\192\000\000\003\195\003\194\000\000\000\000\003h\003\193\000\143\000\000\000\224\000\000\000\000\000\000\001|\003\190\000\000\003\189\003\141\003\143\003\144\003\142\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\192\000\204\000\191\000\000\000\000\000\132\000\000\000\000\000\000\000\216\000\000\003R\000\000\000\000\000\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\000\000\000\000\223\001$\001#\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\209\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\213\000\000\000\000\000\000\000\000\000\214\000\000\000\210\000\000\000\000\000\000\000\000\002\245\000\000\000\000\000\000\000\000\003\222\000\000\003\132\000\000\003\131\000\000\000\000\000\000\000\000\003\242\000\000\000\000\000\000\003\243\000\000\000\022\000\000\000\000\000\000\000\000\002\252\000\000\000\000\000\000\002\251\002\250\002\249\002\248\002\247\002\243\000\000\003\218\002\244\000\000\003\219\002\246\000\000\003\221\000\000\002\242\000\000\000\127\002\187\000\000\000\000\002\190\000\000\000\000\002\193\000\000\000\000\002\188\002\191\000\000\002\189\002\192\002\254\002\241\003\220\000\000\000\000\000p\000\000\000o\000\000\002\253\000\000\001\235\000n\000F\001\025\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\128\000\000\003\238\000\000\001\168\000\000\000\000\000\000\000\195\003y\001z\000\000\001y\001P\001O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\136\000\000\000\000\002h\000\000\000\000\000\000\002p\000\000\000\000\002t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002w\000\000\000\000\002{\000\000\002j\000\000\000\000\002m\000\000\000\000\000\000\002q\000\000\000\000\002u\000\000\000\000\002n\000\000\000\000\002r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\159\000\247\000\000\000\000\0028\000\000\000\000\000\158\002<\0029\001\006\000\225\000\000\000\227\000\226\000\000\003\134\000\000\003\133\003u\000\000\000\000\000\000\000\000\000\000\003\128\000\000\003z\000\000\003\135\000\000\000\000\000\000\000\000\003\129\003w\002\131\000\000\000\199\001R\000\000\003\138\000\000\001T\000\000\000\000\003\166\000\000\003\173\000\201\000\000\000\207\000\000\003\167\000\200\000\000\003\168\000\000\003\175\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\222\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\208\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\215\000\000\000\211\000\197\000\196\000\000\003\176\003\177\000\000\003\178\000\000\003\179\000\000\001S\003}\000\000\000\000\000\000\000\000\000\000\003~\002k\000\000\000\000\000\000\000\000\002x\000\000\000\000\002y\000\000\002g\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\002z\000\000\002i\000\000\000\000\002l\000\000\000\000\000\000\002o\000\000\000\000\002s\000\000\000\000\002\007\000\000\001\162\001\240\000\000\003v\000\000\000\000\000\000\003|\000\000\000\000\000\000\0016\000\000\0010\000\000\0011\000\000\001;\001/\001:\000\000\003\137\001<\000\000\000\202\000\000\000\000\000\000\000\000\0018\0013\002\003\000\000\0014\000\000\0015\000\000\001\154\001\236\000\000\000\000\000\000\002\015\000\000\002\r\000\000\000\000\002\017\002\011\000\000\002\018\002\012\000\000\003\139\002\024\000\000\000\198\000\000\000\000\002\004\000\000\001\156\001\237\000\000\003\239\000\000\003\236\000\000\003\237\000\023\000\024\000\000\000\000\0034\000\000\0033\000\000\000\000\0036\000\000\0035\000\000\000\000\002\006\000\000\0032\0031\000\000\001\160\001\239\000\000\0037\000\000\000\000\003\240\000\021\000\130\000\000\003\241\000\000\000\000\003N\000\000\000\000\003\140\000w\000\000\000\000\000\000\000x\000\000\003\130\000\000\001\128\000\000\001\130\003\127\000\000\000\000\001l\000\000\001k\000\000\001s\000\000\001\144\000\000\000\000\000\000\001h\000\000\001g\000\000\001p\000\000\001\140\000\000\000\000\000\000\001o\000\000\000\000\001w\000\000\000\000\001j\001x\000\000\001i\000\000\001q\000\000\001\142\000\000\000\000\000\000\001m\000\000\000\000\000\000\001f\000\000\001e\000\000\001t\000\000\001\138\000\000\000\000\000\000\001n\000\002\000\000\000d\000\000\000\000\001\227\000e\000\000\000\000\003\014\003\018\003\022\003\n\003\027\003\007\000\000\000\000\003\019\003\026\003\011\003\025\003\t\003\024\003\r\003\005\003\012\003\021\003\b\003\015\003\006\003\017\003\023\003\020\003\016\001\190\001\189\000\141\000\000\000\000\003d\000\000\000\000\000\000\000\000\003I\003F\000\000\000\000\003J\003G\003H\003%\000\000\000\000\003j\003\029\003\028\003\030\000\000\001\207\000c\001u\000\003\000\000\000\000\003\001\000\000\002\127\000\000\000\142\000\000\000\000\003f\000\000\000\000\000\000\000\134\000\000\000\000\003V\000\000\002b\002a\001\181\003&\000\000\001\222\000\000\003\002\000\000\000\000\000\136\000\000\000\000\003Z\000\000\001\204\000\000\000\000\001\196\000\000\000\000\000\000\001\203\000\000\001\199\000\000\000\000\000\000\000\000\000\000\001\171\001\170\001\169\000\000\000\000\000\000\001\223\000\000\001\194\000\000\001\193\000\000\000\131\000\000\000\000\003P\000\000\000\000\001\188\000\000\000\000\001\192\000\000\000\000\000\139\000\000\000\000\003`\000\000\000\000\003/\000\000\003.\000\000\000\000\000\000\002`\002_\003,\002\137\003!\003-\000\000\001\210\000\000\000\000\000\000\001\206\000\000\001\212\000\000\000\000\000\000\000\000\000\000\000\000\001\226\000\000\001\198\000\000\001\197\000\000\000\000\000\000\003#\000\140\000\000\000\000\003b\000\000\003\"\000\000\001\208\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\001\202\000\000\001\201\000\000\000\000\001\030\000\000\001\029\000\000\000\000\000\000\000\000\000\000\001\224\000\000\001\195\000\000\001\028\000\000\002.\000\137\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003\162\003\161\000\000\000\000\001H\001G\000\133\001F\000\000\000\000\003T\000\000\002Z\002Y\002\\\003\031\002\133\002[\001\027\000\000\000\138\000\000\000\000\003^\000\000\000\000\000\000\000\000\002^\002]\003+\003)\002\135\003 \003*\000\000\001\217\000\000\001\220\000\000\000\000\001\213\000\000\000\000\000\000\001\205\000\000\001\211\000\000\000\000\001\200\000\000\000\000\000\000\000\000\000\000\000\000\001\187\000\000\000\000\001\219\000\000\001\218\000\000\000\000\000\000\000\000\001\216\000\000\000\000\001\215\000\000\001\214\000\000\000\000\001\221\000\000\000\000\001v\000\004\000\000\001\191\000\005\000\000\000\000\001!\000\006\000\000\001\245\001\246\001\244\000\000\001\243\003\163\001\177\000\000\000\007\000\000\001\248\001\249\001\247\000\000\000\000\000\000\000\000\001&\000\000\000\000\000\000\000\000\001+\001-\001,\001'\001)\001(\000\000\000\000\000\000\000\000\000\000\003\169\003\182\000\000\003\170\000\000\003\171\000\000\000\000\003\164\000\000\000\000\000\000\000\000\003\181\000\000\000\000\003\180\001\253\001\252\000\000\000\000\001\179\001\242\001\250\000\000\000\000\000\000\000\000\000\000\002d\000\000\000\000\000\000\000\000\000\000\002M\002c\000\000\000\000\000\000\000\171\000\000\000\000\000\170\002Q\002N\001\n\000\193\000\000\000\000\000\000\000\000\001@\001\"\000\000\003\185\000\000\003\186\000\000\000\000\002\027\002\025\000\000\002\026\002\028\000\b\000\000\000\t\000\000\002\152\002\153\002\151\000\000\002\150\000\000\000\n\000\000\002\155\002\156\002\154\000\000\002\158\000\000\000\000\000\000\002\144\000\000\000\000\002\146\000\000\002\140\000\000\002\142\000\000\002\147\000\000\002\148\000\000\002\141\002\139\002\159\001\183\002\149\000\000\002\161\000\000\002\160\000\000\002\162\000\000\0030\000\011\000\000\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\232\000\000\000\231\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\233\000\230\000\000\000\235\000\000\000\000\000\000\003<\000\000\003;\000\000\000\000\000\000\000\000\003=\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\003L\000\129\000\000\000\000\000\242\000\000\001\023\001\022\000\000\001b\000\000\003:\001\175\001\173\000\000\000\000\000\000\000\000\003>\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0039\000\000\000\000\000\000\000\000\000\000\000\000\0038\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003E\000\000\000\000\003D\000\000\003A\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\000\000\003C\000\r\000\000\003?\000\000\003@")
let error =
- (187, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\016\002\012\000\000\004\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\000\000\000={W\128\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@BT4\001@A\170\b\t\012\192\140\001\160\017\014\240$\000\bs!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000#Z8\000\000\000\196\000\004\000`F\000@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\165\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000 \018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000 \018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\006 \000 \003\0020\002\000@\016\128\000\000\000L\134 !\n\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\020\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\b\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\b\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\024\136\000\004\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\002\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000 \018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\002\000\004\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004B@F\000@\b\002\016\000\000\000\t\144\197\235\218\188\000\b\000\016\000\001\004\004\000 \000\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\132\000\b\000\000\130\002\000\016\000\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\000\b\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\016\000\000\000\000\000\000\015^\213\224\000@\000\128\000\b \001\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\016\000\001\016\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\136 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\245\237^\000\004I\b\001 \208*\012\230@\000! \016\002\000\016@ \158\189\171\192\000\137!\000$\026\005A\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130z\246\175\000\002$\132\000\144h\021\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000b`\155,\150\000\000\n\000@\128\000\r\208\bO\014\224\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\b'\175j\240\000\"H@\t\006\129Pg2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A\006\001,\000\000\020\000\128\000\000\027 \000\026\029\192\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000`\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\000\007\175j\240\000 \000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000\128\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002P \000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\165\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000 \018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000 \018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160@\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!J\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\132(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000\"\018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000 \000\004\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\132(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000 \018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\b\128\000\128H\b\192\b\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\000\000\136\000\b\004\128\140\000\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\002 \000\"\018\0020\002\000@\016\128\000\000\000L\134/^\213\224\000@\000\128\000\b \001\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\132(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004\000\b\000\000\130\002\000\016\000\000\000 \000\000\000\000\001\000\030\189\171\192\000\128\001\000\000\016@@\002\000\000\000\004\000\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004\000\b\000\000\130\0020\000\000\000\000\000\000\002\000\000\b\000\030\189\171\192\000\128\001\000\000\016@F\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\000\000\000\000\000\000\000\016\000={W\128\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\245\237^\000\004\000\b\000\000\130\0020\000\000\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\004\000\000\000\002\000\000\000\000\b\128\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004\000\b\000\000\130\0020\000\000\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000 \000@\000\004\016\017\128\000\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029{V\128\001\000\002\000\000\000\000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\001\000\000\000\000\000\000\000\245\237^\000\004\000\b\000\000\130\002\000\016\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004B@F\000@\b\002\016\000\000\000\t\144\197\235\218\188\000\b\000\016\000\001\004\004\000 \000\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000\000\002\b\004\016\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\001\129\002,\146P\000\000 \000\002\000\0005@!\024#\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004I\b\001 \210*\012\238@\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\215\181x\000\017$ \004\131H\1683\185\000\000\132\128@\000\000A \130z\246\175\000\002$\132\000\144i\021\006w \000\016\144\b\001\000\b \016@\000\000\004\128\000\012\000\017`\018\128\000\001\000\000\000\000\001\162\000\b\193\024\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\000\000\b \016@\000\000\004\128\000\012\000\017`\018\128\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000\000\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000\000\002\b\004\016\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\000\000\b \016@\000\000\004\128\000\012\000\017`\018\128\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000`\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000\000\002\b\004\016\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\015^\213\224\000D\144\128\018\r\"\160\206\228\000\002\018\001\000 \001\004\130\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\245\237^\000\004I\b\001 \210*\012\238@\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128\206d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\016\000\000 \000\000\000\000\000\128I\000\001 \208(\012\230@\000! \016\000\000\016@ \128\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\000\004\016\b \000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\016\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\004\144\000\018\r\002\128\206d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000D\144\128\018\r\002\160\206d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\004\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\"\000\002! #\000 \004\001\b\000\000\000\004\200b\245\237^\000\004\000\b\000\000\130\002\000\016\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\bB\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/^\213\224\000@\000\128\000\b\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@F\144\160\016\012b\184\238| \006z\131\000\004iD\n\t\235\218\188\000\b\000\016\000\001\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\002\000\000\000\b\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\005\001\004\136 \0041\000\000\004\128\004;@\144\000!\128\000\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\004\136 \0041\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\004\000\000\000\016\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \0041\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000c\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000 \000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\002\000\004\000\000A\001\000\b\000\000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\004\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\007\175j\240\000 \000@\000\004\016\016\000\128\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007^\213\160\000@\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\016\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \0041\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002P \000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\004\136 \0041\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\004\136 \0041\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\007\175j\240\000 \000@\000\004\016\016\000\128\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\002\000\000\000\000\000\000\001\235\218\188\000\b\000\016\000\001\004\004\000 \000\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\001\140@\000\001 \001\014\208$\000\b`\000\003\215\181x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \002\000\160 \145\004\000\134 \000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128\206d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\001\000\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\002\000\004\000\000@\001\000\000\192\000\000\016\000\000\000\192\016\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000 \000@\000\004\000\016\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000$\128\000\144j\020\006\243 \000\016\144\b\001\000\b \016@\000\000\000\000\004\144\000\016\012\226\128\206d\000\006\018\001\000\168\001\004\018\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\0039\144\000\024H\004\000\000\004\016\b \000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\0039\144\000\024H\004\000\000\004\016\b \000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\000\000\004\144\000\016\012\002\128\206d\000\006\018\001\000\000\001\004\002\t\235\218\188\000\b\146\016\002A\160T\025\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\003\002\004\025$\160\000\000@\000\004\000\000B\128B\004\006\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\b\146\016\002A\164T\025\220\128\000B@ \004\000 \144A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\002\000\000\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002\001\156P\025\204\128\000\194@ \021\000 \130A\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\b \000\000\002@\000\006&\t\178\201`\000\000\160\004\b\000\000\221\000\132\168\238\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\024\024 \201%\128\000\002\000\000 \000\0034\002\018\"0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\004\144\000\016\012\194\128\206d\000\006\018\001\000\136\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\002H\000\b\006a@g2\000\003\t\000\128D\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\012\000\016`\018\128\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\016\000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\000\000\012\000\016`\018\128\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\016\000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\000\000\012\000\016`\018\128\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\016\000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\146\000\002\001\156P\025\204\128\000\194@ \017\000 \130A\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\t \000 \025\197\001\156\200\000\012$\002\001P\002\b$\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\140\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\144\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004\000\b\000\000\130\0020\000\000\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000\146\000\002A\168P\027\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\215\181h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000\146\000\002A\168P\027\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\004\144\000\018\rB\128\222d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\0024\133\000\144j\021\199s\225\0003\212\024\001#\2020\208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\000\000\018@\000@0\n\0039\144\000\024H\004\000\000\004\016\b'\175j\240\000\"H@\t\006\129Pg2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000\000\000I\000\001\000\192(\012\230@\000a \016\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000b`\155,\150\000\000\n\000@\128\000\rP\b\n\014\224\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\006\"\t\176\137`\000\000\160\004\000\000\000\209\000\000\160\238\000\000\000\000\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\136\000\005\003p\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\136\000\005\003p\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\128\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\001\"\000\001@\221\235\218\188\000\b\146\016\002A\160T\025\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \b$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\b\210\020\002\001\140W\029\207\132\000\207P`\000\141(\129A\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000@\000\000\000\000\000\000\016\"\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\004i\n\001\000\196+\142\231\194\000g\1680\000F\148@\160\159\255\175\224\128\141!@$\026\133\241\220\248@\012\245\006\000H\210\138\020\019\255\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248xF\144\160\016\012b\248\238|`\006z\147\000\004yG\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\001\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016('\255\235\248 #HP\t\006\161|w>\016\003=A\128\0184\162\133\004\255\253\127\004\004i\n\001 \212+\142\231\194\000g\1680\002F\148A\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\002\0004\129\000\128b\020Gs!\0003\212\024\000#\n P@\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000A \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128\206d\000\002\018\001\000 \001\004\130\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\001\000\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000 \003H\016\b\006!Dw2\016\003=A\128\0020\162\005\004\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000 \000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000@\000\b\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000 \000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\000\001\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004I\b\001 \210*\012\238@\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\128\141!@$\026\133q\220\248\192\012\245\006\000H\210\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248xF\144\160\016\012b\248\238|`\006z\147\000\004yG\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\004i\n\001\000\198+\142\231\198\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\004\002\000\000\000\000\128\000\000\000\000@\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\0024\133\000\128c\021\199s\227\0003\212\024\000#J V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\00010M\150K\000\016\005\000 H\000\006\232\004\005\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\004\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\0024\133\000\144j\021\199s\227\0003\212\024\001#J V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\b\210\020\002\001\140W\029\207\140\000\207P`\000\141(\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004I\b\001 \210*\012\238@\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000\000F\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\002H\000\t\006\161@o2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007^\213\160\000@\000\128\000\000\000 \000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\002H\000\t\006\161@o2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\001\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\002\000\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\0024\133\000\144j\021\199s\227\0003\212\024\001#J P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\128\000\b\192\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\128\r @ \024\133\017\220\200@\012\245\006\000\b\194\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\031\255\191\240\128\141!\192&\026\133\241\220\248\192\028\245&\000\200\242\142\181\152\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@F\144\160\016\012b\248\238| \006z\131\000\004yG\026\b\000\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\000\004\000\000\000\000?\255_\193\001\026B\128@1\139\227\185\240\128\025\234\012\000\017\229\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@F\144\160\018\rB\248\238| \006z\131\000$yG\026\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000 \000?\255_\193\001\026B\128@1\139\227\185\240\128\025\234\012\000\017\165\020( \000\000\000\000\000\000\000\001\000\128 \000\000\000\000\000\000\000\016\000\000\128\000\255\253\127\004\004i\n\001\000\198/\142\231\194\000g\1680\000F\148P\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000@\000\000\000\000\000\000\000 \000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\001\026B\128H5\011\227\185\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000 \002\0020\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000@\003\001\000\000\000\000\000\b\000\000\000 \000\000@\005\255\250\254\b\b\210\020\002\001\140W\029\207\132\000\207P`\000\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\001\128\128\000\000\000\000\004\000\000\000\016\000\000 \002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\128\141!\192&\026\133q\220\248@\028\245\006\000H\210\136\148\027\255\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\b\210\028\002a\168W\029\207\132\001\207P`\004\141(\137A\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000 \000?\255_\193\001\026B\128H5\011\227\185\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000\b\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 #HP\t\006\161\\w>0\003=A\128\0184\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\002$\133\000\128`\021\006s\224\0000\144\b\000\000J P@\000\000\000\000\004\144\004\018\r\002\128\206d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\253\127\000\004I\n\001\000\192*\012\231\192\000a \016\000\000\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\000\002\000\000 \000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\192\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144j\020\006\243 \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029{V\128\001\000\002\000\000\000\000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000 \000=\255_\192\001\018B\128@0\n\1319\240\000\024H\004\000\000%\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\192\193\006I,\000@\016\000\001 \000\024\160\016\016\017\128\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144j\020\006\243 \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\002$\132\000\144i\021\006w \000\016\144\b\001\000\b$\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\002\000\000#\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\133\001\188\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000\128\001\000\000\000\000@\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\168P\027\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\b\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\016\001\001\024\000\000\000\b\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\004i\n\001\000\198+\142\231\194\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128\206d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000?\255_\193\001\026B\128H5\n\227\185\240\128\025\234\012\000\145\229\024h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240\000@\000\128\000\b\000 \000\024\000\000\002\000\000\000\024\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\255\253\127\004\004i\n\001\000\198+\142\231\194\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\b\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128\206d\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\004\000i\002\001\000\196(\142\230B\000g\1680\000F\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240\000@\000\128\000\b\000 \000\024\000\000\002\000\000\000\b\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\191\255_\192\001\000\002\000\000 \000\128\000`\000\000\b\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\000\004\000\b\000\000\128\002\000\001\128\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\007\001\004\137 B\001\000\000\004\128\004)B\144\0001\128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000\002\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\128\b\002\128\128D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000@\000\000\000 \002\000\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\002\000\000 \000\000\000\000\000\000\000@@\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\002 \000\000\000\000\000\000\000@@\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\001\192A\"\b\016\128@\000\001 \001\n@\164\000\012`\000\003\215\181x\0008\b \001\002\016\b\000\000$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\132\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000@\004\001@A\"\b\000\b\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\016\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\001\192A \b\016\128@\000\001 \001\n@\164\000\012 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\007\001\004\000 B\001\000\000\004\128\004)\002\144\0000\128\000\000\000 \002\000\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000 @\000\000\016\001\000P\016H\130\000\002\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\004\136 \000 \000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000P\016H\130\000\002\000\000\001H\000C\180\t\000\002\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\020\004\018 \128\016\128\000\000R\000\016\237\002@\000\135\000\000\000\000\128\b\002\128\130D\016\000\016\000\000\002@\n\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000\128\001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\015^\213\224\000@\000\128\000\b\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000P\016H\130\000\003\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\020\004\018 \128\000\128\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000\b\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000D\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\020\004\018 \128\000\128\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000\002\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \011\130\t\016@\001@\000\000)\000\bv\129 \000C\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\000\128\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 J\002\t\016@\000@\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\001\000\000\000\000\128\b\018\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\001\000\000\000 \000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000\002\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000P\b@\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \0000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\000\192\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\144H\130\000J\000\000\001H\000C\180\t\000\002\028\000\000\000\002\000 \n\002\t\016@\000@\000\000\t\000(v\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000\003\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\000\012\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\020\004\018 \128\000\128\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\b\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\000\128\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\002\000 \n\002\t\016@\000@\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006@\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\000\b\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\023\004\018 \128\002\128\000\000R\000\016\237\002@\000\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\222\188@\028\004\018 \129\b\132\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\016\001\000P\016\b\130\000\002\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \011\146\t\016@\t`\000\000)\000\bv\129 \000C\128\000\000\000@\004\001@A\"\b\001\b\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\003\215\189x\1288\b$A\002\017\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \000 \000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\004\136 \000 \000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x@8\b$I\002\016\b\000\000$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160p\025\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\128\141!@$\030\135q\220\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\239\252 #HP\t\007\161\\w>\016\003=I\128\0184\162\005f\247\253\255\128\004\000\b\000\000\128\002\000\000\000\000\000\001\000\000\000\000\000\000\030\255\191\240\000\128\001\000\000\016\000@\000\000\000\000\000 \000\000\000\000\000\003\223\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\004!C\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\132(`\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\016\133\012\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\225\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016('\255\235\248 #HP\b\0061\\w>\016\003=A\128\0024\162\005\004\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\128\141!@ \024\197q\220\248@\012\245\006\000\b\210\136\021\152\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \000\000\000\000\000\000\000\000\004\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 #HP\t\006\161\\w>\016\003=A\128\0184\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000 \025\197\001\156\200\000\012$\002\001P\002\b$\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240xF\144\160\016\012b\184\238| \006z\131\000\004iD\n\t\255\250\254\b\b\210\020\002\001\140W\029\207\132\000\207P`\000\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\007\255\235\248 #HP\b\0061\\w>\016\003=A\128\0024\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\240\141!@ \024\197q\220\248@\012\245\006\000\b\210\136\020\019\255\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\255\127\224\001\000\002\000\000 \000\128\000\000\000\000\b@\000\000\000\000\000\000\016\133\012\000\000\000\000\000\002\000\000#\000\000\000\001\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000F\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\007\175j\240\000 \000@\000\004\016\017\128\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\215\181x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\246\175\000\002\000\004\000\000A\001\024\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\000 \000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\b\210\020\002A\168W\029\207\132\000\207P`\004\141(\131A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000\004\000\004\000\000F\000\000\000\002\016\000\000\000\000\000\196\000\000\000\000\000\000@@\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\028\006s \000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\0024\133\000\144z\029\199s\225\0003\212\152\001#J V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\128\141!@$\030\133q\220\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\0024\133\000\128c\021\199s\225\0003\212\152\000#J V`\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000 \000\000\000\197\255\251\255\b\b\210\020\002\001\140W\029\207\132\000\207R`\000\141(\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\239\252 #HP\t\006\161\\w>\016\003=I\128\0184\162\005f\255\253\255\132\004i\n\001\000\198+\142\231\194\000g\1690\000F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248@F\144\160\018\rB\184\238| \006z\147\000$iD\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255\127\225\001\026B\128H5\n\227\185\240\128\025\234L\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\255\132\004i\n\001 \212+\142\231\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\255\132\004i\n\001 \212+\142\231\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248@F\144\160\018\rB\184\238| \006z\147\000$iD\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\016\000\016\000\001\024\000\000\000\b@\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\002\000\000\000\000\000\000\000\000\002\004\137p\003\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000@\128\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\b\001\000\000\000\000\000\000\001\000\000\b\016\000\000\000\000\000\000\000\b\000\000\000\004\000\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000\004\000\000 @\000\000\000\000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\016`\004\000\000\001@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\bp\003\000\000\000\128\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\128\000\000@\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\131\000 \000\000\b\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\128\004\000 \000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \192\b\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\135\0000\000\000\b\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\016`\006\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\128\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\016\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\131\0000\000\000\b\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\128\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
+ (195, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\002\000\000 \004\024\000\000\b\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\000={W\128\000\128\000@\000\004\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000F\180p\000\001\0001\000\003\000\020\b`\017\000 \b@\000\000\000&C\b\bN\134\128\020a\006\168 d2\129\012\002h\004C\188\t\000\002\028\200a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!z\026\000Q\132\026\160\129\144\202\0040\t\160\017\014\240$\000\bs!\132\004'C@\n0\131T\0162\025@\134\0014\002!\222\004\128\001\014d0\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\004\000\196\000\012\000P!\128D\000\128!\000\000\000\000\153\012 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\234h\001F\016j\130\006C(\016\192&\128D;\192\144\000!\204\134\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\016\000\000@\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\b \000\001\000@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000A\000\000\b\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\016\000\001\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000\1940\000\b\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\002\000\000\000\004\016\000\000\128 \000\000\016\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\000\000\001\000\000\000\002\b\000\000@\016\000\000\b\000\000\000\000\000@\000\000\000\000\000\000 \000\000\000A\000\000\b\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\000\000\016\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\tP\208\002\140 \213\004\012\198P!\128M\000\136w\129 \000C\153\012 \000\000\000\000\000\128\000\000\001\004\000\000 \b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\000\004\000\000@\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\tP\208\002\140 \213\004\012\198P!\128M\000\136w\129 \000C\153\012/^\213\224\000 \128\016\000\001\004\002\000\012\b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\130\000@\000\004\000\b\0000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b \000\000\000B\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000 \128\016\000\001\004\002\000\012\b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128 \130\000@\000\004\016\b\0000 \000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\002\b\001\000\000\016\000 \000\192\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b!\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000\000\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\245\237^\000\002)!\000$\026\005 \199\025\128\000B@ \004\000 \128C\030\189\171\192\000E$ \004\131@\164\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\000\000\130\001\012\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\245\237^\000\002)!\000$\026\005 \199\025\128\000B@ \004\000 \128C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\b\000\000\000\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\196\1936Y,\000\000\001@\b\016\000\001\186\001\t\241\218\000\000\000\000\000\b\000\000\000\016\000\000\002\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\164\132\000\144i\020\131\028\230\000\001\t\000\128\016\000\130A\012z\246\175\000\001\020\144\128\018\r\002\144c\140\192\000! \016\002\000\016@!\128\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\006&\t\178\201`\000\000\n\000@\128\000\r\208\bO\142\208\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\0006@\001<;@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000b \155\b\150\000\000\000\160\004\000\000\000\217\000\004\240\237\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\019 \000\158\r\160\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\006\"\t\176\137`\000\000\n\000@\000\000\t\144\000O\006\208\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\000&@\001>\027@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000b \155\b\150\000\000\000\160\004\000\000\000\153\000\004\248m\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\000&@\001>\027@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000b \155\b\150\000\000\000\160\004\000\000\000\153\000\004\248m\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\004\128\000\001\136\130l\"X\000\000\002\128\016\000\000\002d\000\019\225\180\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\"\t\176\137`\000\000\n\000@\000\000\t\144\000O\134\208\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\000&@\001>\027@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000b \155\b\150\000\000\000\160\004\000\000\000\153\000\004\248m\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\003\000\016@!\128\000\000\000\000\000\000\b\128\000\000\b\000\000\000\128\016\000\000\000`\000\019A\132\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\000&@\001<\027@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000b \155\b\150\000\000\000\160\004\000\000\000\153\000\004\240m\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\004\128\000\001\136\130l\"X\000\000\002\128\016\000\000\002d\000\019\193\180\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\"\t\176\137`\000\000\n\000@\000\000\t\144\000O\006\208\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\000&@\001>\027@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000b \155\b\150\000\000\000\160\004\000\000\000\153\000\004\248m\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\004\128\000\001\136\130l\"X\000\000\002\128\016\000\000\002d\000\019\225\180\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\"\t\176\137`\000\000\n\000@\000\000\t\144\000O\006\208\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\000&@\001<\027@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\004\128\000\001\136\130l\"X\000\000\002\128\016\000\000\002d\000\019\193\180\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\"\t\176\137`\000\000\n\000@\000\000\t\144\000O\006\208\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\136&\194%\128\000\000(\001\000\000\000&@\001<\027@\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\004\128\000\001\136\130l\"X\000\000\002\128\016\000\000\002d\000\019\193\180\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\"\t\176\137`\000\000\n\000@\000\000\t\144\000O\006\208\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\b\000\007\175j\240\000\016\000\b\000\000\128\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000@\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\148\b\000\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\128\b\128\001\128H\0040\b\128\016\004 \000\000\000\019!\133\004!K\000\000\016\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d0\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000@\004@\000\192$\002\024\004@\b\002\016\000\000\000\t\144\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000 \002 \000`\018\001\012\002 \004\001\b\000\000\000\004\200a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\017I\b\001 \208)\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\020\144\000\018\rB\128c\140\192\000! \016\000\000\016@!\128\000\000\000\000\002\146\000\002A\188P\r\241\152\000\012$\002\001P\002\b$0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\199\175j\240\000\017I\b\001 \208)\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \000\000\012\000\016`R\128\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\002\146\000\002A\188P\r\241\152\000\012$\002\001P\002\b$0\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\000\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\003\002\004Y$\160\000\000\004\000\000@\000\006\168\004#\004`\000\000\000\000\000 \000\000\000@\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000\"\146\016\002A\164R\012s\152\000\004$\002\000@\002\t\0041\235\218\188\000\004RB\000H4\138A\142s\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\000\245\237^\000\002)!\000$\026E \1999\128\000B@ \000\000 \144C\030\189\171\192\000E$ \004\131H\164\024\2310\000\bH\004\000\128\004\016\b`\000\000\001 \000\000`\000\139\000\148\000\000\000\128\000\000\000\000\209\000\004`\140\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\024\000\"\192%\000\000\000 \000\000\000\000$@\001\024\003\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000`\000\139\000\148\000\000\000\128\000\000\000\000\145\000\004`\012\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\003\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\000\"\192%\000\000\000 \000\000\000\000$@\001\024\003\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000`\000\139\000\148\000\000\000\128\000\000\000\000\145\000\004`\012\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\004\128\000\001\128\002,\002P\000\000\002\000\000\000\000\002D\000\017\1280\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\000\b\176\t@\000\000\b\000\000\000\000\t\016\000F\000\192\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\000\"\192%\000\000\000 \000\000\000\000$@\001\024\003\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000`\000\139\000\148\000\000\000\128\000\000\000\000\145\000\004`\012\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\000\b\176\t@\000\000\b\000\000\000\000\t\016\000F\000\192\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\000\"\192%\000\000\000 \000\000\000\000$@\001\024\003\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\001 \000\000`\000\139\000\148\000\000\000\128\000\000\000\000\145\000\004`\012\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\018\000\000\006\000\b\176\t@\000\000\b\000\000\000\000\t\016\000F\000\192\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000H\000\000\024\000\"\192%\000\000\000 \000\000\000\000$@\001\024\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\003\215\181x\000\b\164\132\000\144i\020\131\028\230\000\001\t\000\128\016\000\130A\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000={W\128\000\138H@\t\006\145H1\206`\000\016\144\b\001\000\b$\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\002\016\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\000\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\000\000\004\000\000\000\000\000\b\002\146\000\002A\160P\012q\152\000\004$\002\000\000\002\b\0040\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\000\000\130\001\012\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000E$ \004\131@\164\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000R@\000@1\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\nH\000\t\006\241@7\198`\0000\144\b\005@\b \144\192\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000\000\001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\002\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) \000$\027\197\000\223\025\128\000\194@ \021\000 \130C\000\000\000\000\000\005$\000\004\131x\160\027\2270\000\024H\004\002\160\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\006&\t\178\201`\000\000\n\000@\128\000\r\208\bJ\142\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\164\128\000\144o\020\003|f\000\003\t\000\128T\000\130\t\012\000\000\000\000\000\004\000\000\000\b\000\000\001\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\001\137\130l\178X\000\000\002\128\016 \000\003t\002\018\163\180\000\000\000\000\000R@\000@0\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\024\016 \201%\000\000\000 \000\002\000\000!@!\002\003\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\020\144\128\018\r\"\144c\156\192\000! \016\002\000\016H!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\024\024 \201%\128\000\000 \000\002\000\0003@!\"#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\002\146\000\002A\184P\r\241\152\000\012$\002\001\016\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\nH\000\t\006\225@7\198`\0000\144\b\004@\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\012\000\016`\018\128\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\002\000\000\000\192\001\006\001(\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000 \000\000\012\000\016`\018\128\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\002\000\000\000\192\001\006\001(\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\002\000\000\000\192\001\006\001(\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\b\000\000\003\000\004\024\004\160\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\128\000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\002\000\000\000\192\001\006\001(\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\146\000\002A\188P\r\241\152\000\012$\002\001P\002\b$0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\000\000\000\000\000\001I\000\001 \222(\006\248\204\000\006\018\001\000\136\001\004\018\024\000\000\000\000\000) \000$\027\197\000\223\025\128\000\194@ \021\000 \128C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\b\000\000\000\000\000\000\020\144\000\018\r\226\128o\140\192\000a \016\n\128\016A!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\nH\000\t\006\161@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\002)!\000$\026\005 \199\025\128\000B@ \004\000 \128C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\001 \000\000`\000\139\002\148\000\000\000\128\000\000\000\000\209\000\004`\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\138H@\t\006\129H1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000H\000\000\024\136&\194\165\128\000\000(\001\000\000\0006@\001>;@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\164\132\000\144h\020\131\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\004\128\000\001\136\130l*X\000\000\002\128\016\000\000\003d\000\019\227\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\002\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\006\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\016\000\000\002\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\000\128\000\b \017\128\000@\000\000\000\000\002\000\000\b\000\015^\213\224\000 \000\016\000\001\004\0020\000\b\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\000\000\002\000\003\215\181x\000\b\000\004\000\000A\000\140\000\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\015^\213\224\000 \000\016\000\001\004\0020\000\b\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\024\000\000\002\000\128\000\000@\000\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\b\002\000\000\001\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000 \000\016\000\001\004\0020\000\b\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\000\128\000\b \017\128\000@\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\003\215\181x\000\b\000\004\000\000A\000\140\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\004\000\128\000\000\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\004\000\128\000\b \016\000`@\000\000 \000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\016\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000={W\128\000\130\000@\000\004\016\b\0000 \000\000\016\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000BT4\000\163\b5A\0031\148\b`\019@\"\029\224H\000\016\230C\011\215\181x\000\b \004\000\000A\000\128\003\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\b\000\007\175j\240\000\016@\b\000\000\128\001\000\006\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\006\000 \000\128 \000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\011\215\181x\000\b\000\004\000\000@\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000 \000\016\000\001\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\180\133 \128c\020\227\156~\016\003=A\128\0024\162\005\012z\246\175\000\001\000\000\128\000\b\000\016\000\000@\000\000\000\000\000\000\000\000\000\015^\213\224\000 \000\016\000\001\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000 \000\030\189\171\192\000@\000 \000\002\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000 \000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\002\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\215\181h\000\b\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\140 \145\004\000\134\016\000\000I\000\bv\129 \000C\000\000\000\000 \002\000Q\132\018 \128\016\194\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\194\t\016@\ba\000\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\004\b- H \024\133\b\231\025\132\000\207P`\000\140(\129C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248\000\016@\b\000\000\128\001\000\0000\000\000\002\000\000\000\024\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\004\000\128\000\b\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\192\000\002\024\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000 \000\016\000\001\004\0020\000\b\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) \000$\026\133\000\207\025\128\000B@ \004\000 \128C\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\000@\000\004\016\b\192\000 \000\000\000\000\001\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000$\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128\000\000\000\000\000\000\002\146\000\002A\168P\012\241\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000A\000 \000\000\000\004\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128\000\000\000\000\000\000\002\146\000\002A\168P\012\241\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\020\144\000\018\rB\128g\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\003\255\245\252\016(\180\133 \144j\020\227\156~\016\003=A\128\018<\163\r\012\000\000\000$\000\004\012L\019m\146\192\001\000T\000\129 \000\027\160\016\148\029\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134={W\128\000\138H@\t\006\129H1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000H\000\000\024\136&\194\165\128\000\000(\001\000\000\0004@\000(;@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128 \144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\226\139HR\b\0061N9\199\225\0003\212\024\000#J P\192\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\001\000\000\000\000\000\000\000\004\b\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129E\164)\004\003\016\167\028\227\240\128\025\234\012\000\017\165\016(c\255\245\252\016(\180\133 \144j\022\227\156~\016\003=A\128\0184\162\133\012z\246\175\000\001\020\144\128\018\r\002\144c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001I\000\001\000\196(\0068\200\000\006\018\001\000\000\001\004\002\024\000\000\000\000\000) \000 \024\005\000\199\025\000\000\194@ \000\000 \128C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\016\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\003\000\160\024\227 \000\024H\004\000\000\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\001\137\130l\178X\000\000\002\128\016 \000\003T\002\002\131\180\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\017I\b\001 \210)\0069\204\000\002\018\001\000 \001\004\130\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\001\136\130l\"X\000\000\002\128\016\000\000\003D\000\002\131\180\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\003\017\004\216D\176\000\000\005\000 \000\000\004\136\000\005\003h\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\160\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000`\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\t\000\000\003\017\004\216D\176\000\000\005\000 \000\000\004\136\000\005\003h\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\160\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\144\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P6\128\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\218\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\t\000\000\003\017\004\216D\176\000\000\005\000 \000\000\004\136\000\005\003h\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\160\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\218\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\t\000\000\003\017\004\216D\176\000\000\005\000 \000\000\004\136\000\005\003h\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000$\000\000\012D\019a\018\192\000\000\020\000\128\000\000\018 \000\020\r\160\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\002@\000\000\196A6\017,\000\000\001@\b\000\000\001\"\000\001@\218\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\t\000\000\003\017\004\216D\176\000\000\005\000 \000\000\004\136\000\005\003h\000\000\000\000\000\164\128\000\144o\020\003|f\000\003\t\000\128T\000\130\t\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\226\139HR\b\0061N9\199\225\0003\212\024\000#J P\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\255\135\138-!H \024\197\184\231\031\140\000\207R`\000\143(\227[@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\180\133 \128c\020\227\156~\016\003=A\128\0024\162\005\012\127\254\191\130\005\022\144\164\018\rB\220s\143\194\000g\1680\002F\148P\161\143\255\215\240@\162\210\020\130A\168S\142q\248@\012\245\006\000H\210\13640\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\255\132\n-!\200&\026\133\184\231\031\140\001\207R`\014\143(\235[@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000 Ai\002A\000\196(G8\204 \006z\131\000\004aD\n\024\000\000\000\004\b- H \024\133\b\231\025\132\000\207P`\000\140(\129C\000\000\000\000\000\001\000\000\000\002\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\001\239\250\254\000\004RB\016H4\nA\142?\000\000\132\128@\b\002A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016@\b\000\000\128\001\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\016\000\000\002\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\rB\128g\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\006\000\000\016\192 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\016\000\000\002\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\000\128\000\b \017\128\000@\000\000\000\000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\168P\012\241\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\175j\208\000\016@\b\000\000\000\001\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\016\000\000\002\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\rB\128g\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\129\129\130\r\146X\000 \n\000\000$\000\003\020\002\018\0020\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\002\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) \000$\026\005\000\199\025\128\000B@ \004\000 \144C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\016 \180\129 \128b\020#\156f\016\003=A\128\0020\162\005\012\000\000\000\002\004\022\144$\016\012B\132s\140\194\000g\1680\000F\020@\161\128\000\000\000\000\000\128\000\000\000\004\000\000 \b\000\000\004\000\000@\000\001\000\000\000\000\000\000\000\016\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000@\000\000\000\002\000\000\016\004\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\b\000\000\000\000@\000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\128\000\000\000\004\000\000 \b\000\000\004\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000@\000\000\000\002\000\000\016\004\000\000\002\000\000 \000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\002)!\000$\026E \1999\128\000B@ \004\000 \144C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\016 \180\129 \128b\020#\156f\016\003=A\128\0020\162\005\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\002\139HR\t\006\161N9\199\227\0003\212\024\001#J P\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\241E\164)\004\003\024\183\028\227\241\128\025\234L\000\017\229\028kh\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020ZB\144@1\138q\206?\024\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\001\000\128\000\000\000\002\000\000\000\000\001\000\000\000\006\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\n-!H \024\1978\231\031\140\000\207P`\000\141(\129[@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\004\012L\019m\146\192\001\000T\000\129 \000\027\160\016\020\029\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\n-!H$\026\1338\231\031\140\000\207P`\004\141(\129[@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\180\133 \128c\020\227\156~0\003=A\128\0024\162\005m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004RB\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\128\001\128\000\0040\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\000\004\000\000A\000\140\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\161@3\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\000\004\000\000A\000\140\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007^\213\160\000 \128\016\000\000\000\002\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\001I\000\001 \212(\006x\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\002\139HR\t\006\161N9\199\227\0003\212\024\001#J V\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\001\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\022\144\164\018\rB\156s\143\198\000g\1680\002F\148@\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\0000\000\000\134\001\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000) \b$\026\005\000\199\025\128\000B@ \004\000 \128C\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130A\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000@\130\210\004\130\001\136P\142q\152@\012\245\006\000\b\194\136\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\002)!\000$\026E \1999\128\000B@ \004\000 \144C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\168P\012\241\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000@\000\192\000\002\024\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131P\160\025\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\161@3\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000A\000 \000\000\000\004\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\129\005\164\t\004\003\016\161\028\2270\128\025\234\012\000\017\133\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\128\000\000\000\000\000\000\000\000\000\000 \000\031\255\191\240\129E\1649\004\195P\183\028\227\241\1289\234L\001\145\229\029kh\000\000\000\016 \180\129 \128b\020#\156f\016\003=A\128\0020\162\005\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@\162\210\020\130\001\140[\142q\248@\012\245\006\000\b\242\14240\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000?\255_\193\002\139HR\b\0061n9\199\225\0003\212\024\000#\2028\208\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\002\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\180\133 \144j\022\227\156~\016\003=A\128\018<\163\141\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@\162\210\020\130A\168[\142q\248@\012\245\006\000H\242\14240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000?\255_\193\002\139HR\b\0061n9\199\225\0003\212\024\000#J(P\192\000\000\000\000\000\000\000\000 \016\004\000\000\000\000\000\000\000\000 \000\001\000\000\255\253\127\004\n-!H \024\197\184\231\031\132\000\207P`\000\141(\161C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@ \b\000\000\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\002\139HR\t\006\161n9\199\225\0003\212\024\001#J(P\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\004\000\012\000@!\128@\000\000 \000\000\000\000\016\000\000\000\000\000\000\000\000\b\000` \000\000\000\000\000\016\000\000\000@\000\000\128\005\255\250\254\b\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@0\016\000\000\000\000\000\b\000\000\000 \000\000@\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129E\1649\004\195P\167\028\227\240\1289\234\012\000\145\165\017(k\255\245\252\016(\180\133 \128c\020\227\156~\016\003=A\128\0024\162\005\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020ZC\144L5\nq\206?\b\003\158\160\192\t\026Q\018\134\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000?\255_\193\002\139HR\t\006\161n9\199\225\0003\212\024\001#J(P\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA \212)\1998\252`\006z\131\000$iD\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\020\144\164\016\012\002\144c\143\128\000a \016\000\000\148@\161\128\000\000\000\000\002\146\000\130A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\253\127\000\002)!H \024\005 \199\031\000\000\194@ \000\001(\129C\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000=\255_\192\000\138HR\b\006\001H1\199\192\0000\144\b\000\000J P\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\b\000\024\000\128C\000\128\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\180\133 \128c\020\227\156~\016\003=A\128\0024\162\005\012\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\255\253\127\004\n-!H$\026\1338\231\031\132\000\207P`\004\143(\195C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\192\000\130\000@\000\004\000\b\000\001\128\000\000\016\000\000\000\192\016\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\011\255\245\252\016(\180\133 \128c\020\227\156~\016\003=A\128\0024\162\005\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@\162\210\020\130\001\140S\142q\248@\012\245\006\000\b\210\136\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\128\000\144h\020\003\028f\000\001\t\000\128\016\000\130\001\012\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nH\000\t\006\129@1\198`\000\016\144\b\001\000\b \016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\002A\160P\012q\152\000\004$\002\000@\002\b\0040\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\n-!H \024\133(\231\031\132\000\207P`\000\141(\129C\030\189\171\192\000E$ \004\003\000\164\024\227 \000\024H\004\000\000\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000/\255\215\240@\162\210\020\130\001\136R\142q\248@\012\245\006\000\b\210\136\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA\000\196)G8\252 \006z\131\000\004iD\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\000A\000 \000\002\000\004\000\000\192\000\000\b\000\000\000 \000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\001\127\254\191\128\001\004\000\128\000\b\000\016\000\003\000\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\016\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\144\000\018\r\002\128c\140\192\000! \016\002\000\016@!\128\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\016\007\016A\"H\016\128`\000\000\146\000\016\165\n@\000\198\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\016\001\000(\130\001\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\016\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\128\000\b\000\000\000\000\000\000@\001\001\000\000\000\000\000\002\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\b\128\000\000\000\000\000\004\000\016\016\000\000\000\000\000 \b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\192\016H\130\004 \024\000\000$\128\004)\002\144\0001\128\000\007\175j\240\0008\002\b\000@\132\003\000\000\004\144\000\133 R\000\0060\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$a\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\128\b\001D\016H\130\000\002\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\192\016H\002\004 \024\000\000$\128\004)\002\144\0000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\007\000A\000\b\016\128`\000\000\146\000\016\164\n@\000\194\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\129\000\000\000 \002\000Q\004\018 \128\000\128\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\016A\"\b\000\b\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000 \002\000Q\004\018 \128\000\128\000\000\005 \001\014\208$\000\bp\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\b\000\128\020A\004\136 \004 \000\000\001H\000C\180\t\000\002\028\000\000\000\001\000\016\"\136 \145\004\000\004\000\000\000\t\000(v\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\b\000\128\020A\004\136 \000 \000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000 \000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\015^\213\224\000 \000\016\000\001\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\016\001\000(\130\t\016@\000`\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\002\000 \005\016A\"\b\000\b\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\004@\000\000\000\144\000\135h\018\000\0040\000\000\000\002\000 \005\016A\"\b\000\b\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020A\004\136 \000 \000\000\000H\000C\180\t\000\002\024\000\000\000\001\000\016\002\232 \145\004\000\020\000\000\000)\000\bv\129 \000C\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\016A\"\b\000\b\000\000\000\018\000\016\237\002@\000\134\000\000\000\000@\004\000\162\b$A\000!\000\000\000\n@\002\029\160H\000\016\224\000\000\000\b\000\129\020A\004\136 \000 \000\000\000H\001C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000 \002\000Q\004\018 \128\000\128\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\"\136 \145\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\001\000\000\000\000@\004\b\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020A\004\136 \000 \000\000\000H\000C\180\t\000\002\024\000\000\000\001\000\016\002\136 \145\004\000\132\000\000\000)\000\bv\129 \000C\128\000\000\000 \002\004Q\004\018 \128\000\128\000\000\001 \005\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\128\b\001D\016H\130\000\002\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000(\004 @\n \130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\128\b\001D\016H\130\000\003\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\016A\"\b\000\012\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020I\004\136 \004\160\000\000\001H\000C\180\t\000\002\028\000\000\000\001\000\016\"\136 \145\004\000\004\000\000\000\t\000(v\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020A\004\136 \0000\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000Q\004\018 \128\000\192\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\002\000 \005\016A\"\b\000\b\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\128\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\b\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\162\b$A\000\001\000\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000 \002\000Q\004\018 \128\000\128\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\128\000\000\000\b\000\000\000\016\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n \130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\016A\"\b\000\b\000\000\000\018\000\016\237\002@\000\134\000\000\000\000@\004\000\186\b$A\000\005\000\000\000\n@\002\029\160H\000\016\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001D\016H\130\000\002\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\235\196\000\226\b$A\002\017\004\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\001\000\016\002\136 \017\004\000\004\000\000\000\t\000\bv\129 \000C\000\000\000\000 \002\000]$\018 \128\018\192\000\000\005 \001\014\208$\000\bp\000\000\000\004\000@\n \130D\016\002\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\016A\"\b\000\b\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000={\215\136\001\196\016H\130\004#\b\000\000$\128\004;@\144\000!\128\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020A\004\136 \000 \000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\130\t\016@\000@\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\132\001\196\016H\146\004 \024\000\000$\128\004)B\144\0001\128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\224\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\160\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020ZB\144H=\014q\206?\b\001\158\164\192\t\026Q\002\182\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\022\144\164\018\015B\156s\143\194\000g\1690\002F\148@\173\175\127\223\248\000 \000\016\000\001\000\002\000\000\000\000\000\000 \000\000\000\000\000\001\239\251\255\000\004\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000=\255\127\224\000\128\000@\000\004\000\b\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000B\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\bB\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\030(\180\133 \128c\020\227\156~\016\003=A\128\0024\162\005\012\127\254\191\130\005\022\144\164\016\012b\156s\143\194\000g\1680\000F\148@\161\128\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\182\128\000\000\000\000\000\000\000\001\000\128\000\000\000\000\000\000\000\000\001\000\000\000\006\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\000\128\000\000\003\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\022\144\164\018\rB\156s\143\194\000g\1680\002F\148@\173\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R@\000H7\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\007\138-!H \024\1978\231\031\132\000\207P`\000\141(\129C\031\255\175\224\129E\164)\004\003\024\167\028\227\240\128\025\234\012\000\017\165\016(`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\127\254\191\130\005\022\144\164\016\012b\156s\143\194\000g\1680\000F\148@\173\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\020ZB\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134?\255_\193\002\139HR\b\0061N9\199\225\0003\212\024\000#J P\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\223\247\254\000\b \004\000\000@\000\128\000\000\000\000\001\b\000\000\000\000\000\000\001\bP\192\000\004\000\000\000\012\000\000!\128@\000\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\016\000\000C\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\000\004\000\000A\000\140\000\002\000\000\000\000\000\016\000\000@\000z\246\175\000\001\000\000\128\000\b \017\128\000@\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000={W\128\000\128\000@\000\004\016\b\192\000 \000\000\000\000\000\000\000\004\000\007\175j\240\000\016\000\b\000\000\130\001\024\000\004\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\128\000\000 \b\000\000\004\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\000\030\189\171\192\000@\000 \000\002\b\004`\000\016\000\000\000\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129E\164)\004\131P\167\028\227\240\128\025\234\012\000\145\165\016h`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Qi\nA \212)\1998\252 \006z\131\000$iD\n\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\001\000\001\000\003\000\000\b`\016\000\000\b@\000\000\000\000\003\b\000\000\000\000\000\000\016\016\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005$\000\004\131@\224\024\2270\000\bH\004\000\128\004\016\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\001 \208(\0068\204\000\002\018\001\000 \001\004\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129E\164)\004\131\208\231\028\227\240\128\025\234L\000\145\165\016+h\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\239\252 Qi\nA \244)\1998\252 \006z\147\000$iD\n\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129E\164)\004\003\024\167\028\227\240\128\025\234L\000\017\165\016+h\000\000\000\000\000\000\000\000\016\b\000\000\000\000\000\000\000\000\000\016\000\000\000a\127\254\255\194\005\022\144\164\016\012b\156s\143\194\000g\1690\000F\148@\173\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020ZB\144H5\nq\206?\b\001\158\164\192\t\026Q\002\182\191\255\127\225\002\139HR\b\0061N9\199\225\0003\212\152\000#J V\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\002\000\000\000\000\000\000\000\000\000\004\000\000\000\024@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\247\254\016(\180\133 \144j\020\227\156~\016\003=I\128\0184\162\005m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248@\162\210\020\130A\168S\142q\248@\012\245&\000H\210\136\021\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255\127\225\002\139HR\t\006\161N9\199\225\0003\212\152\001#J V\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\b\000\b\000\024\000\000C\000\128\000\000B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255\127\225\002\139HR\t\006\161N9\199\225\0003\212\152\001#J V\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\002\000\000\000\000\000\000\000\000\000\004\000\000\000\024@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\247\254\016(\180\133 \144j\020\227\156~\016\003=I\128\0184\162\005m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\128\000\128\001\128\000\0040\b\000\000\004 \000\000\000\000\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000\000\000\000\000\000\001\002D\184\001\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\000\000 \000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\129\000\000\000\000\000\000\000\000\b\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\002\004\000\000\000\000\000\000\000\000 \000\000\000\016\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000\128\000\000\000\000\000\000\b\000\000@\128\000\000\000\000\000\000\000\004\000\000\000\002\000\000\000\000\000 \000\000\000\000\128\000\000\000\000\000\000\000\000\131\000 \000\016\n\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000 \000\000\000\000\000\000\000\000 \192\b\000\000\002\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\016\224\006\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\003\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\b\000@\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\016\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \192\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000 \192\012\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\131\000 \000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000 \192\b\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\131\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
let action =
- ((16, "\005L\000\127\000\000\000\000\011\022\000\127\000\000\000\000\000'\000\000\000\000\000\000\001\031\000\000\000\000\000\000\005L\000\000\000u0\244\000\000\019\194\019\194\000\000\000\0004\204\019\194\000\000DV\019\194\000\000\000\000\019\194\000\000\019\194\000\000\000I\000\\\019\194\000\000\019\194\000\000\000\000\000\000\019\194\000\000\019\194\000\0005\150\019\194\000\000IF\019\194\000\000\000\000\019\194\000\000\019\194\000\000\000\194\001T\019\194\000\000\019\194\000\000\019\194\000\000\019\194\000\000I\136\019\194\000\000\000\000\019\194\000\000\019\194\000\000\001\186\000*\000*\000\000\000Z\002B\000\127\000\000\001V\000\015\000\000\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000p\001\254\000\000\0014\001\186\000*\000\000\001\212\006Z\000\000\000\000\000\000\003V\019\194\000\000DV\000*\003v\019\194\000\000\000\000\019\194\000\000\000\000\019\194\000\000\019\194\000\000\003\200\004\028\019\194\000\0000\244I\136KH\000\000\000\000J\252\004\2340\244\001\218KH\000\000\000\000\004@\019\194\000\000KH\000\000\000\127\005\172B\210\000\000\000\000G\006\000\000K&\000\000K\2246\2346\234\026x\026xK&\026x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000G^6\234\000\000\000\000G^\000\000G^\000\0006\234\000\000\000\000\000\000\031\172\000\127\000\000\0216\026x5\2446\234&Z6\234\000\000\000\000\000\000\000\000\000\000\000\000&\1886\234'\2086\234(26\234)F6\234\000\0006\234\000\0006\234)\1686\234*\1886\234+\0306\234,26\234,\1486\234-\1686\234\004\1466\234\000\000\000\000\000\000\000\000\000\0006\234.\n6\234/\0306\234/\1286\234\000\000\000\0006\234\000\000\004\192\000\000\004\222\000\000\000!6\234\000\000\000!\000\000\000\000\00080\244\000\000\019\004\019\194\000\000\000x\019\194\000\000L\162\019\194\000\000\000\000\019\194\000\000\019\194\000\000\005\030\005~\019\194\000\000\019\194\000\000\019\194\000\000\019\194\000\000\003R\019\194\000\000L\170\019\194\000\000\000\000\019\194\000\000\019\194\000\000\005T\005\168\019\194\000\000\019\194\000\000\019\194\000\000\019\194\000\000L\204\019\194\000\000\000\000\019\194\000\000\019\194\000\000\002\132\000*\005P\019\194\000\000L\232\000*\005\128\019\194\000\000\000\000\019\194\000\000\019\194\000\000\019\194\000\000\005\200\006\"\019\194\000\000L\252KH\005\206\019\194\000\000B\236Np\000\000\000B\006\152\000\127\0060\006\248N\158N\158\000\000\000\000\000\146SLN\158\001>N\204\000\000\000\000\000\000\004\178\007\130\000\015\007\182N\158\000\000\000\000\006\246\000\000\007\b\007\216N\158\007L\000\000\000\000\000\000\001rO\134\000\000\000\000\000\000\007V\b`\000\000\bd\000\000\027\142\002\218KH\007\154\019\194\000\000O\182KH\007\158\019\194\000\000\000\000\000\127\b\154\000\000\000\000\000\000\0008\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000P\0066\234\007\184\000\000\000\000P\006\000\000P\006K&\000\000\000\000C~\000\127\000\000\0216\003F\025n\0216\"\1386\234\000\0006\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Q\176K&Z\182K&[HK&[\182K&\000\000K&\000\000K&\\\030K&\\\140K&\\\246K&]dK&]\204K&^:6\234\007\228K&\000\000K&^\164K&_\018K&_z\003t\022\158\000\000\000\000\003\138\024\006\000\000\000\000\000\000\007\190\000\0006\234\007\188\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\196\000\0006\234\007\200\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\007\208\000\000\000\000\007\212K&\000\000\000\000\007\214\000\000\000zH(\b\1486\234\b\\\000\000\000\000K&\000z\000\000\007\226\000\000\007\2326\234\000\000\026x\007\234\000\000\000\000\b\190\000\000\026x\007\250\000\000\000\000\007\248\000\000\000\000\005\172\000\000\b\234\000\000P\182KH\b\n\019\194\000\000\000\000\b\144\000\000\b\022\019\194\000\000\000\000\002\2040\244\000\0000\244\000\000\b\n\000\000\002\204\000\000\017n%B\019\156\000\000\006$\019\156\000\000\019\156\019\156\000\000\000\000\019\156\000\000\019\156\000\000\bN\b\134\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000\006\210\019\156\000\000\019\188\019\156\000\000\000\000\019\156\000\000\019\156\000\000\b^\b\140\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000\019\194\019\156\000\000\000\000\019\156\000\000\019\156\000\000\002\236\000*\b8\019\156\000\000\019\188\000*\b<\019\156\000\000\000\000\019\156\000\000\019\156\000\000\019\156\000\000\bl\b\154\019\156\000\0000\244\bJ\000\000\019\194KH\bD\019\156\000\000\000\000\000\015\000\000\001D\000\015\000\000\000\000\000\000\t2\000\000\0040KH\bN\019\156\000\0002\242KH\bP\019\156\000\000\000\000G \019\156\000\000\007\142\019\156\000\000\019\198\019\156\000\000\000\000\019\156\000\000\019\156\000\000\b\136\b\184\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000\b@\019\156\000\0002\242\019\156\000\000\000\000\019\156\000\000\019\156\000\000\b\146\b\192\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000D\030\019\156\000\000\000\000\019\156\000\000\019\156\000\000\004~\000*\bh\019\156\000\000D\030\000*\bj\019\156\000\000\000\000\019\156\000\000\019\156\000\000\019\156\000\000\b\158\b\204\019\156\000\000D:KH\bt\019\156\000\000\000\000\006ZKH\bv\019\156\000\000DdKH\bx\019\156\000\000\000\000\000\000\000\000\000\000\000\000\tH6\234\b\132\029\220\tL6\234\b\140\tL0\244\000\000\000\000\000\0000\244\000\127\000\000\002\2066\2340\218\000\000SN6\234\b\150\000\000\026x\b\150\000\000\b\156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\2466\234\000\000S\246\000\000S\246T\128\026x\b\160T\128\000\000\000\000ZR\000\127\000\000\0216\b\162\000\0006\234\b\162\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\234\000\b6\234\b\166\000\000\000\0000\2180\218 \248\001\228\tf6\234\000\000\t,\000\000\000\000\000\127\000\000\"\014\000\000\b\2260\218\000\000\b\2220\218\000\000\000\180\000\000\000\000\028\018T\128\029TT\128!\172T\1284\164T\128\000\000T\128\000\000T\128U\180T\128_\232T\128`<T\128`RT\128`\164T\128a\nT\128aXT\128a\170T\128b\016\003L1\130\000\000\004\"3\0200\218\000\000\004\1882\012\000\000\000\000\000\000\b\176\000\000\000\000\b\180\000\000\t\162\000\000\000\127\000\000\002\206\t\166\000\000\003\006\tx\000\127\b\198\t\142N\158\b\202\000\019\000\0006\234\t\178\000\000\0005\003\150\t\180N\158\b\242\t\232\000\000\002\2366\234\t\234\000\000\t\236\000\000\027\142\000\127\002\2526\234\t\238\000\000\t\240\000\000\000\127\004\2226\234\t\244\000\000\t\246\000\000\002\244\t<\007B\000\000T\216Ub\026x\t\020\000\000\t\022Ub\000\000\000\000\000\000\000\000\000\000\000\000U\1866\234\000\000U\186\000\000U\186Ub\000\000\000\000%B\000\127\000\000\0216\t\024\000\0006\234\t\022\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\2346\234\000\0006\234\000\000\t \000\000\000!\000\000\000\000\000\000\000\000\000\0007\156Ub7\252Ub9\016Ub9pUb\000\000Ub\000\000Ub:\132Ub:\228Ub;\248Ub<XUb=lUb=\2046\234\tJUb\000\000Ub>\224Ub?@Ub@T\026x\t\"\000\000\000\000B\210\000\000\n\014\000\000\001r\t\2306\234\t\172\000\000\t\2366\234\t\178\000\000\000\003\000\000\007B\007B\001r\000\000\001r\000\000\017n\007B\007B\000\000\000\000\000\000\000\000\000\000\000\000\t\2526\234\t8\029\220\030\180\000\127\n\"\000\000\n\006E&\n(E&\n*6\234\tF\029\220\029\220\006\244\006\220\005\198\000\020\006\220\000\000\000\000\006d\007X\000\000\006x\bh\000\000\000\000\000\000\000\000\000\000\tH\000\000\000\000\n0\000\000\n2\000\000\000\000\nl\n\0246\234\tT\n>\000\000\n \0216\t\\\029\220\000\000\000\000\t\136\000\000\000C\000\000\005\206\000\000\000\000\001r\000\000\t\222\000\000\r\018\0016\000\000\r\018\000\000\000\000\"\014\000\000\0016\000\000\000\000\n*\000\000\r\018\000\000\n,\0216\tj\nT\000\000\001\166\000\000\n$\000\127\tr\n:N\158\tx\004\158\000\0006\234\nb\000\000\nJN\158\t\134\nn\000\000\00506\234\nv\000\000\n~\000\000\027\142\000\127\005\1786\234\n\128\000\000\n\140\000\000\000\000\000\000\n*\000\000\000\000\0016\000\000\007B\000\000\001\200\000\000\000\000\001`\030\180\000\000\001`\000\000\000\000\t\170\000\000\002\170\000\003\029\220\000\000\004Z\000Q\004Z\000\000\000C\000\000\007B\000\000\007B\000\000\000\000\000\000\t\164\000\000\000\000\t\178\000\000\001~\005\206\000I\004Z\000\000\000\000\000\000\000\150\000\000\007B\000\000\001~\000\000\000\000\007 \000Q\017n\000\000\018\006\000\000\b\182\017n\000\000\000\000\b\182\000\000\000\000\t\176\000\000\000\000\t\182\000\000\002x\007B\000\000\002x\000\000\000\000\n4\000\000\0016\000\000\007B\000\000\000\000\000\000\018\214E\164\000\000\n\158\000\000\018\214\000\000\n\160\000\000\n\162\000\0000\244\000\127\004\216\000\0006\234\n\164\000\000\006\002\nt\000\127\t\194\n\142N\158\t\202\005\250\000\0006\234\n\186\000\000\006f\000\0006\234\n\190\000\000\027\142\000\127\006\154\000\0006\234\n\194\000\000\004\148\018\214\000\000\"\014\007R\000\0006\234\n\196\000\000\000\000\000\000\003\128\000\000\n\166\0216\t\226\n\202\000\000\003\018\000\000\n\158\000\127\t\236\n\180N\158\t\240\007v\000\0006\234\n\216\000\000\007\190\000\0006\234\n\218\000\000\027\142\000\127\007\192\000\0006\234\n\220\000\000\004\148\000\000\000\000\t\250\000\000\003\128\b\148\nx\000\000\000\000\000\000\nz\000\000\0044\000\003\000\000\017n\n\216\000\000\000\0006\234\n2\007B\000\000\n\004\000\000\002\244\000\0000\244\000\000\000\000\003\202\017n\000\000\017n\000\000\t\246\000\000\003\202\000\0006\234\003\2086\234\000\0006\234\000\000\t\250\000\000\003\208\000\0006\234\003\208\t\252\000\000\029\220\004\162\029\220\000\000\029\220\000\000\n\000\000\000\004\162\000\0006\234\003\208\n\004\000\0000\244\005@0\244\000\0000\244\000\000\n\006\000\000\005@\000\0006\234\003\208\n\b\000\000\000\000\0290\000\000\000\000\n|\023\222\000\000\000\000\000\000\000\000\000\000\nP\004Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\023\222\000\000\000\n\007f\000\000\nR\000\127\000\000\000\000\000\000\006T\007f\000\000\000\000\000\000\000\000\n\176\000\000\000\000\000\000\000\000 \162#\130\000\000\022v\000\000\023\222\000\000\006\176\023\222\000\000\006\220\001\246\001\246\000\000\006\218\001\246\000\000\n(\000\000\000\000\000\000\000\000\n\180\000\000#\252\000\000%B\023\222\000\000\004,\023\222\000\000\n\184\000\000\023\222\n\188\000\000W\238A\154\n\194\000\000\n\196\000\000X>H\194@\212\000\000\000\000\n^\023\222\n\252\000\000\n\254\000\000\011\000\000\0000\244\000\000\006\2440\244\000\000\nx\019\156\000\000\000\205\023\222\000\000\006\210\023\222\000\000\001\136\011\130\000\000\011\132\000\000\023\222\023\222\n\128\000\000\000\000\000\000\000\000\000\000\000\000\011\012\000\000Y\004@\212\011\014\000\000\011\016\000\000\023\222\011\018\000\000@\212\n\186\000\127\000\000\000\000\007\158@\212\000\000\001\136\000\000\011\024\000\000\023\222\011\026\000\000\023\222\011 \000\000Fv\019\156\000\000\019\156\000\000A\154@\212\n\156\023\222\011&\000\000\011*\000\000\019\156\000\000VT\000\000\000\000\007\164\023\222\000\000\002\242\003\166\001\246\n\162\000\000\000\000\003\156\002~\000\000\000\000\000\000\007>\002~\000\000\n\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\222\000\000\007\178\023\222\000\000\001\250\006\220\000\127\n\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0114\000\000\0118\000\000\023\222\011:\000\000YT@\212\011<\000\000\011@\000\000\023\222\011B\000\000\027\224\n\232Z\0262\242V\178\n\190\000\000\023\222\011J\000\000\011L\000\000\011\028\027\224\023\222\011P\000\000\023\222\011R\000\000\011V\000\000\023\222\011X\000\000\000\127\n\200\000\000\000\000\0290\000\000\000\000\002\150\011\194\000\000\000\000\000\235\000\000\000\000\000\0006\234\000\000\000\000\000\000\002\230\000\000\005\168\000\000\000\000\000\000\004ZB\236B\236B\236\000\000\003\236\003\236\003\236\003\236\000\000\000\000\000\000\000\000\000\000\000\000\001r\017n\011\184\014\134\000\150\000\000\000\000\000\150\000\000\n*\000\0000\218\n\226\000\000\001r\017n\n\234\015\250\000\000\001r\014\134\000\000\000\000\000\000B\236\006&\000\000\000\000\000\000\011:\005\172\011\190Q\174Q\174\000\000\006\134X\002Q\174\007\154Rf\000\000\000\000\b\136\011\174\000\127\000\000\007\166R\148\000\000\000\000\000\000\000\000\000\000\n\252\011\194\007B\011\006\000\000\000\150\000\000\n*\000\000\028\246\001@\000\000\000\000\011\192\000\000\000\000\002\150\000\000\006\254\000\000\000\000\000\0006\234\000\000\002\230\000\000\007(\000\000\000\000\000\000\005\206\000\000\011\158\004J\011\158\000\000\007B\011\158\000\000\004J\000\000\007B\000\000\007B\000\000\007B\000\000\021b\000\000\000\000\000\000\000\000\000\000\007B\000\000\004J\000\000\007B\000\000$\030\000\000\000\000\000\220\011H\000\127\007\246\011\234\001V\000\000\001V\012\020\000\000\012\026\000\000\012\028\000\000\000\000\003:\001V\003z\001V\000\000\000\000\005\132\004\002\011\028\000\000\011\030\000\000\011\\\000\127\004\002\011\"\000\000\000\220\012&\000\000\004\016\006b\012<\005\n\012<\000\000\000\000\006\248\000\127\000\000\004\242\000\000\000\000\000\232\000\000\011,\000\000\000\000\000\000\011r\000\127\004\002\011:\000\000\000\000\000\220\004\016\006b\006\248\004\242\000\232\011>\000\000\004\016\006b\006\248\004\242\000\232\011@\000\000\003@\002\232\011^\000\127\011X\006\\\b\"\011\134\000\127\000\000\011\136\000\127\000\000\011\230\000\000\011l\003\006\011f\006\\\011\236\000\000\011j\006\\\011\240\000\000\000\000\006\\\000\000\011\242\000\000"), (16, "\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\b1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\017\214\000&\016\138\b1\r1\t\157\016\138\005\157\024\158\016\138\001B\016\190\r1\0007\000;\016\190\r1\r1\016\190\r1\016\178\000*\r1\005\129\014z\005e\005\157\r1\r1\r1\000N\b\230\022\022\022>\022N\022v\022\134\022\174\r1\027\031\027#\r1\r1\000\n\027'\003\218\004\n\r1\r1\004\018\r1\004\"\r1\001J\016\182\n:\b1\r1\004*\r1\r1\r1\r1\r1\017F\001^\001B\r1\r1\r1\001b\r1\r1\r1\001f\001>\r1\r1\r1\r1\r1\012\253\005F\001B\r1\r1\017\230\012\017\0042\003\242\017\230\001j\000\150\017\230\001B\r1\r1\r1\005\157\000\n\r1\r1\r1\r1\006\225\r1\001B\r1\017\214\b1\r1\005e\020\026\r1\r1\014~\000\n\016\138\005\157\020\030\005\017\b1\004B\020\"\019\030\r1\016\190\000\n\r1\023R\r\026\006\185\r1\r1\r1\r1\005e\029^\r1\000\n\r1\005\146\r\018\023F\r1\r1\r1\001F\r1\012\017\r1\r1\000\154\r1\r&\r1\r1\021\154\b\153\r1\r1\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\177\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\028\143\b\022\017\214\004\133\006\233\016\142\016\158\016\174\028\147\r\r\004\133\016\138\006\233\029r\001\134\017\230\006\233\006\233\028\150\006\233\016\190\b\161\006\233\029\198\006\225\024\182\024\190\006\233\006y\006\233\000\n\005j\rR\029\218\029v\t\005\005e\005\017\006\233\000\242\0302\029z\029\222\005\017\005\017\r\229\r\229\006\233\006\233\030\030\r\229\018\250\006\233\006\233\r\229\005\017\005\017\006\233\018J\006\233\006\233\006\233\006\233\006\233\r:\024\198\019n\006\233\006\233\006\233\004\209\006\233\006\233\006\233\018N\018J\006\233\006\233\006\233\006\233\006\233\005\017\024\182\024\190\006\233\006\233\025\182\005\249\001:\001\150\000\246\018N\t\193\022\234\002\146\017\230\006\233\006\233\014\138\002\158\006\233\006\233\006\233\006\233\002&\006\233\029\130\006\233\001B\001Z\006\233\002\146\001\146\006\233\006\233\014\138\002\158\005v\023\202\b\177\nB\b\245\026\"\001>\001B\r\229\r\229\018\238\006\233\004\209\r\229\000\n\006\233\006\233\006\233\006\233\004\209\006\217\006\233\029\138\006\233\000\n\001B\005\202\006\233\006\233\006\233\002e\000\n\t\185\006\233\006\233\006\193\006\233\t\193\006\233\006\233\000\n\001N\006\233\006\233\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\000\n\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\b\181\007\t\017\214\004\210\007\t\019\238\001\162\007\t\007\t\001F\007\t\030\142\007\t\0025\004\141\b\198\007\t\007\t\027\014\007\t\012\181\004\141\007\t\001B\025\182\t\185\030\202\007\t\007\t\007\t\003\218\007\t\007\t\007\t\b\165\012\181\007\t\007\t\007\t\004^\007\t\007\t\004f\012\181\004v\025\210\005\246\007\t\007\t\007\t\007\t\004~\007\t\000\n\021\022\t\194\000\n\007\t\027\014\007\t\025\202\007\t\007\t\007\t\014^\007\t\001B\007\t\007\t\007\t\021\026\007\t\007\t\007\t\007\t\001B\007\t\007\t\007\t\007\t\007\t\004\134\b\206\004Q\002\146\007\t\029\154\t\177\014\138\002\158\002\146\006\201\001z\030\138\014\138\002\158\007\t\007\t\007\t\000\n\007\t\007\t\007\t\007\t\007\t\007\t\000\n\007\t\000\n\020\250\007\t\012B\011\242\007\t\007\t\004\150\006\185\011\246\004Q\007\t\005\153\000\n\027j\022\234\011\250\007\t\014\170\000\n\007\t\011\254\027n\014F\007\t\007\t\014\202\007\t\005}\003\218\007\t\005\153\007\t\014\254\021\246\025\206\007\t\022\030\014F\006\137\025\186\t\177\000\n\007\t\021\198\007\t\014F\007\t\007\t\006i\004U\007\t\007\t\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\022\214\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\004Q\022\218\025\210\029\170\012\002\006\158\004Q\004Q\r\254\by\000\n\022\222\001\234\022\226\029\162\b\189\002R\012\018\004Q\015\006\001\182\022\230\015\n\021\254\017\214\005\153\022&\001\242\007f\016z\022\242\n^\bi\016\138\022\246\004Q\001\202\006\185\002^\007v\022\250\027\142\016\190\002\021\004Q\005\153\029\162\016\210\015\018\027\186\027\198\001B\016\214\019*\001\246\0051\022\254\002\134\012\213\002\138\005A\002\006\017\222\016\222\022V\012\165\018j\015&\002\146\016\226\011^\015*\r2\002\158\001\250\004U\015.\0152\012&\012*\0156\004U\004U\023\002\000\n\016\230\023\006\029j\006\161\020\206\001B\006\153\005\138\004U\029j\020Z\012\134\015:\012\181\023\n\016\234\016\238\015>\016\242\023\014\000\n\023\018\017\006\023\022\023\026\005\029\023\030\004U\017\018\015F\014\n\001B\017\230\023\"\004U\024\018\023&\b\205\000\n\021\174\027\218\002\030\012\213\0172\000\006\000\"\022^\0176\017\130\005A\012.\023*\0026\015J\012\181\017\134\023.\0232\022\142\015N\005A\005A\t\221\t\221\000\n\005A\017\142\t\221\015R\003\130\007\017\007\017\018n\004Y\002\206\007\017\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\006\209\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\020^\003\173\030\018\014\230\012\002\003\173\014\026\029\154\004\245\030\022\006\169\003\202\001\234\002E\012\157\006a\002R\012\018\012\181\015\006\012\157\012\157\015\n\014F\022\150\011\242\003\210\001\242\b\250\016z\011\246\t\002\012\157\t\018\002N\027j\000.\011\250\002^\0046\t\026\016\138\011\254\027n\018\146\029\246\004\245\016\210\015\018\027\186\016\190\002\146\016\214\019r\020\138\002\154\002\158\002\134\012\157\002\138\005Q\002\006\017\222\016\222\014F\004:\004\138\015&\002\146\016\226\t\"\015*\r2\002\158\020n\004Y\015.\0152\012&\012*\0156\004Y\004Y\029\238\017\226\016\230\004\142\004\218\000\n\006\145\006\129\006\129\014^\004Y\002\146\030\158\012\134\015:\014\138\002\158\016\234\016\238\015>\016\242\t2\000\n\006a\017\006\020\158\018\178\005\029\004\238\002\146\017\018\015F\tN\014\138\002\158\tV\004Y\tf\029\162\011\202\001>\005\022\017\230\006a\tn\0172\014F\006a\000\n\0176\017\130\020\186\012.\027G\027K\015J\017B\017\134\027O\001B\b\149\015N\020\142\005Q\005\026\r\021\000\n\005.\017\142\030\243\015R\0051\007!\007!\tv\005J\002\206\007!\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\n\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\006\249\026&\017:\023\198\012\002\t\134\006\249\006\249\r\005\001F\005R\005V\001\234\020\162\017:\018J\002R\012\018\006\249\015\006\023r\001B\015\n\n\150\r\021\012\237\n\158\001\242\n\174\016z\007\025\018N\017V\001B\0029\n\182\b\133\023V\002^\020\190\020\222\016\138\017b\003\242\006\249\023Z\002%\016\186\015\018\028\030\016\190\002\146\016\214\b\233\000\n\014\138\002\158\002\134\0216\002\138\005m\002\006\016\218\016\222\017:\n\190\000\n\015&\002\146\016\226\023\186\015*\r2\002\158\017>\007\001\015.\0152\012&\012*\0156\007\001\007\001\001B\r\237\016\230\017>\024\170\000\n\005\142\023f\023\214\007\025\030\006\021J\021f\012\134\015:\012\197\n\206\016\234\016\238\015>\016\242\024\134\000\n\005\150\017\006\004\173\005\166\005\029\012\173\n\234\017\018\015F\n\242\000\n\011\002\005\174\007\001\030\162\028\175\028\179\005\178\011\n\017\230\028\183\012\245\0172\006\177\012\221\020\226\0176\017\130\005m\012.\017>\012\229\015J\030\174\017\134\025\226\028\207\028\211\015N\005m\005m\028\215\012\189\021:\005m\017\142\005\186\015R\011\018\t\229\t\229\005\222\b\137\002\206\t\229\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\005\226\001&\005\234\001.\011\250\0016\001\214\001\222\001\226\011\254\021N\021j\028*\011\"\025.\012\002\b\217\025\170\028J\005\254\000\n\006\018\002U\001\234\026\022\017:\021\022\002R\012\018\006&\015\006\006j\007B\015\n\007\138\007\150\028:\007\194\001\242\b9\016z\007\206\021\026\007\242\001B\007\254\029j\b\014\b\030\002^\b&\b>\016\138\b9\003\242\bF\bV\bb\016\186\015\018\001B\016\190\002\146\016\214\bn\bz\014\138\002\158\002\134\b\142\002\138\004U\002\006\016\218\016\222\b\158\b\174\000\n\015&\002\146\016\226\b\182\015*\r2\002\158\b\219\t&\015.\0152\012&\012*\0156\t*\000\n\tz\t~\016\230\017>\t\202\000\n\t\222\n\006\n\n\n\026\n*\nV\b9\012\134\015:\nf\nz\016\234\016\238\015>\016\242\n\194\000\n\n\198\017\006\002)\011\022\011\026\011f\011z\017\018\015F\011\162\011\166\011\186\011\210\011\230\003\173\012\006\012\014\012\022\003\173\017\230\012\030\012\"\0172\006\177\012Z\012f\0176\017\130\012n\012.\012\178\012\210\015J\012\222\017\134\r\"\r>\rJ\015N\rf\rr\014.\b9\014:\014B\017\142\014V\015R\014b\014j\014n\014v\014\134\002\206\b9\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\014\150\001&\014\158\001.\011\250\0016\001\214\001\222\001\226\011\254\014\162\014\178\014\186\014\210\014\218\012\002\014\238\014\246\015\002\015\026\015\"\015v\015\130\001\234\015\202\016J\016r\002R\012\018\016\134\015\006\016\146\016\154\015\n\016\162\016\170\016\246\016\254\001\242\017\014\016z\017\022\017\030\017&\017.\017~\017\138\017\146\017\158\002^\017\162\017\170\016\138\017\174\017\182\017\190\017\206\017\242\016\186\015\018\0186\016\190\018>\016\214\018B\018R\018Z\018^\002\134\018f\002\138\018v\002\006\016\218\016\222\018~\018\134\018\138\015&\002\146\016\226\018\154\015*\r2\002\158\018\162\018\186\015.\0152\012&\012*\0156\018\194\019\018\019Z\r\237\016\230\019f\019\218\019\230\020\006\0202\020B\020J\020f\020r\020z\012\134\015:\020~\020\134\016\234\016\238\015>\016\242\020\150\000\n\020\170\017\006\020\198\020\234\021\002\021\n\021\014\017\018\015F\021\030\021&\021*\0212\021B\021V\021r\021\134\021\150\021\166\017\230\012\205\012\205\0172\021\190\021\206\021\218\0176\017\130\022\011\012.\0223\022K\015J\022k\017\134\022\131\022\163\022\187\015N\022\210\022\238\023^\023\139\023\226\023\247\017\142\024\031\015R\024+\r\237\r\237\024;\024C\002\206\r\237\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\024^\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\024g\024o\024w\024\146\012\002\024\186\024\194\024\210\024\239\024\255\025\007\025\019\001\234\025\030\025C\025O\002R\012\018\025[\015\006\025~\025\135\015\n\025\143\025\194\025\238\026.\001\242\026O\016z\026W\026c\026s\012\205\026{\026\135\026\146\026\162\002^\026\175\026\183\026\190\026\203\026\215\012\205\026\223\026\235\016\210\015\018\026\247\012\205\012\205\016\214\028\230\027\018\027\154\027\194\002\134\027\210\002\138\028\006\002\006\017\222\016\222\028\014\028>\028f\015&\002\146\016\226\028j\015*\r2\002\158\028r\000\022\015.\0152\012&\012*\0156\028\155\012\205\029b\029n\016\230\029~\012\205\012\205\029\134\029\142\029\187\029\195\029\202\029\215\029\226\012\134\015:\029\242\030'\016\234\016\238\015>\016\242\0306\000\n\030C\017\006\030g\030\131\005\029\030\146\030\154\017\018\015F\030\166\030\178\030\191\030\198\030\206\030\215\030\222\030\231\030\251\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\t\201\t\201\000\000\000\000\002\206\t\201\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\015\018\000\000\000\000\000\000\016\214\017\250\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\r\201\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\r\201\r\201\000\000\000\000\002\206\r\201\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\015\018\000\000\000\000\000\000\016\214\027\158\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\014\021\014\021\000\000\000\000\002\206\014\021\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\015\018\000\000\000\000\000\000\016\214\027\158\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\014\017\014\017\000\000\000\000\002\206\014\017\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\210\015\018\000\000\000\000\000\000\016\214\019\166\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\b1\000\n\000\000\017\006\017\214\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\016\138\b1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\190\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\000R\000V\000f\000\170\002\206\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\b1\001.\011\250\0016\001\214\001\222\001\226\011\254\003\254\004\006\000\170\000\000\000\174\000\000\004J\004R\004Z\004\158\000\000\004\166\004\174\001\234\004\190\000\000\004\198\002R\004\206\004\250\015\006\005\002\017\230\015\n\000\000\000\000\000\000\000\000\001\242\000\000\020&\000\000\000\000\000\000\000\000\000\000\005\n\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\b1\000\000\000\000\0206\015\018\000\000\005\018\000\000\000\000\000\000\000\000\000\000\b1\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\015&\002\146\000\000\000\000\015*\002\154\002\158\000\000\000\000\015.\0152\012&\020:\0156\000\000\000\000\000\000\005\"\000\000\000\000\t\006\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\006Y\006Y\000\000\015>\tZ\006Y\000\n\t\162\006Y\n\162\006Y\006Y\006Y\006Y\000\000\015F\000\000\006Y\006Y\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\006Y\000\000\006Y\006Y\000\000\006Y\000\000\006Y\000\000\012.\006Y\000\000\015J\006Y\020>\006Y\006Y\000\000\015N\006Y\006Y\006Y\006Y\006Y\006Y\020F\006Y\015R\006Y\006Y\000Z\000\000\006Y\002\206\006Y\000\000\000\000\000\000\000\000\000\000\006Y\t\214\000\000\006Y\n\"\006Y\000Z\000\000\006Y\000Z\006Y\000Z\006Y\006Y\000\000\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\006Y\000\000\006Y\006Y\000\000\006Y\006Y\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\000\000\006Y\006Y\000\000\006Y\006Y\006Y\006Y\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011\246\000\000\000\000\000\000\001\234\027j\000\000\011\250\002R\000\000\000\000\002f\011\254\027n\002j\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006>\018J\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006B\002\146\000\000\018N\006F\002\154\002\158\000\000\006J\006N\006R\000\000\000\000\006V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\000\000\000\000\000\014\138\002\158\000\000\006Z\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\154\000\000\000\n\000\000\000\000\000\000\000\000\0051\000\000\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\006v\000\000\000\000\004\165\000\000\t\161\000\000\000\000\000\000\006z\000\000\000R\000V\000f\000\170\002\206\000\174\t\161\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\t\161\001.\t\161\0016\001\214\001\222\001\226\000\000\000\000\000\000\t\161\000\000\000\000\000\000\000\000\000\000\t\161\000\000\000\000\t\161\000\000\001\234\000\000\t\161\023\170\002R\000\000\000\000\002f\t\161\000\000\002j\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\161\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\t\161\000\000\000\000\t\161\006B\002\146\000\000\000\000\006F\002\154\002\158\000\000\006J\006N\006R\000\000\t\161\006V\000\000\000\000\000\000\t\161\t\161\t\161\000\000\t\161\t\161\000\000\t\161\000\000\000\000\000\000\000\000\000\000\006Z\t\161\000\000\000\000\t\161\006^\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\t\161\000\000\000\000\000\000\000\000\t\161\t\161\000\000\000\000\006\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\006v\000\000\000\000\bm\000\000\022\214\000\000\000\000\000\000\006z\000\000\000R\000V\000f\000\170\002\206\000\174\022\218\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\022\222\001.\022\226\0016\001\214\001\222\001\226\000\000\000\000\000\000\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\001\234\000\000\022\246\000\000\002R\000\000\000\000\002f\022\250\000\000\002j\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\024\202\000\000\000\000\000\000\022\254\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\023\002\000\000\000\000\023\006\006B\002\146\000\000\000\000\006F\002\154\002\158\000\000\006J\006N\006R\000\000\023\n\006V\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\006Z\023\"\000\000\000\000\023&\006^\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\023*\000\000\000\000\000\000\000\000\023.\0232\000\000\000\000\006\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\006v\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\006z\000\000\000R\000V\000f\000\170\002\206\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\000\000\000\000\002f\000\000\000\000\002j\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006\162\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006B\002\146\000\000\000\000\006F\002\154\002\158\000\000\006J\006N\006R\000\000\000\000\006V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\n\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006n\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\006v\001\234\000\000\b}\000\000\002R\000\000\000\000\002V\006z\000\000\002Z\000\000\000\000\000\000\002\206\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002z\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\003\254\004\006\000\170\000\000\000\174\000\000\004J\004R\004Z\004\158\002\190\004\166\004\174\000\000\004\190\000\000\004\198\000\000\004\206\004\250\000\000\005\002\000\000\002\194\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\005\n\000\000\002\202\000\000\000R\b\238\b\246\000\170\002\206\000\174\000\000\t:\tB\tJ\t\142\005\018\t\150\t\158\022\214\t\174\000\000\t\182\000\000\t\190\t\234\001\222\t\242\000\000\000\000\000\000\022\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\t\250\022\226\000\000\000\000\000\000\000\000\000\000\000\000\005\"\022\230\000\000\000\000\000\000\r\138\000\000\026\142\000\000\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\000\000\000\000\000\000\022\250\000\000\000\000\000\000\000\000\000\000\000\000\n\018\r\146\r\186\000\000\000\000\024z\000\000\000\000\000\000\022\254\025\154\000\000\000\000\000\000\n\030\000\000\r\154\000\n\000\000\000\000\000\000\000\000\r\226\r\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\194\000\000\000\000\r\162\023\002\r\178\000\000\023\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\r\202\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\000\011\242\023&\000\000\000\000\000\000\011\246\000\000\000\000\000\000\000\000\027j\000\000\011\250\000\000\000\000\000\000\023*\011\254\027n\000\000\000\000\023.\0232\001M\001M\001M\001M\r\210\001M\000\000\001M\001M\001M\001M\r\170\001M\001M\000\000\001M\000\000\001M\000\000\001M\001M\001M\001M\000\000\000\000\005\225\000\000\022\198\018J\000\000\000\000\000\000\005\225\000\000\000\000\000\000\001M\001M\001M\000\000\r\242\r\218\000\000\000\189\018N\000\000\001M\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\022\202\000\000\002\146\001M\r\146\r\186\014\138\002\158\000\000\000\000\001M\000\000\000\000\000\000\000\000\001M\000\000\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001M\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\194\000\000\000\000\r\162\000\n\r\178\000\000\000\000\000\000\0051\000\000\001M\000\000\000\000\001M\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\r\202\000\000\002R\012\018\001M\015\006\001M\000\000\015\n\001M\000\000\022\206\000\000\000\000\000\000\016z\001M\000\000\001M\000\000\000\000\001M\000\000\000\000\002^\000\000\007\249\007\249\000\000\000\000\000\000\007\249\000\000\017\002\015\018\000\000\001M\001M\016\214\000\000\r\210\001M\001M\002\134\000\000\002\138\000\000\r\170\000\000\016\222\000\000\000\000\023\142\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\189\015.\0152\000\000\000\000\0156\000\000\000\189\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\189\r\218\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\012\002\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002R\012\018\000\000\015\006\0172\000\000\015\n\000\000\0176\017\130\000\000\000\000\000\000\016z\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\002^\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\015\014\015\018\000\000\000\000\002\206\016\214\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\000\000\000\000\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015E\000\000\000\000\015E\0172\000\000\000\000\000\000\0176\017\130\000\000\000\000\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\015E\015E\000\000\000\000\017\142\015E\015R\000\000\002\230\015E\000\000\000\000\002\206\000\000\000\000\015E\000\000\000\000\015E\015E\000\000\015E\015E\000\000\000\000\002\238\000\000\015E\007\198\000\000\000\000\015E\000\000\000\000\015E\000\000\015E\015E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015E\000\000\015E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015E\000\000\000\000\011\145\011\145\011\145\011\145\007\210\011\145\000\000\011\145\011\145\011\145\011\145\000\000\011\145\011\145\000\000\011\145\000\000\011\145\000\000\011\145\011\145\011\145\011\145\000\000\015E\015E\000\000\015E\015E\007\214\000\000\015E\000\000\000\000\000\000\000\000\011\145\011\145\011\145\000\000\007\222\000\000\000\000\000\000\000\000\015E\011\145\000\000\015E\015E\015E\015E\011\145\000\000\000\000\023\158\015E\015E\015E\023\166\015E\015E\015E\000\000\000\000\011\145\000\000\000\000\005\129\000\000\000\000\005\129\011\145\000\000\000\000\000\000\000\000\011\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\145\000\000\000\000\000\000\000\000\005\129\005\129\000\000\000\000\000\000\005\129\000\000\000\000\005\129\005\129\000\000\000\000\000\000\000\000\000\000\005\129\000\000\011\145\005\129\005\129\011\145\005\129\005\129\000\000\000\000\005\129\000\000\005\129\005\129\000\000\000\000\005\129\000\000\011\145\005\129\000\000\005\129\005\129\011\145\000\000\011\145\000\000\000\000\011\145\000\000\000\000\000\000\000\000\000\000\000\000\011\145\000\000\011\145\000\000\000\000\011\145\000\000\000\000\000\000\005\129\000\000\005\129\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\011\145\011\145\005\129\000\000\000\000\023\250\011\145\000\000\000\000\005\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\129\005\129\000\000\005\129\005\157\005\129\r\154\005\129\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\005\129\005}\000\000\000\000\005}\005\129\000\165\000\000\005\129\r\162\005\129\r\178\005\129\000\000\000\000\000\000\005\129\005\129\005\129\000\000\005\129\005\129\005\129\000\000\005}\005}\000\000\000\000\000\000\005}\000\000\000\000\005}\005}\000\165\000\000\000\000\000\000\000\000\005}\000\000\000\000\005}\005}\000\000\005}\005}\000\000\000\000\005}\000\000\005}\005}\000\000\000\000\005}\000\000\000\000\005}\000\000\005}\005}\000\000\001\169\000\000\000\000\001\169\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\165\000\000\000\000\000\000\000\000\000\000\000\000\r\170\000\000\005}\000\000\005}\001\169\001\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\005}\000\000\000\000\000\000\000\000\001\169\000\165\005}\000\000\001\169\000\n\001\169\001\169\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\001\169\000\000\000\000\001\169\000\000\001\169\005}\005}\000\000\005}\005\153\005}\000\000\005}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005}\000\000\000\000\000\000\000\000\005}\001\169\000\000\005}\000\000\005}\000\000\005}\000\000\000\000\000\000\005}\005}\005}\000\000\005}\005}\005}\011\129\011\129\011\129\011\129\000\000\011\129\000\000\011\129\011\129\011\129\011\129\000\000\011\129\011\129\000\000\011\129\000\000\011\129\000\000\011\129\011\129\011\129\011\129\001\169\006\170\000\000\001\169\000\000\000\000\000\000\001\169\000\000\000\000\000\000\000\000\000\000\011\129\011\129\011\129\000\000\000\000\000\000\000\000\000\000\001\169\000\000\011\129\000\000\001\169\001\169\000\000\000\000\011\129\000\000\000\000\006\178\000\000\000\000\000\000\001\169\001\169\011\133\011\133\011\133\011\133\011\129\011\133\000\000\011\133\011\133\011\133\011\133\011\129\011\133\011\133\000\000\011\133\011\129\011\133\000\000\011\133\011\133\011\133\011\133\011\242\000\000\011\129\000\000\000\000\011\246\000\000\000\000\000\000\000\000\027j\000\000\011\250\011\133\011\133\011\133\000\000\011\254\027n\000\000\000\000\000\000\000\000\011\133\011\129\000\000\000\000\011\129\000\000\011\133\000\000\000\000\023\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\129\000\000\011\133\000\000\000\000\011\129\000\000\011\129\000\000\011\133\011\129\018J\000\000\000\000\011\133\000\000\000\000\011\129\000\000\011\129\000\000\000\000\011\129\011\133\000\000\000\000\000\000\018N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\129\011\129\000\000\000\000\000\000\023\162\011\129\000\000\011\133\000\000\002\146\011\133\000\000\000\000\014\138\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\133\000\000\000\000\000\000\000\000\011\133\000\000\011\133\000\000\000\000\011\133\000\000\000\000\000\000\000\000\000\000\000\000\011\133\000\000\011\133\000\000\000\000\011\133\000\n\000\000\000\000\000\000\000\000\0051\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\133\011\133\000R\b\238\b\246\000\170\011\133\000\174\000\000\t:\tB\tJ\t\142\000\000\t\150\t\158\000\000\t\174\000\000\t\182\000\000\t\190\t\234\001\222\t\242\000\000\000\000\015\153\000\000\000\000\015\153\000\000\000\000\000\000\000\000\000\000\n\021\n\021\024\006\t\250\024\"\n\021\000\000\000\000\000\000\000\000\000\000\000\000\024.\000\000\015\153\015\153\000\000\000\000\n\002\015\153\000\000\000\000\015f\015\153\000\000\000\000\000\000\000\000\000\000\015\153\000\000\024F\015\153\015\153\000\000\015\153\015\153\000\000\n\018\015n\000\000\015\153\015z\024z\000\000\015\153\000\000\000\000\015\153\000\000\015\153\015\153\n\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\153\024\154\015\153\000\000\024\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\153\000\000\000\000\000\000\025\n\000\000\000\000\015\134\000\000\025\022\000\000\t\153\000\000\000\000\025F\000\000\000\000\000\000\000\000\000\000\000\000\025R\000\000\025^\000\000\000\000\026Z\015\153\015\153\000\000\015\153\000\000\015\138\000\000\015\153\000\000\000\000\000\000\000\000\000\000\000\000\026f\026~\015\146\000\000\001\153\000\000\026\138\001\153\000\000\000\000\015\153\000\000\015\153\000\000\000\000\000\000\000\000\000\000\015\153\015\153\015\153\000\000\015\153\015\153\015\153\000\000\000\000\001\153\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\001\153\000\000\001\153\001\153\000\000\000\000\000\000\003\"\001\153\000\000\003z\000\000\001\153\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\001\245\000\000\000\000\000\000\001\245\001\153\000\000\001\153\000\000\000\000\0032\000\000\000\000\001\245\001\245\000\000\003\154\003\162\001\153\000\000\000\000\000\000\001\245\000\000\000\000\000\000\003Z\000\000\000\000\003:\000\000\003J\001\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\003\002\000\000\001\153\001\153\000\000\000\000\001\153\000\000\003b\000\000\001\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\001\245\000\000\001\153\001\153\001\153\001\153\000\000\000\000\000\000\000\000\003\178\001\153\001\153\000\000\001\153\001\153\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001\245\001\245\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\000\001\245\000\000\000\000\001\245\001\245\001\245\001\245\000\000\000\000\000\000\000\000\000\000\001\245\001\245\000\000\003\170\003r\001\245\003*\003R\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000i\000\129\000\000\000i\000\000\003Z\000\000\000\000\003:\000\000\003J\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\003b\000\000\000\129\000\000\000\000\0032\000\000\000\000\000i\000i\000\000\000i\000i\000\129\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003:\000\000\003J\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\129\000\129\000\000\000\000\003B\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000i\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\003r\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000i\000i\000i\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000a\000]\000\000\000a\000\000\000]\000\000\000\000\003:\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000]\000\000\000]\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000]\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003:\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\003B\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000a\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000a\000a\000a\000e\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000u\000e\000\000\000u\000\000\000e\000\000\000\000\003:\000\000\003J\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000e\000\000\000e\000\000\000\000\0032\000\000\000\000\000u\000u\000\000\000u\000u\000e\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\003:\000\000\003J\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\003B\000\000\003b\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000u\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000e\000e\000\000\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\003*\003R\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000q\000m\000\000\000q\000\000\000m\000\000\000\000\003:\000\000\003J\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\0032\000\000\000\000\000q\000q\000\000\000q\000q\000m\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003:\000\000\003J\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\003B\000\000\003b\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000q\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\003*\003R\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\003\"\000y\000\000\000\137\000\000\003Z\000\000\000\000\003:\000\000\003J\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\137\003b\000\000\000y\000\000\000\000\0032\000\000\000\000\000\137\000\137\000\000\000\137\003\162\000y\000\000\000\000\000\000\000\137\000\000\000\000\000\000\003Z\000\000\000\000\003:\000\000\003J\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000y\000y\000\000\000\000\003B\000\000\003b\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\137\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\137\000\137\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\"\000\000\000\000\000}\000\000\000\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\003\170\003r\000\137\003*\003R\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\003\"\000}\000\000\000\133\000\000\003Z\000\000\000\000\003:\000\000\003J\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\133\003b\000\000\000}\000\000\000\000\0032\000\000\000\000\000\133\000\133\000\000\000\133\003\162\000}\000\000\000\000\000\000\000\133\000\000\000\000\000\000\003Z\000\000\000\000\003:\000\000\003J\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000}\000}\000\000\000\000\003B\000\000\003b\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\133\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\003r\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\133\000\133\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\000\133\003r\000\133\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\012R\012\170\000\000\000\000\r\018\r*\r.\000\000\000\000\000\000\002\134\000\000\002\138\002\002\000\000\000\000\000\000\000\000\000\000\000\000\012r\002\146\000\000\000\000\012v\r2\002\158\002\006\000\000\012z\012~\000\000\000\000\012\130\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\012&\012*\000\000\000\000\000\000\012\134\012\138\000\000\000\000\002R\000\000\012\142\012J\000\000\000\n\012N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\000\000\000\000\000\n\000\000\000\000\000\000\002^\006y\000\000\r6\000\000\rR\000\000\000\000\000\000\012R\012\170\000\000\000\000\r\018\r*\r.\012\154\000\000\000\000\002\134\000\000\002\138\012\158\000\000\000\000\006q\012.\000\000\004\181\012r\002\146\012\162\000\000\012v\r2\002\158\006q\002\206\012z\012~\000\000\006q\012\130\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\000\000\012\142\000\000\000\000\000\n\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\012R\012\170\000\000\000\000\r\018\r*\r.\006y\000\000\r6\002\134\rR\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012r\002\146\012\154\000\000\012v\r2\002\158\000\000\012\158\012z\012~\000\000\000\000\012\130\b\193\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\002\206\000\000\000\000\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\000\000\012\142\n\246\006Y\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006y\000\000\r6\006Y\rR\006Y\011\149\011\149\000\000\000\000\011\149\000\000\000\000\006Y\000\000\012\154\000\000\000\000\000\000\006Y\000\000\012\158\006Y\000\000\000\000\002R\006Y\002I\012J\000\000\012\162\012N\006Y\000\000\000\000\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\006Y\nr\000\000\011\149\002^\006Y\000Z\000\000\000\000\000\000\006Y\000\000\000\000\012R\012\170\000\000\000\000\r\018\r*\014\014\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\011\149\000\000\006Y\012r\002\146\006Y\000\000\012v\r2\002\158\000\000\000\000\012z\012~\000\000\000\000\012\130\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\006Y\000\000\006Y\006Y\000\000\006Y\000\000\012\134\012\138\000\000\000\000\000\000\006Y\012\142\000\000\006Y\000\n\000\000\001\177\000\000\000\000\001\177\000\000\000\000\000\000\012\150\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006y\006Y\006Y\011\149\rR\000\000\000\000\001\177\001\177\000\000\000\000\000\000\001\177\000\000\000\000\012\154\001\177\000\000\000\000\000\000\000\000\012\158\001\177\000\000\000\000\001\177\001\177\b\209\001\177\001\177\012\162\000\000\000\000\000\000\001\177\000\000\002\206\000\000\001\177\000\000\000\000\001\177\000\000\001\177\001\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\177\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\003\157\001\177\000\000\000\000\000j\003\157\000\000\000r\000\000\000\130\003\157\000\000\003\157\000\000\000\000\000\000\000\138\003\157\003\157\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\001\177\015\182\000\000\001\177\000\000\000\000\000\000\001\177\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\146\003\157\000\000\000\000\000\000\003\157\001\177\000\153\001\177\000\000\r\162\000\000\000\153\000\000\015\190\001\177\001\177\000\000\001\177\001\177\001\177\003\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\157\000\162\000\153\000\000\000\000\000\000\000\000\000\000\003\157\000\000\000\000\000\000\003\157\003\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\153\000\000\003\157\000\000\000\198\003\153\000\000\000\206\000\000\000\222\003\153\000\000\003\153\003\157\000\000\000\000\000\230\003\153\003\153\000\000\000\153\000\000\000\000\003\157\000\000\000\000\000\000\r\170\003\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\238\003\153\000\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\003\157\000\000\000\000\003\157\003\157\001\153\003\153\003\157\001\153\000\000\000\000\000\000\003\157\003\157\000\000\000\000\000\000\003\157\003\153\000\254\000\000\000\000\000\000\000\000\000\000\000\000\003\153\000\000\001\153\001\153\003\153\003\153\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\003\153\001\153\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\003\153\001\153\001\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\003\153\000\000\000\000\003\153\003\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\003\153\003\153\000\000\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\002\250\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\001\153\001\153\000\000\001\153\000\000\000\000\000\000\000\000\003\190\001\153\001\153\000\000\001\153\001\153\001\153\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\000\000\012F\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\rB\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\234\000\000\000\000\016B\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\002\186\000\000\000\000\002\005\000\000\000\000\000\000\002\005\000\000\000\000\000\000\002\190\t\169\015\250\000\000\000\000\002\005\002\005\000\000\016R\016Z\000\000\000\000\0015\002\194\002\005\0015\000\000\000\000\016\"\002\198\000\000\016\002\t\169\016\018\002\005\000\000\000\000\000\000\002\202\000\000\000\000\000\000\000\000\000\000\002\206\015\242\016\026\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\016*\000\000\002\005\000\000\015\250\000\000\000\000\0015\0015\000\000\0015\0015\000\000\002\005\000\000\000\000\0015\000\000\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\002\005\000\000\000\000\000\000\016\n\016*\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\000\000\000\000\002\005\000\000\002\005\000\000\000\000\000\000\000\000\000\000\000\000\002\005\002\005\000\000\016b\016:\002\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\0015\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\016:\0015\001\029\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\015\250\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\001\017\000\000\001\029\001\017\000\000\000\000\001\029\000\000\000\000\016\002\000\000\016\018\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\001\029\000\000\001\029\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\001\029\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\016\002\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\016\n\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\001\021\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001\025\000\000\001\021\001\025\000\000\000\000\001\021\000\000\000\000\016\002\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\021\000\000\001\021\000\000\015\250\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\001\021\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\016\002\000\000\016\018\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\016\n\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\015\242\016\026\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\015\250\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\001!\000\000\001)\001!\000\000\000\000\001)\000\000\000\000\016\002\000\000\016\018\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\016*\000\000\001)\000\000\015\250\000\000\000\000\001!\001!\000\000\001!\001!\000\000\001)\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\016\002\000\000\016\018\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\016\n\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\001)\001)\000\000\001)\001)\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\001!\001!\015\242\016\026\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\015\250\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\001-\000\000\001%\001-\000\000\000\000\001%\000\000\000\000\016\002\000\000\016\018\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\016*\000\000\001%\000\000\015\250\000\000\000\000\001-\001-\000\000\001-\001-\000\000\001%\000\000\000\000\001-\000\000\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\016\n\016*\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\001%\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\001-\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\234\000\000\000\000\001=\000\000\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\001-\001-\001-\015\242\016\026\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\000\000\000\000\000\000\015\250\000\000\000\000\001=\001=\000\000\001=\016Z\000\000\000\000\015\234\000\000\001=\0011\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\000\000\000\000\000\000\0011\000\000\000\000\000\000\0011\000\000\016*\000\000\001=\000\000\015\250\000\000\000\000\0011\0011\000\000\0011\0011\000\000\001=\000\000\000\000\0011\000\000\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\001=\000\000\000\000\000\000\016\n\016*\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\000\000\016b\016:\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\0011\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\234\000\000\000\000\0019\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\016:\0011\015\242\016\026\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\000\000\000\000\000\000\015\250\000\000\000\000\0019\0019\000\000\0019\016Z\000\000\000\000\000\000\000\000\0019\000\000\000\000\022\214\016\"\000\000\000\000\016\002\000\000\016\018\0019\000\000\000\000\000\000\000\000\022\218\000\000\000\000\000\000\000\000\000\000\000\000\025\026\000\000\000\000\022\222\000\000\022\226\011\233\011\233\000\000\000\000\016*\000\000\0019\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\0019\000\000\000\000\022\246\000\000\000\000\000\000\000\000\000\000\022\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\233\000\000\022\254\000\000\0162\000\000\000\000\0019\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\233\0019\023\002\0019\000\000\023\006\000\000\022\214\000\000\000\000\0019\0019\000\000\0019\016:\0019\024R\000\000\023\n\022\218\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\022\222\023\030\022\226\000\000\000\000\000\000\000\000\011\189\023\"\000\000\022\230\023&\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\023*\000\000\000\000\022\250\000\000\023.\0232\011\233\000\000\000\000\000\000\000\000\000\000\000\000\025v\000\000\000\000\011\189\000\000\022\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\023\002\000\000\000\000\023\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\000\000\000\023&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023*\000\000\000\000\000\000\000\000\023.\0232\011\189\000R\000V\000f\000\170\000\000\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\016~\000\000\000\000\000\000\000\000\000\000\002^\000\000\001\242\002b\000\000\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002\002\000\000\000\000\000\000\000\000\000\000\002\014\002\142\002\146\000\000\000\000\002\150\002\154\002\158\002\006\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\015}\002\018\000\000\015}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\015}\015}\000\000\000\000\000\000\002\186\000\000\000\000\006\142\000\n\000\000\000\000\000\000\000\000\005\029\015}\002\190\000\000\000\000\015}\000\000\015}\015}\000\000\000\000\006\150\000\000\000\000\007\142\002\194\000\000\015}\000\000\000\000\015}\002\198\015}\000\000\000\000\000\000\t\169\000\000\000\000\000\000\002\202\011>\006Y\000\000\000\000\000\000\002\206\000\000\000\000\000\000\002u\000\000\000\000\000\000\006Y\015}\006Y\000\000\000\000\000\000\000\000\000\000\006Y\000\000\006Y\000\000\006Y\006Y\006Y\000v\000\000\000\000\006Y\000\000\006Y\007\154\000\000\006Y\006Y\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\006Y\006Y\006Y\000\000\000\000\000\000\006Y\006Y\015}\015}\006Y\015}\006Y\007\158\006Y\015}\000\000\006Y\011r\000\000\006Y\000\000\006Y\000Z\007\166\000\000\006Y\006Y\006Y\015}\000\000\006Y\011\178\015}\015}\006Y\006Y\000Z\000\000\000\000\015}\006Y\006Y\000\000\015}\015}\001\194\000\000\000\000\006Y\000\000\000Z\006Y\011\222\006Y\000\000\000\000\006Y\000Z\000\000\000\000\000\000\006Y\006Y\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\006Y\000\000\006Y\006Y\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\006Y\006Y\006Y\006Y\000\000\006Y\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\002R\000\000\006Y\002V\000\000\006Y\002Z\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\169\000\000\000\000\000\000\000\000\000\000\002^\006Y\000\000\002b\006Y\006Y\006Y\006Y\006Y\002r\002v\000\000\002~\006Y\006Y\000\000\000\000\000\000\006Y\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020*\000\000\002\174\000\000\000\000\000\000\002^\002\178\000\000\002b\000\n\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\002\186\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\002\190\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\194\002\162\002\166\000\000\000\000\002\170\002\198\000\000\025b\000\000\025j\000\000\000\000\000\000\000\000\002\202\000\000\000\000\000\000\025r\000\000\002\206\002\174\000\000\025\146\000\000\000\000\002\178\000\000\000\000\000\n\022\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\022\222\000\000\022\226\000\000\000\000\000\000\000\000\000\000\000\000\002\190\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\000\000\002\194\022\246\000\000\000\000\000\000\000\000\002\198\022\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\000\000\000\000\000\000\000\000\002\206\000\000\022\254\025\154\000\000\000\000\000\000\n\138\n\146\000\170\000\000\000\174\000\000\n\214\n\222\n\230\011*\000\000\0112\011:\000\000\011J\000\000\011R\000\000\011Z\011\134\000\000\011\142\023\002\000\000\000\000\023\006\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\011\150\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\002^\023\030\011\158\002b\000\000\000\000\000\000\000\000\023\"\002r\bf\023&\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\002V\023*\000\000\002Z\002\142\002\146\023.\0232\002\150\002\154\002\158\011\174\000\000\002\162\002\166\000\000\000\000\002\170\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002r\002\182\000\000\002~\000\000\000\000\002\174\000\000\000\000\000\000\002\134\002\178\002\138\000\000\000\n\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\002\186\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\002\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\000\000\000\002\174\000\000\000\000\002\198\000\000\002\178\000\000\000\000\000\n\000\000\000\000\b\026\002\202\000\000\000\000\000\000\000\000\002\186\002\206\000\000\004}\000\000\000\000\004}\000\000\000\000\004}\000\000\002\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\004}\000\000\000\000\004}\000\000\002\198\000\000\000\000\000\000\004}\004}\000\000\004}\000\000\002\202\000\000\000\000\000\000\000\000\004}\002\206\004}\000\000\000\000\000\000\000\000\000\000\000\000\022\214\004}\004}\000\000\000\000\004}\004}\004}\000\000\000\000\004}\004}\022\218\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\000\000\000\000\000\000\000\000\004}\022\230\000\000\000\000\000\000\004}\000\000\022\234\004}\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\004}\000\000\000\000\022\250\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\024N\006Y\000\000\000\210\000\000\022\254\006Y\000\000\006Y\000\000\004}\000\000\000\000\006Y\006Y\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004}\000\000\000\000\000\000\006Y\011\189\004}\023\002\000\000\006Y\023\006\001\026\000\000\000\000\006Y\000\000\006Y\000\000\006Y\000\000\000\000\006Y\006Y\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\006Y\000\000\000\000\000\000\023\"\000\000\000\000\023&\000\000\000Z\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\006Y\000\000\023*\000\000\006Y\006Y\000\000\023.\0232\011\189\000\000\000\000\000\000\006Y\000\000\000\000\006Y\002\n\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006Y\000\000\006Y\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\004\149\004\149\004\149\004\149\000\000\004\149\000\000\004\149\004\149\004\149\004\149\000\000\004\149\004\149\000\000\004\149\000\000\004\149\000\000\004\149\004\149\004\149\004\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\004\149\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\004\149\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\002R\000\000\000\000\002f\000\000\000\000\002j\000\000\000\000\000\000\004\149\000\000\000\000\001\234\000\000\000\000\004\149\000\000\000\000\000\000\000\000\000\000\002^\000\000\004\149\002b\000\000\000\000\001\242\000\000\000\000\002n\002\130\000\000\002~\000\000\000\000\004\149\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\002\002\000\000\000\000\006B\002\146\000\000\002\014\006F\002\154\002\158\000\000\000\000\006N\006R\002\006\000\000\006V\000\000\000\000\000\000\004\149\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\n\000\000\000\000\000\000\002R\000\000\000\000\002f\000\000\006n\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\004\149\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\006r\000\000\002n\bN\002\022\002~\006v\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\006z\000\000\000\000\000\000\000\000\000\000\002\206\006B\002\146\000\000\000\000\006F\002\154\002\158\r\145\000\000\006N\006R\006Y\000\000\006V\000\000\006Y\006Y\000\000\004\022\000\000\006Y\006Y\004j\006Y\000\000\006Y\000\000\006Y\006Y\006Y\006Z\000\000\006Y\006Y\000\000\006^\000\000\006Y\000\n\004\178\000\000\000\000\006Y\000\000\006Y\000\000\006Y\006n\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\006Y\000\000\006Y\000\000\000\000\006Y\006Y\006Y\006Y\000\000\006Y\000\000\006Y\000\000\000\000\006r\000\000\006Y\006Y\000\000\000\000\006v\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006z\000Z\000\000\000\000\006Y\000Z\002\206\006Y\006Y\000\000\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\006Y\000Z\000\000\000\000\006Y\000\000\006Y\006Y\000\000\000\000\004\230\006Y\006Y\000\000\000\000\000Z\006Y\006Y\006Y\000\000\005&\000\000\006Y\000\000\000\000\000Z\006Y\000\000\006Y\000\000\006Y\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\006Y\006Y\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\006Y\000\000\006Y\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000R\000V\000f\000\170\000\000\000\174\001\242\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\002\002\000\000\000\000\001\242\000\000\000\000\002\014\000\000\000\000\000\000\000\000\001\234\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\001\242\002\018\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\005^\005b\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\n\000\000\002\006\000\000\000\000\000\000\005^\005b\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\002\022\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\005f\006Y\002}\001\234\000\000\000\000\006Y\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\001\242\000\000\000\000\000\000\004\197\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\006Y\005Z\b\249\000\000\006Y\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\005^\005b\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006\n\000\000\000\000\000\000\002R\000Z\000\000\002f\006Y\000\000\002j\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\000\000\002^\000\000\000\000\002b\000\000\000\000\006Y\000\000\000\000\002n\006b\000\000\002~\000\000\000\000\000\000\000\000\006Y\000\000\002\134\000\000\002\138\000\000\005f\000\000\000\000\000\000\006Y\000\000\006B\002\146\006Y\006Y\006F\002\154\002\158\006Y\000\000\006N\006R\000\000\006Y\006V\006Y\000\000\002i\000\000\000\000\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\006^\006Y\000\000\000\n\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\006n\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\006r\000\000\b\150\000\000\000\000\000\000\006v\000Z\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006z\000\000\000\000\006Y\000\000\000\000\002\206\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006Y\000\178\000\186\000\194\001\006\006Y\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\006\226\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\006\234\007\018\006Y\001\242\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\006\242\000\000\000\000\000\000\001\253\000\000\007J\007R\002\002\000\000\000\000\000\000\000\000\000\000\028\018\000\000\007\026\000\000\000\000\006\250\000\000\007\n\002\006\000\000\000\000\000\000\028\022\005b\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\007\"\001.\000\000\0016\001\214\001\222\001\226\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\007*\000\000\028\026\001\253\001\234\000\000\000\000\007\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\001\242\000\000\001\253\028\018\000\000\004\189\001\253\001\253\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\022\005b\007Z\0072\000\000\002\002\000\000\000\000\000\000\000\000\000\000\028\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\022\005b\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\026\000\000\001\234\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\b\221\028\026\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\012R\012^\000\000\000\000\000\000\005n\000\000\002Y\000\000\000\000\002\134\000\000\002\138\002\006\000\000\000\000\000\000\005^\005b\000\000\012r\002\146\000\000\000\000\012v\002\154\002\158\000\000\000\000\012z\012~\000\000\000\000\012\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\012\138\000\000\000\000\002R\000\000\012\142\012J\000\000\000\n\012N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012R\012\146\000\000\000\000\000\000\000\000\000\000\012\154\000\000\000\000\002\134\000\000\002\138\012\158\000\000\t\t\000\000\000\000\000\000\000\000\012r\002\146\012\162\000\000\012v\002\154\002\158\000\000\002\206\012z\012~\000\000\000\000\012\130\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\000\000\012\142\000\000\000\000\000\n\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\012R\012\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\015\006\000\000\000\000\015\n\012r\002\146\012\154\000\000\012v\002\154\002\158\000\000\012\158\012z\012~\000\000\000\000\012\130\000\000\002^\000\000\012\162\000\000\000\000\000\000\000\000\000\000\002\206\015\014\016j\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\002\134\012\142\002\138\000\000\000\n\000\000\000\000\000\000\000\000\000\000\015&\002\146\000\000\012\150\015*\002\154\002\158\000\000\000\000\015.\0152\000\000\000\000\0156\000\000\000\000\000\000\000\000\002R\000\000\000\000\015\006\000\000\000\000\015\n\000\000\000\000\012\154\000\000\012\134\015:\000\000\000\000\012\158\000\000\015>\000\000\000\000\000\n\000\000\002^\000\000\012\162\000\157\000\000\000\000\000\000\015F\002\206\015\014\015\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\015\006\000\157\000\157\015\n\015&\002\146\015J\000\000\015*\002\154\002\158\000\000\015N\015.\0152\000\000\000\157\0156\000\000\002^\000\000\015R\000\157\000\157\000\000\000\000\000\000\002\206\015\014\015B\000\000\000\000\000\157\012\134\015:\r\162\000\000\000\157\002\134\015>\002\138\000\000\000\n\000\000\000\000\000\000\000\000\ba\015&\002\146\000\000\015F\015*\002\154\002\158\000\000\000\000\015.\0152\ba\000\157\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ba\000\000\ba\000\000\000\000\000\000\015J\000\000\012\134\015:\ba\000\000\015N\000\000\015>\000\000\ba\000\n\000\000\ba\000\000\015R\000\000\ba\000\000\007)\015F\002\206\000\000\ba\000\000\000\157\000\000\000\000\000\000\000\000\000\000\007)\r\170\000\000\000\000\000\000\000\000\000\000\000\000\ba\025\154\007)\000\000\007)\015J\000\000\000\157\000\000\000\000\000\000\015N\007)\000\000\000\157\000\000\000\000\000\000\007)\000\000\015R\007)\000\157\000\157\000\000\007)\002\206\ba\000\000\000\000\ba\007)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\158\ba\000\000\000\000\000\000\007)\ba\ba\ba\000\000\ba\ba\000\000\ba\000\000\000\000\000\000\000\000\000\000\000\000\ba\000\000\000\000\ba\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007)\000\000\000\000\007)\000\000\000\000\ba\000\000\000\000\000\000\000\000\ba\ba\000\000\000\000\000\000\007)\000\000\000\000\000\000\000\000\007)\007)\007)\000\000\007)\007)\000\000\007)\000\000\000\000\000\000\000\000\000\000\000\000\007)\000\000\000\000\007)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007)\000\000\000\000\000\000\000\000\007)\007)\000R\000V\000f\000\170\0242\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\022\218\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\230\001\234\000\000\000\000\000\000\000\000\022\234\000\000\024J\022\242\000\000\000\000\000\000\022\246\000\000\000\000\001\242\000\000\000\000\022\250\022\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\022\254\002\002\000\000\000\000\000\000\022\230\000\000\028\"\000\000\000\000\000\000\022\234\000\000\000\000\022\242\002\006\000\000\000\000\022\246\028\022\005b\000\000\000\000\000\000\022\250\000\000\000\000\023\002\000\000\000\000\023\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\254\000\000\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\000\000\000\023&\000\000\023\002\000\000\000\000\023\006\000\000\022\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023*\000\000\000\000\023\n\022\218\023.\0232\000\000\023\014\000\n\023\018\000\000\023\022\023\026\022\222\023\030\022\226\000\000\000\000\000\000\000\000\b\237\023\"\000\000\022\230\023&\000\000\000\000\000\000\000\000\022\234\000\000\022\214\022\242\000\000\000\000\000\000\022\246\000\000\000\000\023*\000\000\000\000\022\250\022\218\023.\0232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\024\246\000\000\000\000\000\000\000\000\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\000\000\000\000\000\000\022\250\000\000\000\000\023\002\000\000\000\000\023\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026j\000\000\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\000\000\000\023&\000\000\023\002\000\000\000\000\023\006\000\000\022\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023*\000\000\000\000\023\n\022\218\023.\0232\000\000\023\014\000\n\023\018\000\000\023\022\023\026\022\222\023\030\022\226\000\000\000\000\000\000\000\000\000\000\023\"\000\000\022\230\023&\000\000\000\000\000\000\000\000\000\000\015a\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\023*\000\000\000\000\022\250\000\000\023.\0232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015a\015a\000\000\000\000\000\000\022\254\000\000\000\000\012\194\000\000\000\000\000\000\000\000\000\000\000\000\015a\000\000\000\000\000\000\000\000\000\000\015a\015a\000\000\000\000\012\202\000\000\000\249\012\214\000\000\000\249\015a\023\002\000\000\015a\023\006\015a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\n\000\000\006\234\007\018\000\000\023\014\026\150\023\018\000\000\023\022\023\026\015a\023\030\000\000\000\000\000\000\000\000\006\242\000\000\023\"\000\000\000\249\023&\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\012\226\000\000\007\026\000\000\000\000\006\250\023*\007\n\000\000\000\000\000\000\023.\0232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015a\000\225\000\000\000\000\000\225\012\230\000\000\015a\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\012\238\000\000\000\000\000\000\000\000\015a\000\000\000\000\000\225\000\225\000\000\000\000\015a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015a\015a\000\000\006\242\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\007*\000\000\000\000\000\249\000\000\000\225\000\213\007\002\006\250\000\213\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\000\000\249\000\249\000\000\000\000\000\213\000\213\000\000\000\000\000\225\000\000\000\000\000\249\0072\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\213\000\217\000\000\006\250\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\007\002\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\217\000\000\000\225\000\225\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\217\000\221\000\000\006\250\000\221\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\007\002\000\221\000\221\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\006\242\000\000\000\213\000\213\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\237\000\221\000\000\000\237\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\006\242\000\217\000\217\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\217\000\217\000\000\000\000\000\237\000\229\000\000\006\250\000\229\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\006\242\000\221\000\221\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\221\000\221\000\233\000\000\000\229\000\233\000\000\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\007\002\006\234\007\018\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\237\000\000\006\242\000\000\000\237\000\237\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\233\000\241\000\000\006\250\000\241\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\007\002\006\234\007\018\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\000\006\242\000\000\000\229\000\229\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\229\000\229\006\226\007\026\000\000\001\001\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\006\242\000\233\000\233\000\000\001\001\000\000\001\001\007R\000\000\000\000\000\000\000\000\000\233\000\233\000\000\000\000\007\026\006\226\000\000\006\250\000\245\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\000\241\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\006\242\000\241\000\241\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\241\000\241\006\226\000\000\007\026\000\253\000\000\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\001\001\000\000\000\000\000\000\007\002\006\234\007\018\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\001\001\000\000\006\242\000\000\001\001\001\001\000\253\000\000\000\253\007R\000\000\000\000\000\000\000\000\000\000\007Z\0072\000\000\007\026\000\161\000\000\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\000\245\000\000\000\000\000\000\007\002\000\161\000\161\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\r\154\000\000\000\245\000\245\000\177\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\000\245\0072\000\169\000\161\000\000\000\000\r\162\000\000\r\178\000\000\000\000\000\000\000\000\000\000\r\146\r\186\007*\000\000\000\000\000\253\000\000\000\000\000\000\007\002\000\000\r\146\r\186\000\000\000\000\r\154\000\000\000\161\000\000\000\000\000\000\000\177\000\177\000\253\000\000\000\000\r\154\000\253\000\253\000\173\000\000\000\177\000\169\000\169\r\162\000\000\r\178\000\000\000\253\0072\000\000\000\000\000\169\000\000\000\000\r\162\000\000\r\178\000\000\000\000\000\000\000\000\r\146\r\186\000\000\000\000\000\000\000\161\000\000\r\202\000\000\000\000\000\000\000\000\r\170\000\000\000\000\r\154\000\000\000\000\000\169\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\161\000\000\000\181\000\000\000\000\000\173\000\000\000\161\r\162\000\000\r\178\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\r\146\r\186\000\000\r\170\000\000\000\000\000\000\000\169\r\202\000\000\000\000\000\000\000\000\000\000\r\170\r\154\r\138\000\177\000\000\000\000\000\000\000\181\000\181\000\000\000\177\000\000\000\000\000\000\000\169\000\000\000\000\r\194\000\177\000\177\r\162\000\169\r\178\000\000\000\000\r\146\r\186\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\r\154\r\170\000\000\r\138\000\000\r\202\000\197\r\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\r\194\000\000\000\000\r\162\000\000\r\178\000\173\000\000\000\000\000\000\r\146\r\186\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\154\000\000\000\000\r\202\r\210\000\000\000\185\000\185\000\000\000\000\000\000\r\170\000\000\r\138\000\000\000\000\r\194\000\000\000\000\r\162\000\000\r\178\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\r\146\r\186\000\000\000\000\000\181\000\181\000\000\r\210\r\202\000\000\000\000\000\000\000\000\000\000\r\170\r\154\000\000\000\000\000\000\000\000\000\000\000\193\r\234\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\r\194\000\000\000\000\r\162\000\197\r\178\000\000\000\000\000\000\000\000\000\000\000\000\r\242\r\218\000\000\000\000\000\000\r\210\000\000\000\000\000\000\000\000\000\000\000\000\r\170\000\000\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\r\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\000\000\000\000\000\000\000\000\r\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\r\218"))
+ ((16, "\002r\000\249\000\000\000\000\022\160\000\249\000\000\000\000\000\019\000\000\000\000\000\000\000>\000\000\000\000\000\000\002r\000\000\001\128:6\000\000\000\000G\012\026j\000\000\025F\027\142\000\000\000\000\000\000\000\000\000\191\000o\000\000\000\000\000\000\000\000\000\000\000\000\000\000G\202\000\000\000\000\025F\000\000\000\000\000\017\000\000\001t\001t\000\000\000\000\000\000\000\000\000A\000\000\000\000\000q\001t\000\000\000q\000\000\000\000\001t\000\164\000\184\001t\000\134\000\000\000G\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001t\000\000\000\138\006p\001t\000\000\001T\002\224\000\000\000\000\000\000\000\012\000\000\028\178\001t\000R\000\000\000\000\000\000\000\000:6\029\214?J\000\000?J\000\000\000\000\000\000\001t\000\000?J\000\000]b\0010?J\001~\000\000\000\000\001t\001`Rd\000\000\000\000UHU\224\000\000X\172\000\000VxQ,&\016&\016X\172Q,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000W\016&\016\000\000\000\000W\016W\016W\016\000\000W\016\000\017\000\000\000\000Q,W\016\000\000\000\000/,\001t\000\000 t&\016Q,\000\0000tQ,<\016Q,<\142Q,\000\000\000\000\000\000\000\000\000\000\000\000\000\000H4Q,\000\000IRQ,=\172Q,>HQ,\000\000Q,\000\000Q,?fQ,@\002Q,A Q,A\188Q,B\218Q,CvQ,\021\174Q,\000\000\000\000\000\000\001,Q,\000\000\000\000\000\000\000\000Q,I\218Q,JvQ,J\254Q,K\154Q,D\148Q,E0Q,FNQ,L\"Q,L\190Q,\000\000Q,MFQ,M\226Q,NjQ,\000\000Q,O\006Q,O\142Q,\000\000\000\000Q,\000\000\001\020\000\000\000\000\001t\000\000\000\000\000\000\000\000\001D\000\000\001x\000\000\000\128Q,\000\000\000\128\000\000\000\000\000\238:6\000\000&\242\000~\000~e\178W\250\000\000e\178\000\000\000\000e\178\000\000\000\238\000\000\000\000&\016\001\156\000\000\001\252X\1725z\000\000Y<&\016\002\002\000\000\002\b+\b5zX\172\000\000\000\000\000\000\000\000\000\000\000\000W\016\000\000\000\000W\016\000\000\000\000W\016\000\000\000\017\000\000X\172\000\000\000\000f\020\001t\000\000 t t\000\000\002.$\244 t \248Q,\000\000Q,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0236Q,\024\158Q,\002LQ,\000\000Q,$4Q,r\212Q,s:Q,s\156Q,t.Q,t|Q,\000\000Q,u\014Q,upQ,u\212Q,\000\000Q,v0Q,v\148\002\198!\244\000\000\000\000\002\222#t\000\000\000\000\000\000\000\000\002\202\000\000Q,\002\204\000\000\000\000\001t\000\000\000\000\000\000\000\015X\172\000\000\000\000\003\228\000\000\0028Z\020\004\024Q,\0042\000\000\000\000X\172\0028\000\000\000\000Q,\003\214\000\000&\016\004\012\000\000\004\024f\1525zX\172\004\028\000\000Q,\000YQ,\004\134\000\000\000\0005z5z\000\000\000\000\000\000\000\0002\210\000\000\000\000\000\000\000\000\000\000W\016\000\000\000\000\001\224\005`Q,5z\001t\000\000W\016\000\000\000\000W\016\000\000\000\017\000\0003\250f\152\000\000\000\000\"\190\001t\000\000 t\004\250\000\000Q,\0052\000\000\000\000\001t\000\000\000\000\000\000\000\000\000\000-\158\000\000\000\000\005\1425z\005\1505z\000\000\000\202\000\000\000\000\025\194Q,\026\230Q,\028\nQ,\029.Q,\030RQ,4FQ,8\178Q,:\238Q,\000\000Q,P\190Q,[\196Q,v\240Q,\000\000Q,v\248Q,wT\000\000\005t\000\000\001\2366f\000\000\002L8>5z\000\000\002\1427R\000\000\000\000\000\000\000\000\006\"\000\000\000\000\000\000\005\204\000\000\005\210\000\000\000\000\005\224\000\000\000\000\005\244\000\000\000\000\006\016\000\000\000\000\000\000\000\000\000\000\000\000\006\024\006\232\000\000\006&\000\000\006d\000\000\006dRd\000\000&\016\006lrr\000\000\007H\000\000&\016\006r94\000\000&\016\006z:R\000\000\006x\000\000\000\000\001`\000\000\007l\000\000\000\000\007\222\007>\001t\006\142\007`F2Dx\000\000\000\000\000\000\003zl\134Dx\003\166i\230\000\000\000\000\000\000\006p\007P\n8\007dF2\000\000\000\000\006\152\000\000\006\156\007nF2\006\162\000\000\001`\000\000\000\000\004\018j\166\000\000\000\000\000\000\006\166\007\152\000\000\007\154\000\0002*\001t\007\156\000\000\000\000\000\000\006\172\000\000?J\000\000B\190A\004\000\000\000\000\030\250?J\006\178\000\000\000\000\001\142?J\000\000\001\142\000\000\000\000\006\188\000\000\019\254\006\182\000\000\0006:6\000\000:6\000\000\006\162\000\000\0006\000\000\019\1784\250:6\000\000\006\194\000\000\004\022:6\000\000\000\000\004\022\000\000\000\000\000\000\002B\000\000\000\000\004\\\002B\000\000\000\000\000\000\007\184\000\000&\242'\128'\128\000\000\000\000'\128\000\000\000\000\000\000\000\000\000\000\007\160Q,\006\212)j\007V\000\000\007\184Q,\006\244\007\194F2\000\000\000\000\000\000:6\001t\000\000\000\140Q,\007\236\000\000\001t\000\000\000\140\007\238\000\000\007\182\007\212\001t\007\026\007\238F2\007\"\003\232\000\000Q,\b\020\000\000\000\000\000\000\007\246F2\007*\b \000\000\002\248\001\006Q,\b*\000\000\b.\000\0002*\001t\003\148Q,\b4\000\000\b8\000\000\001t\003\210Q,\b@\000\000\bB\000\000\001\019\007\128\t\022,\128\000\000Z\164&\016\007ZQ\230\000\000Rd\000\000\bJ\000\000\003\006\b Q,\007\222\000\000\b&Q,\007\230\000\000\001\130\000\000\t\022\t\022&\016\007j\000\000\007ngZgZ\000\000\000\000\000\000\000\000\000\000\000\000W\016\000\000\000\000W\016\000\000\000\000W\016\000\000\000\017\000\000gZ\000\000\000\000;p\001t\000\000 t\007p\000\000Q,\007n\000\000\000\000\001t\000\000\000\000\000\000\000\000\000\000SZQ,\000\000Q,\000\000\007~\000\000\000\128\000\000\000\000\000\000\000\000\000\000]bQ,]\254Q,\007\168Q,\000\000Q,^\134Q,_\"Q,_\170Q,`FQ,`\206Q,ajQ,\000\000Q,a\242Q,b\142Q,c\022Q,\000\000Q,c\178Q,d:5z\007|\000\000\000\000\003\006\000\000\003\006\000\000\019\178\t\022\t\022\000\000\000\000\000\000\000\003\000\000\000\000\000\000\bTQ,\007\136)j*|\001t\b|\000\000\b`\022\178\000\000:6\001t\004\146\000\000Q,\b\130\000\000\t:\bR\001t\007\152\bjF2\007\160\004\152\000\000Q,\b\148\000\000\004\196\000\000Q,\b\154\000\0002*\001t\005\022\000\000Q,\b\186\000\000\001t\0058\000\000Q,\b\210\000\000-\168\b\212S\216\b\214Q,\007\236)j)j\007x\002\248\004`\003Z\002\248\000\000\000\000\004\130\n\128\000\000\004\136\r\136\000\000\000\000\000\000\000\000\000\000\007\238\000\000\000\000\b\222\000\000\b\224\000\000\000\000\t\"\b\200Q,\007\254\b\250\000\000\b\254\000\000\b<\000\000\b\228 t\b\024)j\000\000\000\000\000\000\007\146\000\000\000\000\003\006\000\000\b\152\000\000\015&\000[\000\000\015&\000\000\000\000-\168\000\000\b\208\000\000\000\000\012\030\000\000\015&\000\000\b\234 t\b \005^\000\000Q,\t\018\000\000\0036\000\000\b\226\001t\b*\b\252F2\b2\005~\000\000Q,\t$\000\000\t\006F2\b<\t,\000\000\004JQ,\t.\000\000\t0\000\0002*\001t\004\134Q,\t2\000\000\t8\000\000\000\000\000\000\012\030\000\000\000\000\004\208\000\000\t\022\000\000\0036\000\000\000\000S\216\t<Q,\bV)j\000\000\000\000\t& t\b\\\005\214\000\000Q,\tP\000\000\004\186\000\000\t*\001t\bv\tFF2\b\128\005\254\000\000Q,\tp\000\000\006\012\000\000Q,\tr\000\0002*\001t\006\016\000\000Q,\t\130\000\000\004F*|\000\000\004F\000\000\000\000\b\158\000\000\002\208\001\130)j\000\000\006\014\000[\006\014\000\000\000%\000\000\t\022\000\000\t\022\000\000\000\000\000\000\b\152\000\000\000\000\b\168\000\000\005\160\007\146\000\017\006\014\000\000\000\000\000\000\000\017\000\000\t\022\000\000\005\160\000\000\000\000\023Z\000\017\019\178\000\000\000\017\000\000\n\154\019\178\000\000\000\000\n\154\000\000\000\000\b\166\000\000\000\000\b\172\000\000\005\238\t\022\000\000\005\238\000\000\000\000\t*\000\000\004\208\000\000\t\022\000\000\000\000\000\000\0242T\176\000\000\t\156\000\000\0242\t\164\000\000\t\174\000\000\005\240\0242\000\000\t\178\000\000\000\000\005\240\000\000\000\000\b\202\000\000 \192\tH\000\000\000\000\000\000\tL\000\000\000e\000\206\000\000\019\178\t\170\000\000\000\000Q,\t\000\t\022\000\000\b\210\000\000\001\019\000\000F2\000\000\000\000\001\218\019\178\000\000\019\178\000\000\b\190\000\000\001\218\000\000Q,\002XQ,\000\000Q,\000\000\b\192\000\000\002X\000\000Q,\002X\b\200\000\000\0212+\252\000\000\002|\0212\000\000\000\000\0212\000\000\b\210\000\000\002|\000\000Q,\002X\b\216\000\000:6\003\236:6\000\000:6\000\000\b\234\000\000\003\236\000\000Q,\002X\b\238\000\000\000\000'\144\000\000\000\249\t\154\000\000\000\000\tv[\128\000\000\000\000\000\000\000\000\000\000\000\000\tL\006\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004|[\128\000\000\003\230\005~\tx\000\249\000\000\000\000\t|\000\249\000\000\000\000\000\000\000\000\000\167\005~\000\000\000\000\000\000\000\000\t\234\000\000\000\000\000\000\000\000/,1t\000\000l\252\000\000[\128\000\000\005b[\128\000\000\002\194\001\182\001\182\000\000\004d\001\182\000\000\tf\000\000\000\000\000\000\000\000\t\244\000\0002\210\000\0004\250[\128\000\000\004F[\128\000\000\t\248\000\000[\128\t\252\000\000o\022\\\002\t\254\000\000\n\002\000\000orh\026[\128\t\170\000\249\000\000\000\000\000\000\t\128[\128\n\n\000\000\n\014\000\000\n\020\000\000:6\000\000\005 :6\000\000\t\144'\128\000\000[\128\n\030\000\000\000\177[\128\000\000\005\146[\128\000\000\t\022\n\164\000\000\n\176\000\000\\\002[\128\t\164\000\000\000\000\000\000\000\000\000\000\000\000\n2\000\000o\238[\128\n4\000\000\n8\000\000p|h*[\128\t\178[\128\n>\000\000\nH\000\000\nJ\000\000\\\002\t\240\000\249\000\000\000\000\005\208\\\002\000\000\t\022\000\000\nR\000\000[\128\nV\000\000p\222i4[\128\t\210[\128\n\\\000\000\n^\000\000\n`\000\000d\232'\128\000\000'\128\000\000\\\002[\128\t\220[\128\nt\000\000\nv\000\000'\128\000\000mL\000\000\000\000\005\216[\128\000\000\002\224\0064\001\182\t\246\000\000\000\000\0036\002\144\000\000\000\000\000\000\000\000\005\148\002\144\000\000\t\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000[\128\000\000\006\026[\128\000\000\000\031\0002\000\249\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\140\000\000\n\154\000\000[\128\n\156\000\000ql[\128\n\158\000\000\n\160\000\000[\128\n\164\000\000(\244\nJq\206P\140n&\n \000\000[\128\n\170\000\000\n\172\000\000\n|(\244[\128\n\178\000\000[\128\n\180\000\000\n\190\000\000[\128\n\200\000\000\000\249\n6\000\000\000\000'\144\000\000\000\000\004\"\0112\000\000\000\000\001\\\000\000\000\000\000\000Q,\000\000\000\000\000\000\004\138\000\000\002~\000\000\000\000\000\000\006\014:6:6:6\000\000\002|\002|\002|\002|\000\000\000\000\000\000\000\000\000\000\000\000\003\006\019\178\011(\016\170\000[\000\000\000\000\004|\000\000\012\030\000\0005z\nJ\000\000\003\006\019\178\nX\018.\000\000\003\006\016\170\000\000\000\000\000\000:6\n8\000\000\000\000\000\000\n\166\0036\0110j\214j\214\000\000\005xn\216j\214\005\152k\150\000\000\000\000\012\004\011 \001t\000\000\006\006lV\000\000\000\000\000\000\000\000\000\000\nf\011.\t\022\nd\000\000\000\000\004|\000\000\012\030\000\000\020\012\000\029\000\000\000\000\011\024\000\000\000\000\000\000\004\"\000\000\002\236\000\000\000\000\000\000Q,\000\000\004\138\000\000\003d\000\000\000\000\000\000\007\146\000\000\r\162\000\178\r\162\000\000\t\022\r\162\000\000\005\024\000\000\t\022\000\000\t\022\000\000\t\022\000\000\020\012\000\000\000\000\000\000\000\000\000\000\t\022\000\000\005\024\000\000\t\022\000\000\021\140\000\000\000\000\031\144\n\154\000\249\0054\011D\005\210\000\000\005\210\011p\000\000\011r\000\000\001\150\000\000\005\210\002\220\005\210\n\152\005\210\000\000\000\000\003\176\000\000\012\014\0054\nr\000\000\nt\000\000\n\180\000\249\0054\n|\000\000\012\198\011\136\000\000\014J\tR\011\154\000\154\011\154\000\000\000\000\0007\000\249\000\000\000\164\000\000\000\000\002\014\000\000\n\132\000\000\000\000\000\000\n\196\000\249\0054\n\140\000\000\000\000\012\198\014J\tR\0007\000\164\002\014\n\142\000\000\014J\tR\0007\000\164\002\014\n\146\000\000\006\178\006\014\n\176\000\249\n\172\007\012\007\132\n\220\000\249\000\000\n\252\000\249\000\000\011\\\000\000\n\240\006\156\n\234\007\012\011r\000\000\n\240\007\012\011x\000\000\000\000\007\012\000\000\011|\000\000"), (16, "\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\000\n\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\r\221\012n\022\130\022\138\001N\r\221\012:\r\161\023\194\000\234\014\014\b\241\r\221\000\190\r\221\000&\026\163\019N\r\221\n\t\r\221\r\221\005\249\r\221\026\167\b5\r\221\t\241\012n\n\t\022j\r\221\r\221\r\221\026\170\000*\r\221\014\014\012n\b5\003\193\000\130\r\221\r1\0242\r\221\r\221\014\014\014\173\000\194\000^\r\221\r\221\000f\r\221\000v\r\221\004\217\0045\000\134\n~\r\221\000z\r\221\r\221\021&\r\221\r\221\r\221\r\161\001\030\001\"\r\221\r\221\r\221\n\021\001&\r\221\r\221\r\221\001*\001.\0246\r\221\r\221\r\221\r\221\r\221\r\221\015\218\006\198\001\006\r\221\r\221\006\181\000~\b5\001\026\0012\006Q\006\181\006\181\0196\r\221\r\221\r\221\000\n\rA\r\221\r\221\r\221\r\221\028&\r\221\006\210\r\221\015\218\0045\r\221\014\173\014\173\r\221\r\221\000\222\0045\014\173\015\218\003\193\012\150\004:\000\138\n\134\r\221\r\221\007\149\012n\r\221\n\021\006\181\000\n\r\221\r\221\r\221\r\221\014\014\006N\r\221\004\217\r\221\b5\003\193\001\n\r\221\r\221\r\221\026\179\r\221\006\190\r\221\r\221\001\018\r\221\b5\r\221\r\221\001~\r\221\r\221\rA\r\221\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\004R\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\r\233\0007\000;\006\025\r)\r\233\001\142\001\194\011r\0282\r)\r)\r\233\000\190\r\233\004]\0286\001\214\r\233\005\241\r\233\r\233\r)\r\233\012\150\006Y\r\233\001Z\011~\015\218\018\186\r\233\r\233\r\233\t\001\028\022\r\233\018\190\001\238\006\t\003\233\027\166\r\233\007\"\000\198\r\233\r\233\003\233\r)\001\198\000\254\r\233\r\233\004]\r\233\007\022\r\233\020\142\012\154\n9\n9\r\233\027\170\r\233\r\233\n9\r\233\r\233\r\233\011\230\nR\000\202\r\233\r\233\r\233\019\"\019~\r\233\r\233\r\233\006I\000\206\021~\r\233\r\233\r\233\r\233\r\233\r\233\011~\001\222\003^\r\233\r\233\000N\n\158\019\158\019\198\019\214\020\n\020\026\020B\004\n\r\233\r\233\r\233\000\n\011\026\r\233\r\233\r\233\r\233\011\030\r\233\005\241\r\233\001\170\025z\r\233\011\"\018\186\r\233\r\233\004*\011&\025~\001\002\018\190\001j\000\006\000\"\018\194\017\190\r\233\005\241\002}\r\233\006\145\005\241\019\166\r\233\r\233\r\233\r\233\025/\0253\r\233\019\134\r\233\0042\0257\b\245\r\233\r\233\r\233\000\190\r\233\019\230\r\233\r\233\006\137\r\233\n\218\r\233\r\233\019\"\r\233\r\233\004\154\r\233\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\n\222\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\000\190\028>\023\194\003\241\006\153\012r\012\130\012\146\n\t\bF\003\241\006\153\000\190\006\153\000\n\019\174\t\r\006\153\0069\006\153\006\153\004\162\006\153\021z\004\186\006\153\027\178\004\194\005\241\006f\006\153\000\198\006\153\019\242\000.\006\153\004:\000\254\023\214\005\129\005\138\006\153\0056\000\190\004\133\023\222\b\201\001\238\004\165\015*\006\153\006\153\006\145\000\n\006\205\006\153\006\153\bR\000\202\016J\006\153\000\190\006\153\006\153\t\029\006\153\006\153\006\153\000\206\n\r\000\202\006\153\006\153\006\153\000\198\016N\006\153\006\153\006\153\023\218\000\206\006)\006\153\006\153\006\153\006\153\006\153\006\153\006\017\006\017\bb\006\153\006\153\000\n\025W\025[\011\194\002\141\0156\0061\025_\000\202\011\198\006\153\006\153\000\n\rA\006\153\006\153\006\153\006\153\000\206\006\153\001\002\006\153\016\238\006\205\006\153\005\254\000\202\006\153\006\153\b\185\005\241\006&\015.\006Y\0062\023\222\000\206\006\014\n\r\027\178\027\194\002]\006\153\000\n\rA\002\129\006\153\006\153\006\153\006\153\005\241\027\186\006\153\020\"\006\153\011\178\026\199\026\203\006\153\006\153\006\153\000\n\026\207\006^\006\153\006\153\006\189\006\153\006\189\006\153\006\153\006\189\006\153\006\153\006\189\006\153\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006\189\006n\006\189\b\233\rA\006\189\n\186\012\141\012\006\006\189\025\030\006\189\006\189\r\153\006\189\tz\026\231\026\235\006\189\tU\006\189\006\189\026\239\006\189\020*\006\189\006\189\006\189\011~\n\t\017\154\006\189\006\189\006\189\rA\006\189\006\189\t\134\012n\012\"\014~\tE\006\189\014\174\000\190\006\189\027\202\014\014\006v\020\246\011\182\006\189\006\189\006\189\006\189\ra\006\189\027\186\006\189\011~\0176\006\189\025\030\006\189\006\150\014\194\006\189\006\189\006\189\012\141\006\189\n\t\006\189\006\189\006\189\000\198\017:\006\189\006\189\006\189\012n\006\189\r\137\006\189\006\189\006\189\006\189\006\189\006\189\014\014\006!\t\222\006\162\006\189\006\189\002\173\006q\011\194\006\170\016\146\006\189\006\186\000\202\011\198\006\189\006\189\014\222\n\t\006\189\006\189\006\189\006\189\000\206\006\189\006\189\006\189\012n\021\198\006\189\011~\006\129\006\189\006\189\014\246\ra\014\014\015\218\014\173\n\230\016\178\0152\020\250\021\138\006\189\b\229\014\130\006\189\000\n\014\178\rQ\006\189\006\189\0166\006\189\020\234\021\006\006\189\015F\006\189\011~\015R\b\213\006\189\021\n\002m\006\206\014\173\014\173\016j\006\189\014\198\006\189\014\173\006\189\006\189\007\026\006\189\006\189\015\218\006\189\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\020v\000v\025f\000\182\011\"\000\186\001\146\001\150\000z\011&\025j\027\138\020z\r\145\000\n\011*\021\022\014\226\017\"\018\014\015\218\028\174\011:\020~\001\154\020\130\021\026\007j\001\242\020\134\012B\011B\027\142\012F\014\250\020\138\012J\ry\017V\027\146\027\130\000~\022F\012^\020\150\017j\n\005\017\134\020\154\r9\n9\n9\002\002\016:\020\158\025\158\n9\007v\018\142\018\238\020\142\014\"\012\162\025\202\025\214\003\173\014&\017\202\r\129\016n\020\162\002&\ri\002*\004\181\021n\001\162\015\210\014.\000\190\007\166\007\174\012\186\0022\0142\023\198\026.\012\190\006\238\002:\t9\b>\028\234\012\194\012\198\011V\011Z\012\202\0146\022v\023\242\020\166\026:\014:\020\170\rq\t)\rI\027\154\006a\000\198\t\154\bz\017&\006\254\012\206\001^\020\174\014>\014B\012\210\014F\020\178\000\n\020\182\014Z\020\186\020\190\004\145\020\194\023\026\014f\012\218\017Z\023\182\b\138\020\198\000\202\b\146\020\202\017n\027\162\017\138\025\234\028\170\b\158\015\"\000\206\006i\006y\015&\015r\004\181\011^\020\206\b\170\012\222\026Z\015v\020\210\020\214\002\157\012\230\004\181\004\181\028\190\b\182\024&\004\181\015~\b\210\012\234\000\n\006\197\006\197\004\198\012\242\002~\b\222\006\197\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\n\000v\025f\000\182\011\"\000\186\001\146\001\150\000z\011&\025j\000\n\028\194\b\230\b\238\011*\002\233\000\190\b\254\t\n\002\233\t\022\011:\t\005\001\154\t&\t2\tF\001\242\tV\012B\011B\029\019\012F\028\206\t^\012J\tb\t\158\t\166\t\182\000~\t\190\012^\t\194\t\202\n\005\t\242\000\190\t\246\t\254\n\014\002\002\n\030\015*\012n\nF\nj\nv\n\147\n\178\014\"\012\162\025\202\014\014\n\250\014&\018\018\000\190\011.\0116\002&\011>\002*\004\197\000\202\001\162\015\210\014.\000\198\011\150\011F\012\186\0022\0142\000\206\011N\012\190\006\238\002:\011R\011z\011\142\012\194\012\198\011V\011Z\012\202\0146\000\198\tR\011\194\015\214\014:\011\154\011\162\000\202\011\198\011\166\011\174\000\n\011\190\011\206\011\214\006\254\012\206\000\206\011\218\014>\014B\012\210\014F\011\238\000\n\011\246\014Z\000\202\012\014\004\145\012\022\015.\014f\012\218\012*\0122\012>\000\206\012V\012j\012v\012~\000\n\012\134\015\218\012\142\012\170\015\"\012\178\r\026\r&\015&\015r\004\017\011^\r^\r\142\012\222\014\006\015v\014J\014R\000\n\012\230\014b\004\197\014j\014\138\014\150\014\158\015~\014\162\012\234\014\170\006\213\006\213\014\186\012\242\002~\014\206\006\213\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\014\234\000v\025f\000\182\011\"\000\186\001\146\001\150\000z\011&\025j\n\t\015\002\015\014\015\022\011*\015\030\015n\015z\015\130\012n\015\142\011:\015\146\001\154\015\154\022\130\022\138\001\242\014\014\012B\011B\015\158\012F\015\166\015\174\012J\015\182\015\190\015\230\016*\000~\0162\012^\016B\016R\n\005\016Z\000\190\016^\028\014\016f\002\002\016v\016~\012n\016\134\016\138\016\154\016\162\016\186\012\158\012\162\016\194\014\014\016\254\014&\014\173\022\146\017\006\017\022\002&\017\030\002*\004\225\017.\001\162\014*\014.\000\198\014\146\017>\012\186\0022\0142\017F\017J\012\190\006\238\002:\017R\017b\017v\012\194\012\198\011V\011Z\012\202\0146\n\029\017\146\011\194\014\181\014:\017\178\017\250\000\202\011\198\015\218\018\006\018z\018\134\018\166\018\210\006\254\012\206\000\206\018\222\014>\014B\012\210\014F\018\230\000\n\018\250\014Z\019\018\019\030\004\145\019.\019F\014f\012\218\019V\019b\019\147\019\187\011\026\014\173\014\173\019\211\000\n\011\030\015\218\014\173\019\255\015\"\025z\020\023\011\"\015&\015r\004\225\011^\011&\025~\012\222\0207\015v\020O\006\173\n\029\012\230\004\225\004\225\020g\006\173\006\173\004\225\015~\020r\012\234\020\146\nA\nA\000\190\012\242\002~\006\173\nA\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\020\254\000v\021\014\000\182\011\"\000\186\001\146\001\150\000z\011&\006\173\021?\000\198\011\150\021\150\011*\021\171\000\190\021\211\003\165\021\223\021\239\011:\021\247\001\154\022\n\022\030\022'\001\242\022/\012B\011B\0227\012F\011\194\022R\012J\022c\022\134\000\202\011\198\000~\b=\012^\022\142\022\158\n\005\022\187\022\203\000\206\022\211\022\230\002\002\022\239\015*\012n\b=\003\165\022\247\022\255\023\n\012\158\012\162\023/\014\014\023;\014&\023N\023W\023_\023g\002&\023\138\002*\000\n\000\202\001\162\014*\014.\004\165\023\147\023\155\012\186\0022\0142\000\206\023\206\012\190\006\238\002:\023\254\024>\024_\012\194\012\198\011V\011Z\012\202\0146\024g\024s\024\131\024\139\014:\024\151\024\162\024\178\024\191\024\199\024\206\000\n\024\219\024\231\b=\006\254\012\206\t\162\024\239\014>\014B\012\210\014F\024\251\000\n\025\007\014Z\025\"\025\170\025\210\003\165\015.\014f\012\218\025\226\026\022\003\165\003\165\026\030\026N\026v\026z\026\130\026\175\015\218\027z\027\134\015\"\003\165\027\150\027\158\015&\015r\b\217\011^\027\219\027\227\012\222\027\234\015v\027\247\028\002\028\018\012\230\028G\003\165\028V\b=\028c\028\135\015~\028\163\012\234\028\178\003\165\028\186\027\186\012\242\002~\028\198\b=\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\028\210\000v\028\223\000\182\011\"\000\186\001\146\001\150\000z\011&\028\230\028\238\003\177\028\247\028\254\011*\029\007\000\190\029\027\000\000\000\000\000\000\011:\000\000\001\154\000\000\000\000\000\000\001\242\000\000\012B\011B\000\000\012F\000\000\000\000\012J\000\000\000\000\000\000\000\000\000~\000\000\012^\000\000\000\000\n\005\000\000\000\198\026J\027\178\000\000\002\002\000\000\000\000\012n\000\000\000\000\000\000\000\000\000\000\012\158\012\162\000\000\014\014\000\000\014&\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\202\001\162\014*\014.\000\000\000\000\000\000\012\186\0022\0142\000\206\000\000\012\190\006\238\002:\000\000\000\000\000\000\012\194\012\198\011V\011Z\012\202\0146\000\000\000\000\000\000\014\181\014:\004y\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\003\177\000\n\000\000\014Z\000\000\000\000\003\177\003\177\000\000\014f\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\177\000\000\000\000\015\218\000\000\000\000\015\"\000\000\002\233\000\000\015&\015r\002\233\011^\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\000\012\230\000\000\000\000\000\000\003\177\000\000\027\186\015~\000\000\012\234\000\000\014\181\014\181\000\000\012\242\002~\000\000\014\181\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\025f\000\182\011\"\000\186\001\146\001\150\000z\011&\025j\000\000\000\000\000\000\000\000\011*\000\000\000\190\000\000\000\000\004y\000\000\011:\000\000\001\154\027\254\004y\004y\001\242\000\000\012B\011B\000\000\012F\000\000\000\000\012J\000\000\004y\004y\000\000\000~\000\000\012^\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\002\002\000\000\015*\000\000\000\000\000\000\000\000\000\000\000\000\014\"\012\162\000\000\004y\000\000\014&\026\254\000\000\000\000\000\000\002&\000\000\002*\000\000\000\202\001\162\015\210\014.\000\000\000\000\000\000\012\186\0022\0142\000\206\000\000\012\190\006\238\002:\000\000\000\000\000\000\012\194\012\198\011V\011Z\012\202\0146\000\000\000\000\000\000\000\000\014:\003\173\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\000\000\000\n\000\000\014Z\000\000\000\000\004\145\000\000\015.\014f\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\002q\011^\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\000\012\230\000\000\000\000\000\000\000\000\000\000\000\000\015~\000\000\012\234\000\000\n%\n%\000\000\012\242\002~\000\000\n%\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\000\000\000\000\000\000\000\000\000\000\011*\000\000\000\000\000\000\000\000\003\173\000\000\011:\000\000\001\154\000\000\003\173\003\173\001\242\000\000\012B\011B\000\000\012F\000\000\000\000\012J\000\000\003\173\027\130\000\000\000~\000\000\012^\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\"\012\162\000\000\003\173\000\000\014&\015\238\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\015\210\014.\000\000\000\000\000\000\012\186\0022\0142\000\000\000\000\012\190\006\238\002:\000\000\000\000\000\000\012\194\012\198\011V\011Z\012\202\0146\000\000\000\000\000\000\014\145\014:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\000\000\000\n\000\000\014Z\000\000\000\000\000\000\000\000\000\000\014f\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\000\000\011^\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\000\012\230\000\000\000\000\000\000\000\000\000\000\000\000\015~\000\000\012\234\000\000\014\145\014\145\000\000\012\242\002~\000\000\014\145\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\000\000\000\000\000\000\000\000\000\000\011*\000\000\000\000\000\000\000\000\000\000\000\000\011:\000\000\001\154\000\000\000\000\000\000\001\242\000\000\012B\011B\000\000\012F\000\000\000\000\012J\000\000\000\000\000\000\000\000\000~\000\000\012^\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\"\012\162\000\000\000\000\000\000\014&\025\174\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\015\210\014.\000\000\000\000\000\000\012\186\0022\0142\000\000\000\000\012\190\006\238\002:\000\000\000\000\000\000\012\194\012\198\011V\011Z\012\202\0146\000\000\000\000\000\000\000\000\014:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\000\000\000\n\000\000\014Z\000\000\000\000\000\000\000\000\000\000\014f\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\000\000\011^\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\000\012\230\000\000\000\000\000\000\000\000\000\000\000\000\015~\000\000\012\234\000\000\014\221\014\221\000\000\012\242\002~\000\000\014\221\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\000\000\000\000\000\000\000\000\000\000\011*\000\000\000\000\000\000\000\000\000\000\000\000\011:\000\000\001\154\000\000\000\000\000\000\001\242\000\000\012B\011B\000\000\012F\000\000\000\000\012J\000\000\000\000\000\000\000\000\000~\000\000\012^\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\"\012\162\000\000\000\000\000\000\014&\025\174\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\015\210\014.\000\000\000\000\000\000\012\186\0022\0142\000\000\000\000\012\190\006\238\002:\000\000\000\000\000\000\012\194\012\198\011V\011Z\012\202\0146\000\000\000\000\000\000\000\000\014:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\000\000\000\n\000\000\014Z\000\000\000\000\000\000\000\000\000\000\014f\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\000\000\011^\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\000\012\230\000\000\000\000\000\000\000\000\000\000\000\000\015~\000\000\012\234\000\000\014\217\014\217\000\000\012\242\002~\000\000\014\217\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\000\000\000\000\000\000\000\000\000\000\011*\000\000\000\000\000\000\000\000\000\000\000\000\011:\000\000\001\154\000\000\000\000\000\000\001\242\000\000\012B\011B\000\000\012F\000\000\000\000\012J\011\026\000\000\000\000\000\000\000~\011\030\012^\000\000\000\000\n\005\025z\000\000\011\"\000\000\000\000\002\002\000\000\011&\025~\000\000\000\000\000\000\000\000\000\000\014\"\012\162\000\000\000\000\000\000\014&\018F\000\190\000\000\000\000\002&\000\000\002*\000\000\000\190\001\162\015\210\014.\000\000\000\000\000\000\012\186\0022\0142\000\000\000\000\012\190\006\238\002:\000\000\016J\000\000\012\194\012\198\011V\011Z\012\202\0146\000\198\tR\000\000\000\000\014:\000\000\000\000\000\198\016N\000\000\000\000\000\000\000\000\004R\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\000\000\000\n\000\000\014Z\000\202\000\000\011\194\000\000\000\000\014f\012\218\000\202\011\198\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\000\000\011^\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\n\012\230\000\000\000\000\000\000\000\000\000\000\000\n\015~\000\000\012\234\000\000\004\165\000\000\000\000\012\242\002~\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\006I\000\000\000\000\000\000\000\000\011*\000\000\000\000\000\000\000\000\000\000\000\000\011:\000\000\001\154\000\000\007\233\007\233\001\242\000\000\012B\011B\007\233\012F\000\000\000\000\012J\011\026\000\000\000\000\000\000\000~\011\030\012^\000\000\000\000\n\005\025z\000\000\011\"\000\000\000\000\002\002\000\000\011&\025~\000\000\000\000\000\000\000\000\000\000\019\218\012\162\000\000\000\000\000\000\014&\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\190\001\162\000\000\014.\000\000\000\000\000\000\012\186\0022\0142\000\000\000\000\012\190\006\238\002:\000\000\016J\000\000\012\194\012\198\011V\011Z\012\202\0146\000\000\000\000\000\000\000\000\014:\004\001\000\000\000\198\016N\004\001\000\000\000\000\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\000\000\000\n\000\000\014Z\000\000\000\000\011\194\000\000\000\000\014f\012\218\000\202\011\198\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\000\000\011^\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\000\012\230\000\000\004\001\000\000\000\000\000\000\000\n\015~\000\000\012\234\000\000\004\165\000\000\004\001\012\242\002~\000R\000V\000Z\000\146\000\000\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\rY\rY\000\000\004\001\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\nq\nq\001\242\000\000\012B\003J\nq\001\246\004\001\004\001\001\250\004\001\000\000\000\000\000\000\000~\000\000\004\001\004\001\000\000\t\253\000\000\000\000\004\001\000\000\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\026\002\022\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\005z\000\000\000\000\005\130\000\000\002.\0022\000\000\000\000\000\000\0026\001\"\002:\rY\000\000\000\000\002>\002B\011V\014n\002F\002J\000\000\000\000\000\000\000\000\005\146\005\154\000\000\000\000\000\000\000\000\000\000\rY\000\000\000\000\000\000\000\190\002N\000\000\000\000\005\162\000\000\002R\rY\002E\000\n\005\170\005\178\000\000\rY\rY\000\000\016J\000\000\002Z\000\000\005\186\000\000\000\000\005\194\000\000\005\202\000\000\000\000\000\000\002^\000\000\000\198\016N\000\000\000\000\000\000\000\000\000\000\000\022\011^\000\000\000\000\002b\000\000\004R\rY\000\000\000\000\002n\000\000\rY\rY\005\210\011\194\000\000\000\000\000\000\002\134\000\202\011\198\000\000\000\000\002v\002~\000R\000V\000Z\000\146\000\206\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\000\000\000\000\000\000\000\000\005\218\000\n\000\000\002E\000\000\000\000\000\000\005\226\000\000\000\000\001\154\000\000\000\000\000\000\001\242\000\000\012B\000\000\000\000\012F\000\000\002E\012J\000\000\000\000\002E\002E\000~\000\000\018\198\000\000\000\000\n\005\000\000\000\000\000\000\005\234\005\242\002\002\000\000\000\000\000\000\006I\000\000\000\000\000\000\000\000\018\214\012\162\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\000\000\000\000\000\000\000\000\000\000\012\186\0022\000\000\000\000\000\000\012\190\001\"\002:\000\000\002\242\003\026\012\194\012\198\011V\014n\012\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\000\001\t\000\000\001\t\001\t\006\254\012\206\000\000\000\000\000\000\000\000\012\210\000\000\003\"\000\n\000\000\003\002\000\000\003\018\000\000\000\000\r\193\000\000\012\218\000\000\000\000\r\193\000\000\000j\r\193\000r\r\193\000\000\r\193\000\000\000\178\000\000\000\000\r\193\r\193\000\000\r\193\000\000\000\000\011^\003*\000\000\012\222\000\000\018\218\000\000\000\000\r\193\012\230\r\193\000\000\000\000\000\000\r\193\r\193\018\226\000\000\012\234\000\000\r\193\000\000\000\000\012\242\002~\000\000\r\193\r\193\000\000\r\193\000\000\r\193\000\000\r\193\000\000\000\000\000\000\000\000\000\000\r\193\000\000\0032\000\000\000\000\001\t\000\000\r\193\r\193\003\n\000\000\r\193\000\000\000\000\000\000\000\000\r\193\r\193\000\000\007\198\r\193\000\000\r\193\001\t\000\000\000\000\000\000\001\t\001\t\r\193\000\000\000\000\000\000\000\000\r\193\r\193\000\000\000\000\001\t\003:\000\000\000\000\000\000\000\000\r\193\007\206\007\214\r\193\r\193\000\000\r\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\193\007\222\000\000\000\000\r\193\000\000\000\000\007\230\007\238\r\193\r\193\r\193\000\000\r\193\r\193\r\193\r\193\007\246\000\000\000\000\007\254\000\000\b\006\r\193\000\000\r\173\r\193\000\000\000\000\000\000\r\173\000\000\000\000\r\173\000b\r\173\000\000\r\173\000\000\000\000\000\000\r\193\r\173\r\173\000\000\r\173\r\193\r\193\r\193\b\014\000\000\r\193\r\193\000\000\000\000\r\193\r\173\000\000\r\173\000\000\r\193\r\193\r\173\r\173\000\000\000\000\r\193\000\000\r\173\000\000\000\000\000\000\000\000\000\000\r\173\r\173\000\000\r\173\000\000\r\173\000\000\r\173\000\000\000\000\000\000\000\000\000\000\r\173\000\000\b\022\000\000\000\000\000\000\000\000\r\173\r\173\b\030\000\000\r\173\000\000\000\000\000\000\000\000\r\173\r\173\000\000\000\205\r\173\000\000\r\173\005]\000\000\000\000\000\000\000\000\000\000\r\173\005]\000\000\000\000\000\000\r\173\r\173\000\000\000\000\b&\b.\000\000\000\000\000\000\000\000\r\173\002\242\003\026\r\173\r\173\000\000\r\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\173\002\250\000\000\000\000\r\173\000\000\000\000\000\205\000\205\r\173\r\173\r\173\000\000\r\173\r\173\r\173\r\173\003\"\000\000\000\000\003\002\000\000\003\018\r\173\000\000\r\201\r\173\000\000\000\000\000\000\r\201\000\000\000\000\r\201\000n\r\201\000\000\r\201\000\000\000\000\000\000\r\173\r\201\r\201\000\000\r\201\r\173\r\173\r\173\003*\000\000\r\173\r\173\000\000\000\000\r\173\r\201\000\000\r\201\000\000\r\173\r\173\r\201\r\201\000\000\000\000\r\173\000\000\r\201\000\000\000\000\000\000\000\000\000\000\r\201\r\201\000\000\r\201\000\000\r\201\000\000\r\201\000\000\000\000\000\000\000\000\000\000\r\201\000\000\0032\000\000\000\000\000\000\000\000\r\201\r\201\003\n\000\000\r\201\000\000\000\000\000\000\000\000\r\201\r\201\000\000\000\181\r\201\000\000\r\201\000\205\000\000\000\000\000\000\000\000\000\000\r\201\000\205\000\000\000\000\000\000\r\201\r\201\000\000\000\000\000\205\003:\000\000\000\000\000\000\000\000\r\201\000\181\000\181\r\201\r\201\000\000\r\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\201\002\250\000\000\000\000\r\201\000\000\000\000\000\181\000\181\r\201\r\201\r\201\000\000\r\201\r\201\r\201\r\201\000\181\000\000\000\000\003\002\000\000\003\018\r\201\000\000\b\145\r\201\000\000\000\000\000\000\b\145\000\000\000\000\b\145\000\000\b\145\000\000\b\145\000\000\000\000\000\000\r\201\b\145\b\145\000\000\b\145\r\201\r\201\r\201\000\181\000\000\r\201\r\201\000\000\000\000\r\201\b\145\000\000\b\145\000\000\r\201\r\201\b\145\b\145\000\000\000\000\r\201\000\000\b\145\000\000\000\000\000\000\000\000\000\000\b\145\b\145\000\000\b\145\000\000\b\145\000\000\b\145\000\000\000\000\000\000\000\000\000\000\b\145\000\000\000\181\000\000\000\000\000\000\000\000\b\145\b\145\003\n\000\000\b\145\001\134\000\000\000\000\000\000\b\145\b\145\000\000\000\177\b\145\000\000\b\145\000\181\000\000\000\000\000\000\000\000\000\000\b\145\000\181\000\000\000\000\000\000\b\145\b\145\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\000\b\145\000\177\000\177\b\145\b\145\000\000\b\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\145\002\250\000\000\000\000\b\145\000\000\000\000\000\177\000\177\b\145\b\145\b\145\000\000\b\145\b\145\b\145\b\145\000\177\000\000\000\000\003\002\000\000\003\018\b\145\000\000\r\185\b\145\000\000\000\000\000\000\r\185\000\000\000\000\r\185\000\000\r\185\000\000\r\185\000\000\000\000\000\000\b\145\r\185\r\185\000\000\r\185\b\145\b\145\b\145\000\177\000\000\b\145\b\145\000\000\000\000\b\145\r\185\000\000\r\185\000\000\b\145\b\145\r\185\r\185\000\000\000\000\b\145\000\000\r\185\000\000\000\000\000\000\000\000\000\000\r\185\r\185\000\000\r\185\000\000\r\185\000\000\r\185\000\000\000\000\000\000\000\000\000\000\r\185\000\000\000\177\000\000\000\000\000\000\000\000\r\185\r\185\003\n\000\000\r\185\001\166\000\000\000\000\000\000\r\185\r\185\000\000\000\169\r\185\000\000\r\185\000\177\000\000\000\000\000\000\000\000\000\000\r\185\000\177\000\000\000\000\000\000\r\185\r\185\000\000\000\000\000\177\000\177\000\000\000\000\000\000\000\000\r\185\000\169\000\169\r\185\r\185\000\000\r\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\185\000\169\000\000\000\000\r\185\000\000\000\000\000\169\000\169\r\185\r\185\r\185\000\000\r\185\r\185\r\185\r\185\000\169\000\000\000\000\003\002\000\000\000\169\r\185\000\000\b\157\r\185\000\000\000\000\000\000\b\157\000\000\000\000\b\157\000\000\b\157\000\000\b\157\000\000\000\000\000\000\r\185\b\157\b\157\000\000\b\157\r\185\r\185\r\185\000\169\000\000\r\185\r\185\000\000\000\000\r\185\b\157\000\000\b\157\000\000\r\185\r\185\b\157\b\157\000\000\000\000\r\185\000\000\b\157\000\000\000\000\000\000\000\000\000\000\b\157\b\157\000\000\b\157\000\000\b\157\000\000\b\157\000\000\000\000\000\000\000\000\000\000\b\157\000\000\000\169\000\000\000\000\000\000\000\000\b\157\b\157\003\n\000\000\b\157\n>\000\000\000\000\000\000\b\157\b\157\000\000\000\000\b\157\000\000\b\157\000\169\000\000\000\000\000\000\000\000\000\000\b\157\000\169\000\000\000\000\000\000\b\157\b\157\000\000\000\000\000\169\000\169\000\000\004y\000\000\000\000\b\157\000\000\000\000\b\157\b\157\000\000\b\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\157\000\000\027v\000\000\b\157\000\000\000\000\000\000\000\000\b\157\b\157\b\157\000\000\b\157\b\157\b\157\b\157\000\000\000\000\000\000\000\000\000\000\000\000\b\157\000\000\000\000\b\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\157\000\000\000\000\000\000\000\000\b\157\b\157\b\157\000\000\000\000\b\157\b\157\000\000\000\000\b\157\000\000\000\000\000\000\000\000\b\157\b\157\000R\000V\000Z\000\146\b\157\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\027\230\000\182\000\000\000\186\001\146\001\150\000z\000\n\000\000\000\000\027\250\000\000\000\000\000\000\004y\000\000\000\000\028R\000\000\027\254\004y\004y\001\154\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\002\n\004y\004y\002\014\000\000\000\000\000\000\000\000\000~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\004y\002\162\004\146\000\000\002\030\000\000\000\000\005*\000\190\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\001\241\000\000\000\000\001\241\000\000\004\206\0022\0176\000\000\000\000\004\210\001\"\002:\000\000\000\000\005.\004\214\004\218\000\000\000\000\004\222\002J\000\198\017:\000\000\000\000\001\241\001\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\004\226\000\000\000\000\001\241\000\000\004\230\011\194\001\241\000\n\001\241\001\241\000\202\011\198\000\000\000\000\000\000\000\000\004\238\000\000\001\241\000\000\000\206\001\241\000\000\001\241\000\000\000\000\000\000\0052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\242\000\000\000\000\000\000\000\000\000\n\004\250\000\000\000\000\004\t\001\241\000\000\000\000\000\000\000\000\004\254\000\000\000\000\000\000\000\000\005\006\002~\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\006I\000\000\000\000\000\000\001\241\005B\000\000\001\241\000\000\000\000\000\000\001\241\000\000\000\000\001\154\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\002\n\000\000\001\241\002\014\000\000\000\000\001\241\001\241\000~\000\000\000\000\000\000\000\000\005J\000\000\000\000\000\000\001\241\001\241\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\162\004\146\000\000\002\030\000\000\000\000\005*\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\000\000\000\000\000\000\000\000\000\000\004\206\0022\000\000\000\000\000\000\004\210\001\"\002:\000\000\000\000\005.\004\214\004\218\000\000\000\000\004\222\002J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015)\000\000\000\000\004\226\000\000\000\000\000\000\000\000\004\230\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\238\000\000\000\000\000\000\000\000\000\000\015)\015)\000\000\000\000\000\000\0052\000\000\000\000\007Z\000\000\000\000\000\000\000\000\000\000\000\000\015)\000\000\000\000\004\242\000\000\000\000\015)\015)\000\000\004\250\007b\000\000\b\189\007n\000\000\000\000\015)\000\000\004\254\015)\000\000\015)\000\000\005\006\002~\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\015)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\001\242\007z\000\190\000\000\000\000\002\n\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015)\000\000\000\000\002\002\000\000\007~\002\006\015)\000\000\000\000\000\000\000\000\002\162\004\146\000\000\002\030\007\134\000\000\005*\000\000\000\000\015)\002&\000\000\002*\000\000\000\000\001\162\015)\000\000\000\000\000\000\000\000\004\206\0022\000\000\015)\015)\004\210\001\"\002:\000\000\000\000\005.\004\214\004\218\000\000\000\000\004\222\002J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\241\000\000\000\000\000\000\000\000\004\226\000\000\000\000\000\000\000\000\004\230\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\238\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0052\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\000\000\241\000\000\000\241\000\241\004\242\000\000\000\000\000\000\000\000\000\000\004\250\000\000\000\241\002a\000\000\003\002\000\000\003\018\000\000\004\254\000\000\000\000\000\000\000\000\005\006\002~\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\241\000\186\001\146\001\150\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\002\n\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000~\000\000\000\000\000\241\000\000\000\000\000\241\000\000\000\000\000\000\003\n\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\162\004\146\000\000\002\030\000\241\000\000\005:\000\000\000\241\000\241\002&\000\000\002*\000\000\000\000\001\162\000\000\000\000\000\000\000\241\000\241\004\206\0022\000\000\000\000\000\000\004\210\001\"\002:\000\000\000\000\005.\004\214\004\218\000\000\000\000\004\222\002J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\226\000\000\000\000\000\000\000\000\004\230\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000Z\000\146\004\238\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\000\000\000\000\000\000\004\242\000\000\000\000\000\000\000\000\000\000\004\250\000\000\000\000\b\205\001\154\000\000\000\000\000\000\001\242\004\254\000\190\000\000\000\000\001\246\005\006\002~\001\250\000\000\000\000\000\000\000\000\000~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\026\002\022\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\000\000\000\000\000\000\000\000\000\000\002.\0022\000\000\000\000\000\000\0026\001\"\002:\000\000\000\000\000\000\002>\002B\000\000\000\000\002F\002J\000\000\000V\004^\000\146\000\000\000\150\000\000\000\154\000\158\004b\000^\000\000\000\170\000\174\000\000\000v\002N\000\182\000\000\000\186\001\146\002R\000z\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002Z\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000~\000\000\002b\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\000\000\000\002v\002~\001\149\001\149\001\149\001\149\000\000\001\149\005\233\001\149\001\149\001\149\001\149\001\162\001\149\001\149\000\000\001\149\000\000\001\149\005\233\001\149\001\149\001\149\001\149\000\000\000\000\000\000\000\000\020Z\000\000\005\233\000\000\005\233\000\000\000\000\000\000\005\233\005\233\001\149\001\149\001\149\000\000\005\233\000\000\020^\000\000\000\000\000\000\005\233\000\000\001\149\005\233\000\000\000\000\000\000\005\233\001\149\000\000\000\000\001\149\000\000\005\233\000\000\001\149\000\000\000\000\020j\000\000\000\000\001\149\000\000\000\000\005\233\000\000\000\000\000\000\001\149\005\233\011\006\000\000\000\000\001\149\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\001\149\001\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\001\149\000\000\000\000\001\149\000\000\000\000\001\149\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\005\233\005\233\001\149\005\233\005\233\000\000\005\233\001\149\000\000\001\149\000\000\000\000\001\149\005\233\020n\000\000\005\233\000\000\000\000\001\149\000\000\001\149\000\000\000\000\001\149\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\001\149\001\149\000\000\000\000\000\000\001\149\001\149\000\000\000\000\000\000\000R\000V\004^\000\146\000\000\000\150\021B\000\154\000\158\004b\000^\000\000\000\170\000\174\020v\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\000\000\020z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020~\001\154\020\130\000\000\000\000\000\000\020\134\000\000\000\000\000\000\000\000\000\000\020\138\000\000\000\000\000\000\000\000\000\000\024\158\000\000\000\000\020\150\000\000\000\000\000\000\020\154\000\000\000\000\000\000\000\000\000\000\020\158\000\000\000\000\000\000\000\000\000\000\000\000\n\166\000\000\000\000\000\000\000\000\022:\000\000\000\000\000\000\020\162\023\166\000\000\000\000\011*\000\000\001\162\000\000\000\000\000\000\000\000\011:\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\190\011B\000\000\012F\000\000\000\000\012J\000\000\000\000\n\210\000\000\000\000\020\166\012^\000\000\020\170\n\005\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\020\174\000\000\000\000\014V\012\162\020\178\000\n\020\182\014&\020\186\020\190\000\000\020\194\002&\000\000\002*\000\000\000\000\000\000\020\198\014.\000\000\020\202\000\000\012\186\0022\0142\000\000\000\000\012\190\006\238\002:\000\000\000\000\000\000\012\194\012\198\020\206\000\000\012\202\0146\000\000\020\210\020\214\000\000\014:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\000\000\000\n\000\000\014Z\000\000\000\000\000\000\000\000\000\000\014f\012\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\011*\000\000\000\000\000\000\012\222\000\000\015v\011:\000\000\000\000\012\230\000\000\000\000\001\242\000\000\000\190\011B\015~\012F\012\234\000\000\012J\000\000\000\000\012\242\002~\000\000\000\000\012^\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\182\012\162\000\000\000\000\000\000\014&\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\014.\000\000\000\000\015A\012\186\0022\0142\000\000\000\000\012\190\006\238\002:\000\000\000\000\000\000\012\194\012\198\000\000\000\000\012\202\0146\000\000\000\000\000\000\000\000\014:\000\000\000\000\000\000\015A\015A\000\000\000\000\000\000\000\000\000\000\006\254\012\206\000\000\000\000\014>\014B\012\210\014F\015A\000\n\000\000\014Z\000\000\000\000\015A\015A\000\000\014f\012\218\000\000\000\000\000\000\004\198\000\000\015A\000\000\000\000\015A\000\000\015A\000\000\000\000\015\"\000\000\000\000\000\000\015&\015r\000\000\000\000\000\000\000\000\012\222\000\000\015v\000\000\000\000\000\000\012\230\000\000\000\000\000\000\000\000\000\000\000\000\015~\015A\012\234\000\000\000\000\000\000\000\000\012\242\002~\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015A\000\000\000\000\000\000\000\000\000\000\001\154\015A\000\000\000\000\001\242\000\000\000\190\000\000\000\000\012F\000\000\000\000\012J\000\000\000\000\015A\000\000\000~\000\000\000\000\000\000\000\000\015A\000\000\000\000\000\000\000\000\000\000\002\002\000\000\015A\015A\000\000\000\000\000\000\000\000\000\000\019\218\012\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\001\162\015\205\000\000\000\000\015\205\000\000\012\186\0022\000\000\000\000\000\000\012\190\001\"\002:\000\000\000\000\000\000\012\194\012\198\000\000\012\157\012\202\000\000\000\000\000\000\000\000\000\000\015\205\015\205\000\000\000\000\000\000\015\205\000\000\000\000\015\205\015\205\000\000\006\254\012\206\000\000\000\000\015\205\000\000\012\210\015\205\015\205\000\n\015\205\015\205\000\000\012\157\015\205\000\000\015\205\015\205\012\218\000\000\015\205\000\000\000\000\015\205\000\000\015\205\015\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\157\000\000\012\222\000\000\000\000\000\000\000\000\000\000\012\230\000\000\012\157\000\000\015\205\000\000\015\205\000\000\000\000\012\234\000\000\000\000\000\000\000\000\012\242\002~\000\000\015\205\000\000\000\000\000\000\000\000\000\000\000\000\015\205\000\000\000\000\012\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\205\015\205\000\000\015\205\015\205\015\205\000\000\015\205\000\000\000\000\000\000\000\000\000\000\000\000\005\t\000\000\015\205\005\t\000\000\005\t\000\000\015\205\005\t\000\000\015\205\000\000\015\205\000\000\000\000\000\000\000\000\000\000\015\205\015\205\015\205\000\000\015\205\015\205\012\153\015\205\005\t\005\t\000\000\000\000\000\000\005\t\005\t\000\000\005\t\005\t\005\t\000\000\000\000\005\t\005\t\005\t\000\000\000\000\000\000\000\000\005\t\005\t\005\t\005\t\005\t\005\t\005\t\005\t\005\t\012\153\005\t\005\t\005\t\005\t\005\t\000\000\005\t\005\t\000\000\005\t\000\000\005\t\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\153\000\000\000\000\000\000\000\000\000\000\000\000\005\t\000\000\000\000\012\153\000\000\005\t\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\000\000\005\t\000\000\000\000\000\000\000\000\005\t\000\000\000\000\012\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\005\t\000\000\000\000\007\141\005\t\005\t\005\t\005\t\007\141\005\t\000\000\005\t\000\000\000\000\000\000\005\t\000\000\000\000\000\000\000\000\005\t\000\000\000\000\005\t\000\000\005\t\000\000\005\t\005\t\000\000\005\t\005\t\000\000\000\000\000\000\005\t\005\t\005\t\005\t\000\000\005\t\005\t\000\000\005\t\012\t\012\t\012\t\012\t\000\000\012\t\000\000\012\t\012\t\012\t\012\t\000\000\012\t\012\t\000\000\012\t\000\000\012\t\000\000\012\t\012\t\012\t\012\t\000\000\000\000\015}\000\000\000\000\015}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\012\t\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\015}\015}\000\000\000\000\012\t\015}\000\000\021R\002\150\015}\000\000\021Z\000\000\000\000\000\000\015}\000\000\012\t\015}\015}\000\000\015}\015}\000\000\012\t\002\158\000\000\015}\002\178\012\t\000\000\015}\000\000\000\000\015}\000\000\015}\015}\012\t\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\015}\012\t\015}\000\000\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015}\000\000\000\000\000\000\012\t\000\000\000\000\004\014\000\000\012\t\000\000\012\t\000\000\000\000\012\t\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\012\t\000\000\000\000\012\t\015}\015}\000\000\015}\015}\004\018\000\000\015}\000\000\000\000\000\000\000\000\000\000\000\000\012\t\012\t\004\026\000\000\000\000\021\174\012\t\015}\000\000\000\000\015}\015}\015}\015}\015}\000\000\000\000\000\000\015}\015}\015}\015\r\015}\015}\015\r\015}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\r\015\r\000\000\000\000\000\000\015\r\000\000\000\000\002\150\015\r\000\000\000\000\000\000\000\000\000\000\015\r\000\000\000\000\015\r\015\r\000\000\015\r\015\r\000\000\000\000\002\158\000\000\015\r\002\178\000\000\000\000\015\r\000\000\000\000\015\r\000\000\015\r\015\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\r\000\000\015\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\r\011\249\011\249\011\249\011\249\000\000\011\249\004\014\011\249\011\249\011\249\011\249\000\000\011\249\011\249\000\000\011\249\000\000\011\249\000\000\011\249\011\249\011\249\011\249\000\000\000\000\000\000\015\r\015\r\000\000\015\r\015\r\004\018\000\000\015\r\000\000\000\000\000\000\011\249\011\249\011\249\000\000\000\000\004\026\000\000\000\000\000\000\000\000\015\r\000\000\011\249\015\r\015\r\015\r\015\r\015\r\011\249\000\000\000\000\015\r\015\r\015\r\000\000\015\r\015\r\000\000\015\r\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\011\249\000\000\000V\004^\000\146\000\000\000\150\000\000\000\154\000\158\004b\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\011\249\000z\000\000\011\249\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\011\249\000\000\000\000\000\000\001\170\011\249\000\000\011\249\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000~\000\000\011\249\000\000\011\249\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\011\249\000\000\000\000\000\000\021V\011\249\011\253\011\253\011\253\011\253\000\000\011\253\001\162\011\253\011\253\011\253\011\253\000\000\011\253\011\253\000\000\011\253\000\000\011\253\000\000\011\253\011\253\011\253\011\253\000\000\000\000\005\017\000\000\000\000\005\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\011\253\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\005\017\005\017\000\n\000\000\011\253\005\017\000\000\021\178\005\017\005\017\000\000\000\000\000\000\000\000\000\000\005\017\000\000\011\253\005\017\005\017\000\000\005\017\005\017\000\000\011\253\005\017\000\000\005\017\005\017\011\253\000\000\005\017\000\000\000\000\005\017\000\000\005\017\005\017\011\253\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\005\017\011\253\005\017\000\000\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\017\000\000\000\000\000\000\011\253\000\000\000\000\005\017\000\000\011\253\000\000\011\253\000\000\000\000\011\253\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\011\253\000\000\000\000\011\253\005\017\005\017\000\000\005\017\007\153\005\017\000\000\005\017\000\000\000\000\000\000\000\000\000\000\000\000\011\253\011\253\005\017\000\000\000\000\005\r\011\253\005\017\005\r\000\000\005\017\000\000\005\017\000\000\005\017\000\000\000\000\000\000\005\017\005\017\005\017\000\000\005\017\005\017\000\000\005\017\000\000\000\000\000\000\000\000\000\000\005\r\005\r\000\000\000\000\000\000\005\r\000\000\000\000\005\r\005\r\000\000\000\000\003\146\000\000\000\000\005\r\000\000\000\000\005\r\005\r\000\000\005\r\005\r\000\000\000\000\005\r\000\000\005\r\005\r\000\000\000\000\005\r\000\000\000\000\005\r\000\000\005\r\005\r\002\242\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\000\000\000\000\000\000\213\003\154\000\000\000\000\005\r\000\000\005\r\000\000\000\000\000\000\003\"\000\000\000\000\003\002\000\000\003\018\000\000\005\r\000R\000V\004^\000\146\000\000\000\150\005\r\000\154\000\158\004b\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\003*\000\000\005\r\005\r\000\000\005\r\007\145\005\r\000\000\005\r\000\000\000\000\000\000\021\186\001\154\021\214\000\000\000\000\005\r\000\000\000\000\000\000\000\000\005\r\000\000\021\226\005\r\000\000\005\r\000\000\005\r\000~\000\000\000\000\005\r\005\r\005\r\000\000\005\r\005\r\0032\005\r\000\000\000\000\021\250\000\000\000\000\003\n\000\000\000\000\000\000\n\166\000\000\000\000\000\000\000\000\022:\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\022Z\001\162\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\003:\000\000\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\004\170\n\210\000\000\004\174\022f\000\000\000\000\022\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\022\214\000\000\004\202\000\000\000\000\023\002\000\000\t\237\006\142\006\154\0232\006\178\006\190\006\214\006\218\000\000\000\000\023>\002&\023j\002*\000\000\024j\000\000\000\000\000\000\000\000\000\000\000\000\006\222\0022\000\000\006\226\006\230\006\234\006\238\002:\024v\024\142\000\000\006\242\006\246\000\000\024\154\006\250\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\000\000\000\000\000\007\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\t\000\000\007\018\000\000\007\"\001\242\000\000\000\190\000\000\000\000\004\170\000\000\000\000\004\174\000\000\007*\000\000\000\000\000\000\000\000\000\000\0072\000\000\000\000\000\000\000\000\000\000\004\025\000\000\002\002\0076\000\000\004\202\000\000\000\000\007>\002~\000\000\006\142\006\154\000\000\006\178\006\190\006\214\006\218\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\222\0022\000\000\006\226\006\230\006\234\006\238\002:\000\000\000\000\000\000\006\242\006\246\000\000\000\000\006\250\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\000\000\000\000\000\007\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\t\000\000\007\018\000\000\007\"\001\242\000\000\000\190\000\000\000\000\004\170\000\000\000\000\004\174\000\000\007*\000\000\000\000\000\000\000\000\000\000\0072\000\000\000\000\000\000\000\000\000\000\t\017\000\000\002\002\0076\000\000\004\202\000\000\000\000\007>\002~\000\000\006\142\006\154\000\000\006\178\006\190\006\214\006\218\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\222\0022\000\000\006\226\006\230\006\234\006\238\002:\000\000\000\000\000\000\006\242\006\246\000\000\000\000\006\250\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\000\000\000\000\000\007\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\t\000\000\007\018\000\000\007\"\001\242\000\000\000\190\000\000\000\000\004\170\000\000\000\000\004\174\000\000\007*\000\000\000\000\000\000\000\000\000\000\0072\000\000\000\000\000\000\000\000\000\000\002\145\000\000\002\002\0076\000\000\004\202\000\000\000\000\007>\002~\000\000\006\142\006\154\000\000\006\178\006\190\006\214\bV\000\000\003\146\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\222\0022\000\000\006\226\006\230\006\234\006\238\002:\000\000\000\000\000\000\006\242\006\246\002\242\003\026\006\250\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\000\006\254\007\002\000\201\000\201\000\000\000\000\007\006\000\000\000\000\000\n\000\000\000\000\003\"\000\000\000\000\003\002\000\000\003\018\007\014\000\000\015\149\000\000\000\000\015\149\000\000\000\000\000\000\006\t\000\000\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\003*\000\000\015\149\015\149\0072\000\000\000\000\015\149\000\000\000\000\t!\015\149\000\000\0076\000\000\000\000\000\000\015\149\007>\002~\015\149\015\149\000\000\015\149\015\149\000\000\000\000\000\000\000\000\015\149\000\000\004\198\000\000\015\149\000\000\000\000\015\149\000\000\015\149\015\149\0032\000\000\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\015\149\000\000\015\149\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\003:\015\149\000\000\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\025f\000\182\011\"\000\186\001\146\001\150\000z\011&\025j\015\149\015\149\000\000\015\149\015\149\000\000\000\000\015\149\000\000\000\000\000\000\000\000\000\000\001\154\015%\000\000\000\000\015%\000\000\001\170\000\000\015\149\000\000\000\000\015\149\015\149\015\149\015\149\015\149\000\000\000~\000\000\015\149\015\149\015\149\000\000\015\149\015\149\000\000\015\149\015%\015%\000\000\000\000\000\000\015%\000\000\000\000\000\000\015%\001\158\000\000\000\000\000\000\000\000\015%\000\000\000\000\015%\015%\000\000\015%\015%\000\000\000\000\001\162\000\000\015%\000\000\004\198\000\000\015%\000\000\000\000\015%\000\000\015%\015%\000\000\000\000\000\000\000\000\000\000\000\000\011V\011Z\000\000\n\170\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015%\000\000\015%\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\015%\004\145\002\242\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\000\000\000\000\000\000\193\000\193\000\000\011^\015%\015%\000\000\015%\015%\000\000\000\193\015%\000\000\003\002\000\000\003\018\000\000\000\000\015a\000\000\000\000\015a\000\000\000\000\000\000\015%\000\000\000\000\015%\015%\015%\015%\015%\000\000\000\000\000\000\015%\015%\015%\000\000\015%\015%\003*\015%\015a\015a\000\000\000\000\000\000\015a\000\000\000\000\r\n\015a\000\000\000\000\000\000\000\000\000\000\015a\000\000\000\000\015a\015a\000\000\015a\015a\000\000\000\000\r\018\000\000\015a\r\030\000\000\000\000\015a\000\000\000\000\015a\000\000\015a\015a\000\193\000\000\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\000\193\000\000\000\000\000\000\015a\000\000\015a\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\193\015a\000\000\000\000\000\000\001\225\001\225\000\000\r*\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\001\225\000\000\001\225\001\225\015a\015a\000\000\015a\001\225\r.\000\000\015a\001\225\000\000\000\000\001\225\000\000\001\225\001\225\000\000\r6\001\225\000\000\000\000\000\000\000\000\000\000\000\000\015a\000\000\015a\000\000\000\000\000\000\000\000\000\000\015a\015a\015a\000\000\015a\015a\000\000\015a\001\225\001\225\001\225\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\001\225\000\000\000\000\001\225\001\225\000\000\001\225\001\225\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\001\225\001\225\000\000\000\000\001\225\002\186\000\000\001\225\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\001\225\001\225\001\225\001\225\001\225\000\000\000\000\000\000\000\000\003\254\001\225\001\225\000\000\001\225\001\225\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\002\194\000\000\001\225\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\001i\000\000\000\000\000\000\001\225\000\000\000\000\001\225\001\225\001\225\001\225\000\000\000\000\000\000\000\000\003\242\001\225\001\225\000\000\001\225\001\225\000\000\001\225\001i\001i\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001i\001i\000\000\001i\001i\000\000\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\000\000\000\000\003\002\000\000\003\018\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\001]\001]\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\001i\000\000\001]\001i\001i\000\000\001]\003\n\000\000\003\002\000\000\001]\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\000\000\000\000\000\000\001i\001i\000\000\001i\001i\001]\001i\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\001\154\001a\000\000\000\000\001a\000\000\001\170\000\000\001]\000\000\000\000\001]\001]\001]\001]\001]\000\000\000~\000\000\000\000\001]\001]\000\000\001]\001]\000\000\001]\001a\001a\000\000\000\000\000\000\001a\000\000\000\000\000\000\001a\001\174\000\000\000\000\000\000\000\000\001a\001\202\000\000\001a\001a\000\000\001a\001a\000\000\000\000\001\162\000\000\001a\000\000\000\000\000\000\001a\000\000\000\000\003\002\000\000\001a\001a\000\000\001\178\001\182\000\000\000\000\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001a\000\000\001e\001e\000\000\000\000\000\000\001e\000\000\000\000\000\000\001e\000\000\000\000\000\000\000\000\001\206\002\250\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\001a\000\000\001e\001a\001a\000\000\001e\003\n\000\000\003\002\000\000\003\018\001e\000\000\014M\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\001a\001a\001a\000\000\000\000\000\000\000\000\001a\001a\000\000\001a\001a\001e\001a\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\001e\000\000\000\000\001e\001e\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\001\154\001u\000\000\000\000\001u\000\000\001\170\000\000\001e\000\000\000\000\001e\001e\001e\001e\001e\000\000\000~\000\000\000\000\001e\001e\000\000\001e\001e\000\000\001e\002\242\003\026\000\000\000\000\000\000\001u\000\000\000\000\000\000\001u\001\174\000\000\000\000\000\000\000\000\002\250\001\202\000\000\001u\001u\000\000\001u\001u\000\000\000\000\001\162\000\000\001u\000\000\000\000\000\000\001u\000\000\000\000\003\002\000\000\003\018\001u\000\000\001\178\001\182\000\000\000\000\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\000\000\001m\000\000\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001u\000\000\002\242\003\026\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\000\000\000\000\000\000\000\000\001\206\002\250\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\001u\000\000\001m\001u\001u\000\000\001m\003\n\000\000\003\002\000\000\003\018\001m\000\000\002\197\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\001u\001m\001u\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001m\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\001m\000\000\000\000\001m\001m\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\001\154\001q\000\000\000\000\001q\000\000\001\170\000\000\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\000~\000\000\000\000\001m\001m\000\000\001m\001m\000\000\001m\002\242\003\026\000\000\000\000\000\000\001q\000\000\000\000\000\000\001q\001\174\000\000\000\000\000\000\000\000\002\250\001\202\000\000\001q\001q\000\000\001q\001q\000\000\000\000\001\162\000\000\001q\000\000\000\000\000\000\001q\000\000\000\000\003\002\000\000\003\018\001q\000\000\001\178\001\182\000\000\000\000\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\000\000\001y\000\000\000\000\001y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001q\000\000\002\242\003\026\000\000\000\000\000\000\001y\000\000\000\000\000\000\001y\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001y\001y\000\000\001y\001y\000\000\000\000\001q\000\000\001y\001q\001q\000\000\003\"\003\n\000\000\003\002\000\000\003\018\001y\000\000\002\189\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\000\000\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\001q\003*\001q\001y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001y\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\0032\000\000\000\000\001y\001y\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\001\154\001\129\000\000\000\000\001\129\000\000\000\000\000\000\001y\000\000\000\000\001y\001y\001y\001y\001y\000\000\000~\000\000\000\000\001y\001y\000\000\001y\001y\000\000\001y\002\242\003\026\000\000\000\000\000\000\001\129\000\000\000\000\000\000\001\129\001\158\000\000\000\000\000\000\000\000\002\250\tf\000\000\001\129\001\129\000\000\001\129\001\129\000\000\000\000\001\162\000\000\001\129\000\000\tj\tn\003\"\000\000\000\000\003\002\000\000\003\018\001\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tr\000\000\000\000\000\000\000\000\003\146\000\000\000\000\001}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\000\000\001\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\129\000\000\002\242\003\026\000\000\000\000\000\000\001}\000\000\000\000\000\000\001}\000\000\000\000\000\000\000\000\tv\002\250\000\000\000\000\001}\001}\000\000\001}\001}\000\000\000\000\0032\000\000\001}\001\129\001\129\000\000\003\"\003\n\000\000\003\002\000\000\003\018\001}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\129\000\000\000\000\001\129\001\129\001\129\001\129\001\129\000\000\000\000\000\000\000\000\001\129\001\129\000\000\001\129\003:\003*\001\129\001}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001}\000\000\000R\000V\000Z\000\146\n\162\000\150\011\026\000\154\000\158\000\162\000^\011\030\000\170\000\174\000\000\000v\000\000\000\182\011\"\000\186\001\146\001\150\000z\011&\000\000\0032\000\000\000\000\001}\001}\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\001\154\003\146\000\000\000\000\001\133\000\000\001\170\000\000\001}\000\000\000\000\001}\001}\001}\001}\001}\000\000\000~\000\000\000\000\001}\001}\000\000\001}\003:\000\000\001}\002\242\003\026\000\000\000\000\000\000\001\133\000\000\000\000\000\000\001\133\001\158\000\000\000\000\000\000\000\000\002\250\tf\000\000\001\133\001\133\000\000\001\133\003\154\000\000\000\000\001\162\000\000\001\133\000\000\tj\tn\003\"\000\000\000\000\003\002\000\000\003\018\001\133\000\000\000\000\000\000\000\000\000\000\000\000\011V\011Z\000\000\tr\000\000\000\000\002\213\000\000\000\000\000\000\000^\002\213\000\000\000f\000\000\000v\002\213\000\000\002\213\003*\000\000\001\133\000z\002\213\002\213\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\213\000\000\000\000\000\000\tv\000\000\000\000\000\000\000\000\000\000\000\000\000~\002\213\006\001\011^\0032\002\213\000\000\001\133\001\133\000\000\000\000\003\n\000\000\006\001\000\000\004)\000\000\000\000\006\001\000\000\002\213\002\213\000\000\000\000\000\000\001\133\000\000\000\000\001\133\001\133\001\133\001\133\001\133\002\213\000\000\000\138\000\000\001\133\001\133\000\000\001\133\003:\002\213\001\133\000\000\000\000\002\209\002\213\002\213\000\000\000^\002\209\000\000\000f\000\000\000v\002\209\002\213\002\209\000\000\000\000\002\213\000z\002\209\002\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\213\000\000\002\209\000\000\000\000\002\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000~\002\209\000\000\000\000\000\000\002\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\209\002\209\000\000\002\230\000\000\002\213\003B\000\000\002\213\002\213\000\000\000\000\002\213\002\209\000\000\000\138\000\000\002\213\002\213\000\000\000\000\000\000\002\209\002\213\000\000\000\000\000\000\002\209\002\209\003r\003z\000\000\000\000\000\000\002=\000\000\000\000\002\209\002=\000\000\000\000\002\209\000\000\000\000\003\130\000\000\000\000\002=\002=\000\000\003\138\003\170\002\209\000\000\000\000\000\000\002=\000\000\000\000\000\000\003\178\000\000\002\209\003\186\000\000\003\194\002=\002\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\202\000\000\002=\000\000\000\000\000\000\000\000\000\000\002\209\000\000\000\000\002\209\002\209\002=\000\000\002\209\000\000\000\000\000\000\000\000\002\209\002\209\000\000\000\000\000\000\000\000\002\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\210\000\000\000\000\002=\002=\000\000\000\000\003\218\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\145\000\000\000\000\000\000\002=\000\000\000\000\002=\002=\002=\002=\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\003\226\003\234\000\000\002=\002\242\003\026\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\145\000\145\000\000\000\145\000\145\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\003\"\000\000\000\000\003\002\000\000\003\018\000\145\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\000\000\000\145\000\000\000\000\000y\000y\000\000\000\000\000\000\000y\000\000\000\000\000\145\000y\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\003\002\0032\003\018\000y\000\145\000\145\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000\145\000\000\000\000\000\145\000\145\000\145\000\145\000y\000\000\000y\000\000\000\000\000\145\000\145\000\000\000\145\003:\000\000\000\145\000\000\000y\000\000\000u\000u\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000y\000\000\000u\000y\000y\000\000\000u\003\n\000\000\003\002\000\000\003\018\000u\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000u\000y\000u\000\000\000\000\000m\000m\000\000\000\000\000\000\000m\000\000\000\000\000u\000m\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\003\002\000u\000m\000m\000u\000u\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\146\000\000\000\000\000\153\000u\000\000\000\000\000u\000u\000u\000u\000m\000\000\000m\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000u\000\000\000m\000\000\002\242\003\026\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\153\000\153\000\000\000\153\003\154\000\000\000\000\000m\000\000\000\153\000m\000m\000\000\003\"\003\n\000\000\003\002\000\000\003\018\000\153\000\000\000\000\000\000\000\000\003\146\000\000\000\000\000\141\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\003*\000m\000\153\000\000\000\000\002\242\003\026\000\000\000\000\000\000\000\141\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\141\000\141\000\000\000\141\000\141\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\003\"\000\000\000\000\003\002\0032\003\018\000\141\000\153\000\153\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\133\000\153\000\000\000\000\000\153\000\153\000\153\000\153\003*\000\000\000\141\000\000\000\000\000\153\000\153\000\000\003\162\003:\000\000\000\153\000\000\000\141\000\000\002\242\003\026\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\133\000\133\000\000\000\133\000\133\000\000\000\000\0032\000\000\000\133\000\141\000\141\000\000\000\133\003\n\000\000\003\002\000\000\003\018\000\133\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000\141\000\000\000\000\000\141\000\141\000\141\000\141\000\000\000\000\000\000\000\000\000\000\000\141\000\141\000\000\000\141\003:\003*\000\141\000\133\000\000\000\000\000q\000q\000\000\000\000\000\000\000q\000\000\000\000\000\133\000q\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003\002\000\133\000q\000q\000\133\000\133\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000q\000\000\000q\000\000\000\000\000\133\000\133\000\000\000\133\000\133\000\000\000\133\000\000\000q\000\000\002\242\003\026\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000q\000\000\000}\000q\000q\000\000\000}\003\n\000\000\003\002\000\000\003\018\000}\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000}\000q\000}\000\000\000\000\002\242\003\026\000\000\000\000\000\000\000\129\000\000\000\000\000}\000\129\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\129\000\000\000\000\003\002\000}\003\018\000\129\000}\000}\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\146\000\000\000\000\000\149\000}\000\000\000\000\000}\000}\000}\000}\003*\000\000\000\129\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000}\000\000\000\129\000\000\002\242\003\026\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\149\000\149\000\000\000\149\003\154\000\000\000\000\000\129\000\000\000\149\000\129\000\129\000\000\003\"\003\n\000\000\003\002\000\000\003\018\000\149\000\000\000\000\000\000\000\000\000\137\000\000\000\000\000\137\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\000\129\003*\000\129\000\149\000\000\000\000\002\242\003\026\000\000\000\000\000\000\000\137\000\000\000\000\000\149\000\137\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\000\137\000\137\000\000\000\137\000\137\000\000\000\000\000\000\000\000\000\137\000\000\000\000\000\000\003\"\000\000\000\000\003\002\0032\003\018\000\137\000\149\000\149\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\149\000\149\000\149\000\149\003*\000\000\000\137\000\000\000\000\000\149\000\149\000\000\000\149\003:\000\000\000\149\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\189\0032\000\000\000\000\000\137\000\137\000\000\000\000\003\n\000\000\000\000\r\189\000\000\r\189\012\r\012\r\000\000\r\189\000\000\000\000\012\r\000\000\000\137\r\189\000\173\000\137\000\137\000\137\000\137\r\189\000\000\000\000\r\189\000\000\000\137\000\137\r\189\000\137\000\137\000\000\000\137\000\000\r\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\r\189\000\000\000\000\012\r\000\000\r\189\r\189\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\003\002\000\000\000\173\012\r\000\000\r\189\000\000\000\000\r\189\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\250\r\189\000\000\000\000\000\000\000\000\r\189\r\189\r\189\000\173\r\189\r\189\000\000\r\189\000\000\000\000\002\002\000\000\000\000\002\006\r\189\000\000\000\000\r\189\000\000\002\018\002\022\000\000\002\030\000\000\007\030\000\000\000\000\000\000\000\000\002&\000\000\002*\r\189\000\000\000\000\000\000\000\000\r\189\r\189\012\r\002.\0022\000\000\000\173\br\0026\001\"\002:\000\000\000\000\003\n\002>\002B\000\000\000\000\002F\002J\000\000\000\000\000\000\000\000\000\000\015y\000\000\000\173\015y\000\000\000\000\000\000\000\000\000\000\000\173\000\000\002N\000\000\000\000\000\000\000\000\002R\000\173\000\173\000\n\000\000\000\000\000\000\000\000\000\000\000\000\015y\015y\002Z\000\000\000\000\015y\000\000\000\000\000\000\015y\000\000\000\000\000\000\002^\t\253\015y\000\000\000\000\015y\015y\000\000\015y\015y\000\000\000\000\000\000\002b\015y\000\000\004\198\000\000\015y\002n\000\000\015y\t\253\015y\015y\000\000\000\000\000\000\002\134\000\000\000\000\000\000\000\000\002v\002~\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\250\015y\000\000\015y\000\000\000\000\000\000\000\000\000\000\000\000\012b\000\000\000\000\000\000\015y\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\018\002\022\000\000\002\030\000\000\004\198\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\015y\015y\000\000\015y\000\000\002.\0022\015y\000\000\000\000\0026\001\"\002:\000\000\000\000\000\000\002>\002B\000\000\000\000\002F\002J\000\000\000\000\015y\000\000\015y\000\000\000\000\000\000\000\000\000\000\015y\015y\015y\000\000\015y\015y\002N\015y\000\000\000\000\000\000\002R\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002Z\000\000\001\249\000\000\000\000\001\249\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\000\000\001\249\001\249\002n\000\000\000\000\001\249\000\000\t\253\000\000\001\249\000\000\002\134\000\000\000\000\000\000\001\249\002v\002~\001\249\001\249\000\000\001\249\001\249\000\000\000\000\000\000\000\000\001\249\000\000\000\000\000\000\001\249\000\000\000\000\001\249\000\000\001\249\001\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\250\001\249\000\000\001\249\000\000\000\000\000\000\000\000\000\000\000\000\t\253\000\000\000\000\000\000\001\249\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\018\002\022\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\001\249\rJ\000\000\001\249\000\000\002.\0022\001\249\000\000\000\000\0026\001\"\002:\000\000\000\000\000\000\002>\002B\000\000\000\000\002F\002J\000\000\000\000\001\249\000\000\001\249\000\000\000\000\000\000\000\000\000\000\rR\001\249\001\249\000\000\001\249\001\249\002N\001\249\000\000\000\000\000\000\002R\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002Z\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\002^\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\202\000\000\002b\000\000\000\000\000\000\002\002\000\000\002n\002\006\000\000\000\000\000\000\000\000\000\000\002\018\002\022\002\134\002\030\000\000\000\000\000\000\002v\002~\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002.\0022\000\000\000\000\000\000\0026\001\"\002:\000\000\000\000\000\000\002>\002B\000\000\000\000\002F\002J\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\254\000\000\000\000\002N\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\006\002Z\000\000\000\000\000\000\000\000\002\018\t\030\000\000\002\030\000\000\000\000\002^\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\002.\0022\000\000\000\000\002n\0026\001\"\002:\000\000\000\000\000\000\002>\002B\002\134\000\000\002F\002J\000\000\002v\002~\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\254\000\000\000\000\002N\000\000\000\000\000\000\000\000\002f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\006\002Z\000\000\000\000\000\000\000\000\002\018\t\014\000\000\002\030\000\000\000\000\002^\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\002.\0022\000\000\000\000\002n\0026\001\"\002:\000\000\000\000\000\000\002>\002B\002r\000\000\002F\002J\000\000\002v\002~\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\254\000\000\000\000\002N\000\000\000\000\000\000\000\000\002f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\006\002Z\000\000\000\000\000\000\000\000\002\018\b\246\000\000\002\030\000\000\000\000\002^\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\002.\0022\000\000\000\000\002n\0026\001\"\002:\000\000\000\000\000\000\002>\002B\002r\000\000\002F\002J\000\000\002v\002~\000\000\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\254\000\000\000\000\002N\000\000\000\000\000\000\000\000\002f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\006\002Z\000\000\000\000\000\000\000\000\002\018\002V\000\000\002\030\000\000\000\000\002^\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\002.\0022\000\000\000\000\002n\0026\001\"\002:\000\000\000\000\000\000\002>\002B\002r\000\000\002F\002J\000\000\002v\002~\000\000\000R\000\000\000\000\000\000\000\000\000\000\007\245\000\000\000\000\000\000\000\000\007\245\002N\000\000\000\000\000\000\007\245\002f\007\245\000\000\000\n\001\150\000\000\007\245\007\245\000\000\000\000\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\000\000\007\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\007\245\000\000\000\000\002n\007\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\000\000\000\000\002v\002~\007\245\007\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\245\000\000\000\000\007\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\245\000\000\000\000\000\000\000\000\007\245\007\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\245\000\000\000\000\000\000\007\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\245\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\002\n\007\245\000\000\002\014\000\000\000\000\007\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\"\004\146\000\000\002\030\000\000\004\166\000\000\000\000\000\000\000\000\002&\007\245\002*\000\000\007\245\007\245\000\000\000\000\007\245\000\000\000\000\004\206\0022\007\245\007\245\000\000\004\210\001\"\002:\007\245\000\000\000\000\004\214\004\218\000\000\000\000\004\222\002J\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\004\226\000\000\000\000\000\000\000\000\004\230\000\000\000\000\000\n\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\004\238\002\018\004\178\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002.\0022\004\242\000\000\000\000\0026\001\"\002:\004\250\000\000\000\000\002>\002B\000\000\000\000\002F\002J\004\254\000\000\000\000\000\000\000\000\005\006\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002N\000\000\000\000\000\000\000\000\002f\000\000\000\000\000\n\000\000\000\000\006j\000\000\000\000\000\000\000\000\000\000\002Z\000\000\000\000\000\000\003\225\000\000\003\225\000\000\000\000\003\225\000\000\002^\003\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\000\000\003\225\000\000\002n\003\225\000\000\000\000\000\000\000\000\000\000\003\225\003\225\002r\003\225\000\000\000\000\000\000\002v\002~\000\000\003\225\000\000\003\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\225\003\225\000\000\000\000\000\000\003\225\003\225\003\225\000\000\000\000\000\000\003\225\003\225\000\000\000\000\003\225\003\225\000\000\001\242\000\000\000\190\000\000\000\000\001\246\000\000\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\003\225\000\000\000\000\000\000\000\000\003\225\000\000\000\000\003\225\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\003\225\002\018\012N\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\002&\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002.\0022\003\225\000\000\000\000\0026\001\"\002:\003\225\000\000\000\000\002>\002B\000\000\000\000\002F\002J\003\225\000\000\000\000\000\000\000\000\003\225\003\225\000\000\000\000\000\000\000\000\020v\000\000\000\000\000\000\000\000\002N\000\000\000\000\000\000\000\000\002f\000\000\020z\000\n\000\000\000\000\000\000\000\000\000\000\022\006\000\000\000\000\002Z\020~\000\000\020\130\012a\012a\000\000\020\134\000\000\000\000\000\000\002^\000\000\020\138\000\000\000\000\000\000\000\000\000\000\020\142\000\000\000\000\020\150\000\185\002j\000\000\020\154\000\000\000\000\000\000\002n\000\000\020\158\000\000\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\000\000\020v\002v\002~\012a\000\000\020\162\002\242\003\026\000\000\000\000\000\000\000\000\020z\000\000\000\000\000\000\000\000\000\000\000\000\023\006\000\000\002\250\000\000\020~\000\000\020\130\000\000\000\185\000\185\020\134\000\000\000\000\0125\000\000\012a\020\138\020\166\000\185\000\000\020\170\003\002\020\142\003\018\000\000\020\150\000\000\000\000\000\000\020\154\000\000\022\018\000\000\020\174\000\000\020\158\000\000\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\023\130\022\150\000\000\0125\000\185\020\162\020\198\000\000\000\000\020\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\206\000\000\000\000\000\000\000\000\020\210\020\214\012a\000\000\000\000\0125\000\000\020\166\000\000\000\000\020\170\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\003\n\020\174\000\000\000\000\000\000\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\000\185\000\000\000\000\000\000\000\000\000\000\020\198\000\185\000\000\020\202\000\000\000\000\000\000\000\000\000\000\000\185\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\206\000\000\000\000\000\000\000\000\020\210\020\214\0125\003\249\003\249\003\249\003\249\000\000\003\249\000\000\003\249\003\249\003\249\003\249\000\000\003\249\003\249\000\000\003\249\000\000\003\249\000\000\003\249\003\249\003\249\003\249\000\000\000\000\r~\000\000\000\000\r\134\000\000\000\000\000\000\001\210\000\000\000\000\000\000\000\000\000\000\003\249\000\000\000\000\000\000\000\000\000\000\003\249\000\000\000\000\000\000\000\000\000\000\000\000\r\150\r\158\000\000\000\000\003\249\002M\000\000\000\000\000\000\002M\000\000\000\000\000\000\000\000\000\000\r\166\000\000\000\000\002M\002M\000\000\r\174\r\182\000\000\003\249\000\000\000\000\002M\000\000\000\000\003\249\r\190\000\000\000\000\r\198\000\000\r\206\002M\000\000\003\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001E\003\249\003\249\001E\000\000\000\000\000\000\000\000\000\000\003\249\000\000\r\214\000\000\002M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002M\000\000\002\242\003\026\000\000\000\000\000\000\001E\000\000\000\000\003\249\001E\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001E\001E\000\000\001E\001E\000\000\000\000\r\222\000\000\001E\002M\000\000\000\000\003\"\r\230\000\000\003\002\000\000\003\018\001E\000\000\000\000\000\000\000\000\001-\000\000\000\000\001-\000\000\000\000\000\000\002M\000\000\002M\000\000\003\249\000\000\000\000\000\000\000\000\002M\002M\000\000\r\238\r\246\003*\002M\001E\000\000\000\000\001-\001-\000\000\000\000\000\000\001-\000\000\000\000\001E\001-\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001-\001-\000\000\001-\001-\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\000\000\003\002\0032\003\018\001-\001E\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\001E\000\000\001E\000\000\001-\000\000\001-\000\000\000\000\001E\001E\000\000\001E\003:\000\000\001E\000\000\001-\000\000\001)\001)\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\001-\000\000\001)\001-\000\000\000\000\001)\003\n\000\000\003\002\000\000\003\018\001)\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\001-\001-\001)\001-\001)\000\000\000\000\001!\001!\000\000\000\000\000\000\001!\000\000\000\000\001)\001!\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\002\001)\001!\001!\001)\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\146\000\000\000\000\001M\000\000\000\000\000\000\001)\000\000\001)\000\000\001!\000\000\001!\000\000\000\000\001)\001)\000\000\001)\001)\000\000\001)\000\000\001!\000\000\002\242\003\026\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001M\001M\000\000\001M\003\154\000\000\000\000\001!\000\000\001M\001!\000\000\000\000\003\"\003\n\000\000\003\002\000\000\003\018\001M\000\000\000\000\000\000\000\000\003\146\000\000\000\000\001A\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\001!\003*\001!\001M\000\000\000\000\002\242\003\026\000\000\000\000\000\000\001A\000\000\000\000\001M\001A\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001A\001A\000\000\001A\001A\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\003\"\000\000\000\000\003\002\0032\003\018\001A\001M\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\000\000\0019\000\000\000\000\000\000\001M\000\000\001M\000\000\003*\000\000\001A\000\000\000\000\001M\001M\000\000\003\162\003:\000\000\001M\000\000\001A\000\000\002\242\003\026\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\0019\0019\000\000\0019\0019\000\000\000\000\0032\000\000\0019\001A\000\000\000\000\0019\003\n\000\000\003\002\000\000\003\018\0019\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\001A\000\000\001A\000\000\000\000\000\000\000\000\000\000\000\000\001A\001A\000\000\001A\003:\003*\001A\0019\000\000\000\000\001%\001%\000\000\000\000\000\000\001%\000\000\000\000\0019\001%\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\003\002\0019\001%\001%\0019\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\000\000\0011\000\000\000\000\000\000\0019\000\000\0019\000\000\001%\000\000\001%\000\000\000\000\0019\0019\000\000\0019\0019\000\000\0019\000\000\001%\000\000\002\242\003\026\000\000\000\000\000\000\0011\000\000\000\000\000\000\0011\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\001%\000\000\0011\001%\000\000\000\000\0011\003\n\000\000\003\002\000\000\003\018\0011\000\000\000\000\000\000\000\000\0015\000\000\000\000\0015\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\001%\0011\001%\0011\000\000\000\000\002\242\003\026\000\000\000\000\000\000\0015\000\000\000\000\0011\0015\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\000\000\003\002\0011\003\018\0015\0011\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\146\000\000\000\000\001I\000\000\000\000\000\000\0011\000\000\0011\000\000\003*\000\000\0015\000\000\000\000\0011\0011\000\000\0011\0011\000\000\0011\000\000\0015\000\000\002\242\003\026\000\000\000\000\000\000\001I\000\000\000\000\000\000\001I\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001I\001I\000\000\001I\003\154\000\000\000\000\0015\000\000\001I\0015\000\000\000\000\003\"\003\n\000\000\003\002\000\000\003\018\001I\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\000\000\000\000\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\0015\003*\0015\001I\000\000\000\000\002\242\003\026\000\000\000\000\000\000\001=\000\000\000\000\001I\001=\000\000\000\000\000\000\000\000\000\000\002\250\000\000\000\000\001=\001=\000\000\001=\001=\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\003\"\000\000\000\000\003\002\0032\003\018\001=\001I\023n\000\000\023v\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\000\000\000\000\000\000\000\000\023\158\000\000\000\000\000\000\001I\000\000\001I\020z\003*\000\000\001=\000\000\000\000\001I\001I\000\000\001I\003:\020~\001I\020\130\001=\000\000\000\000\020\134\000\000\000\000\000\000\000\000\000\000\020\138\000\000\000\000\000\000\000\000\000\000\020\142\000\000\000\000\020\150\000\000\000\000\000\000\020\154\000\000\000\000\000\000\000\000\0032\020\158\000\000\001=\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\162\023\166\000\000\000\000\000\000\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\000\000\001=\001=\000\000\001=\006A\000\000\000\000\000\000\000\000\006A\000\000\000\000\020\166\000\000\006A\020\170\006A\000\000\000\000\000\000\000\000\006A\006A\000\000\000\000\000\000\000\000\000\000\020\174\000\000\000\000\000\000\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\000\000\006A\000\000\000\000\000\000\000\000\020\198\000\000\000\000\020\202\000\000\000\000\000\000\006A\000\000\000\000\000\000\006A\000\000\000\000\000\000\000\000\000\000\000\000\020\206\000\000\000\000\000\000\000\000\020\210\020\214\015E\006A\006A\015E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004j\000\000\000\000\006A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006A\000\000\000\000\015E\015E\006A\006A\000\000\000\000\000\000\000\000\005\030\000\000\000\000\000\000\006A\000\000\000\000\015E\006A\000\000\000\000\015E\000\000\015E\015E\000\000\000\000\005&\000\000\006A\006*\000\000\000\000\015E\000\000\000\000\015E\000\000\015E\006A\000\000\000\000\000\000\000\000\006A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\190\000\000\000\000\004\170\015E\000\000\004\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006A\000\000\000\000\006A\006A\000\000\002\002\006A\0066\000\000\000\000\000\000\006A\006A\000\000\006\142\006\154\000\000\006A\000\000\006\174\000\000\000\000\000\000\000\000\002&\000\000\002*\015E\015E\000\000\015E\000\000\006:\000\000\015E\006\222\0022\000\000\000\000\000\000\006\234\001\"\002:\006B\000\000\000\000\006\242\006\246\015E\000\000\006\250\000\000\015E\015E\000\000\000\000\000\000\000\000\000\000\015E\000\000\000\000\000\000\015E\015E\000\000\000\000\006\254\007\002\000\000\000\000\000\000\000\000\007\006\000\000\000\000\000\n\000\000\001\242\000\000\000\190\000\000\000\000\012F\000\000\007\014\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\012\182\012\162\000\000\000\000\0072\r\254\000\000\000\000\000\000\000\000\002&\000\000\002*\0076\000\000\000\000\000\000\000\000\007>\002~\000\000\012\186\0022\000\000\000\000\000\000\012\190\001\"\002:\000\000\000\000\000\000\012\194\012\198\000\000\020v\012\202\000\000\000\000\000\000\000\000\000\000\000\000\020v\000\000\000\000\000\000\020z\000\000\000\000\000\000\000\000\000\000\006\254\012\206\020z\000\000\000\000\020~\012\210\020\130\000\000\000\n\000\000\020\134\000\000\020~\000\000\020\130\000\000\020\138\012\218\020\134\000\000\000\000\000\000\020\142\000\000\020\138\020\150\000\000\000\000\000\000\020\154\020\142\000\000\000\000\020\150\000\000\020\158\000\000\020\154\000\000\000\000\000\000\012\222\000\000\020\158\000\000\000\000\022\002\012\230\000\000\000\000\000\000\020\162\000\000\000\000\022\222\000\000\012\234\000\000\000\000\020\162\000\000\012\242\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0125\000\000\020\166\000\000\000\000\020\170\000\000\000\000\0125\000\000\020\166\000\000\000\000\020\170\000\000\000\000\000\000\000\000\020\174\000\000\000\000\000\000\000\000\020\178\000\n\020\182\020\174\020\186\020\190\000\000\020\194\020\178\000\n\020\182\000\000\020\186\020\190\020\198\020\194\000\000\020\202\000\000\020v\000\000\000\000\020\198\000\000\000\000\020\202\000\000\000\000\000\000\000\000\000\000\020z\020\206\000\000\000\000\000\000\000\000\020\210\020\214\0125\020\206\000\000\020~\000\000\020\130\020\210\020\214\0125\020\134\000\000\000\000\000\000\000\000\000\000\020\138\000\000\000\000\000\000\000\000\000\000\020\142\000\000\000\000\020\150\000\000\000\000\000\000\020\154\000\000\000\000\000\000\000\000\000\000\020\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023F\000\000\000\000\000\000\000\000\020\162\000\000\000\000\000\000\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\0125\000\000\020\166\000\000\000\000\020\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\020\174\000\000\000\000\000\000\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\000~\000\000\000\000\000\000\000\000\000\000\020\198\000\000\000\000\020\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\158\000\000\000\000\000\000\020\206\000\000\tf\000\000\000\000\020\210\020\214\0125\000\000\000\000\000\000\001\162\000\000\000\000\000\000\tj\tn\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\tr\000\182\000\000\000\186\001\146\001\150\000z\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\001\154\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000~\000\000\000\000\000\000\000\000\000\000\tv\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\158\000\000\000\000\000\000\000~\000\000\tf\000\000\tI\000\000\000\000\000\000\000\000\000\000\000\000\001\162\000\000\000\000\000\000\tj\tn\000\000\000\000\000\000\001\158\000\000\000\000\000\000\000\000\000\000\026\"\000\000\000\000\000\000\000\000\000\000\000\000\tr\000\000\001\162\000\000\000\000\000\000\026&\tn\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\tr\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tv\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000~\000\000\000\000\000\000\002\177\000\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\158\000\000\000\000\000\000\000\000\000\000\026\"\000\000\004!\000\000\000\000\000\000\000\000\000\000\000\000\001\162\000\000\000\000\000\000\026&\tn\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\tr\000\182\000\000\000\186\001\146\001\150\000z\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\001\154\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000~\000\000\000\000\000\000\000\000\000\000\026*\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\158\000\000\000\000\000\000\000~\000\000\026\"\000\000\t-\000\000\000\000\000\000\000\000\000\000\000\000\001\162\000\000\000\000\000\000\026&\tn\000\000\t\245\000\000\001\158\000\000\000\000\000\000\000\000\000\000\t~\000\000\000\000\000\000\t\245\000\000\000\000\tr\000\000\001\162\000\000\000\000\000\000\tj\tn\t\245\000\000\t\245\000\000\000\000\000\000\t\245\000\000\000\000\000\000\000\000\000\000\t\245\000\000\000\000\000\000\tr\b\177\t\245\000\000\000\000\t\245\000\000\000\000\000\000\t\245\021^\000\000\000\000\b\177\000\000\t\245\000\000\000\000\000\000\000\000\000\000\026*\000\000\000\000\b\177\000\000\b\177\000\000\000\000\000\000\b\177\t\245\000\000\000\000\000\000\000\000\b\177\000\000\000\000\000\000\000\000\000\000\b\177\002\161\000\000\b\177\000\000\000\000\000\000\b\177\000\000\000\000\000\000\000\000\000\000\b\177\000\000\000\000\000\000\000\000\000\000\000\000\t\245\000\000\000\000\t\245\000\000\tY\000\000\000\000\000\000\b\177\023\166\000\000\000\000\000\000\000\000\000\000\t\245\000\000\000\000\000\000\000\000\t\245\t\245\t\245\000\000\t\245\t\245\000\000\t\245\000\000\000\000\000\000\000\000\000\000\000\000\t\245\000\000\000\000\t\245\000\000\b\177\000\000\000\000\b\177\000\000\000\000\000\000\000\000\006\229\000\000\000\000\000\000\000\000\t\245\000\000\000\000\b\177\000\000\t\245\t\245\006\229\b\177\b\177\b\177\000\000\b\177\b\177\000\000\b\177\000\000\000\000\006\229\000\000\006\229\000\000\b\177\000\000\006\229\b\177\000\000\000\000\000\000\000\000\006\229\000\000\000\000\000\000\000\000\000\000\006\229\000\000\000\000\006\229\b\177\000\000\000\000\006\229\000\000\b\177\b\177\000\000\000\000\006\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\174\000\000\000\000\000\000\000\000\006\229\000\000\000\000\000\000\000\000\000R\000V\000Z\000\146\000\000\000\150\000\000\000\154\000\158\000\162\000^\000\000\000\170\000\174\000\000\000v\000\000\000\182\000\000\000\186\001\146\001\150\000z\000\000\000\000\000\000\006\229\000\000\000\000\006\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\006\229\000\000\000\000\021\230\000\000\006\229\006\229\006\229\000\000\006\229\006\229\000\000\006\229\000~\000\000\020z\000\000\000\000\000\000\006\229\000\000\000\000\006\229\000\000\000\000\000\000\020~\000\000\020\130\000\000\000\000\000\000\020\134\001\158\000\000\000\000\000\000\006\229\020\138\0262\000\000\000\000\006\229\006\229\020\142\000\000\000\000\020\150\001\162\021\254\000\000\020\154\026&\tn\000\000\000\000\000\000\020\158\000\000\000\000\000\000\020z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tr\000\000\020~\020\162\020\130\000\000\000\000\000\000\020\134\000\000\000\000\000\000\000\000\000\000\020\138\000\000\000\000\000\000\000\000\000\000\020\142\000\000\000\000\020\150\000\000\000\000\000\000\020\154\000\000\000\000\000\000\000\000\000\000\020\158\020\166\000\000\000\000\020\170\000\000\000\000\000\000\020v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\162\020\174\000\000\000\000\020z\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\000\000\020~\000\000\020\130\t=\000\000\020\198\020\134\000\000\020\202\000\000\000\000\000\000\020\138\000\000\000\000\000\000\020\166\000\000\020\142\020\170\000\000\020\150\000\000\020\206\000\000\020\154\000\000\000\000\020\210\020\214\000\000\020\158\020\174\000\000\000\000\000\000\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\000\000\000\000\022\194\022\218\000\000\000\000\020\198\000\000\000\000\020\202\000\000\000\000\000\000\000\000\000\000\020z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\206\000\000\020~\000\000\020\130\020\210\020\214\000\000\020\134\020\166\000\000\000\000\020\170\000\000\020\138\000\000\000\000\000\000\000\000\000\000\020\142\000\000\000\000\020\150\000\000\020\174\000\000\020\154\023B\000\000\020\178\000\n\020\182\020\158\020\186\020\190\000\000\020\194\000\000\000\000\020z\000\000\000\000\000\000\020\198\000\000\000\000\020\202\000\000\020\162\000\000\020~\000\000\020\130\000\000\000\000\000\000\020\134\000\000\000\000\000\000\000\000\020\206\020\138\000\000\000\000\000\000\020\210\020\214\020\142\000\000\000\000\020\150\000\000\000\000\000\000\020\154\000\000\000\000\000\000\020\166\000\000\020\158\020\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\174\000\000\020\162\020v\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\000\000\000\000\020z\000\000\000\000\000\000\020\198\000\000\000\000\020\202\000\000\000\000\000\000\020~\000\000\020\130\000\000\000\000\000\000\020\134\020\166\000\000\000\000\020\170\020\206\020\138\000\000\000\000\000\000\020\210\020\214\020\142\000\000\000\000\020\150\000\000\020\174\000\000\020\154\020v\000\000\020\178\000\n\020\182\020\158\020\186\020\190\000\000\020\194\000\000\000\000\020z\000\000\000\000\000\000\020\198\000\000\000\000\020\202\000\000\024z\000\000\020~\000\000\020\130\000\000\000\000\000\000\020\134\000\000\000\000\000\000\000\000\020\206\020\138\000\000\000\000\000\000\020\210\020\214\000\000\000\000\000\000\020\150\000\000\000\000\000\000\020\154\000\000\000\000\000\000\020\166\000\000\020\158\020\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\174\000\000\020\162\000\000\000\000\020\178\000\n\020\182\000\000\020\186\020\190\000\000\020\194\000\000\000\000\000\000\000\000\000\000\000\000\020\198\000\000\000\000\020\202\000\000\000\000\015]\000\000\000\000\015]\000\000\000\000\000\000\000\000\020\166\000\000\000\000\020\170\020\206\000\000\000\000\000\000\000\000\020\210\020\214\000\000\000\000\000\000\000\000\000\000\020\174\000\000\015]\015]\000\000\020\178\024\166\020\182\000\000\020\186\020\190\000\000\020\194\000\000\000\000\000\000\000\000\015]\000\000\020\198\000\000\015]\020\202\015]\015]\000\237\000\000\000\000\000\237\000\000\000\000\004\198\000\000\015]\000\000\000\000\015]\020\206\015]\000\000\000\000\000\000\020\210\020\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015]\002\250\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\237\000\000\000\000\003\002\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\229\000\000\015]\015]\000\000\015]\000\000\000\000\000\000\015]\000\000\000\237\000\000\000\000\000\229\000\000\000\000\000\000\000\229\000\000\000\229\000\229\003\146\015]\000\000\001\017\000\000\015]\015]\000\000\000\229\000\000\000\000\003\002\015]\000\229\000\000\000\000\015]\015]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\003\026\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\229\002\250\000\000\000\000\000\000\001\017\000\000\001\017\003\154\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\000\003\"\000\000\000\000\003\002\000\000\003\018\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\000\003\146\000\000\000\000\001\005\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\003\n\000\000\003*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\003\026\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\253\000\000\002\250\000\253\000\229\000\229\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0032\003\"\000\000\001\017\003\002\000\000\003\018\003\n\000\000\002\242\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\002\250\001\017\001\017\000\000\000\253\000\000\000\253\000\253\000\000\003*\000\000\000\000\003\162\003:\000\000\000\000\000\253\000\000\000\000\003\002\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\0032\000\000\000\000\001\005\000\000\000\000\000\000\003\n\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\233\001\005\001\005\000\000\000\233\000\000\000\233\000\233\000\245\000\000\000\000\000\245\001\005\003:\000\000\000\253\000\233\000\000\000\253\003\002\000\000\000\233\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\003\026\000\253\000\000\000\000\000\000\000\253\000\253\000\000\000\000\000\000\000\000\000\000\000\000\000\233\002\250\000\000\000\253\000\253\000\245\000\000\000\245\000\245\000\000\000\249\000\000\000\000\000\249\000\000\000\000\000\000\000\245\000\000\000\000\003\002\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\003\026\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\003\n\000\000\000\245\000\000\002\250\000\000\000\000\000\000\000\249\003\146\000\249\000\249\001\r\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\249\000\000\000\000\003\002\000\000\003\018\000\000\000\000\000\000\000\233\000\233\000\000\000\000\000\000\000\000\002\242\003\026\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\245\000\000\000\000\000\000\003\n\002\250\000\000\003*\000\000\001\r\000\000\001\r\003\154\000\000\001\001\000\000\000\000\001\001\000\245\000\000\000\000\003\"\000\245\000\245\003\002\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\000\002\242\003\026\000\000\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\249\000\000\000\000\003*\003\n\002\250\000\000\000\000\000\000\001\001\000\189\001\001\001\001\000\000\003\146\000\000\000\000\000\000\000\249\000\000\000\000\003\"\000\249\000\249\003\002\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\249\000\249\000\000\002\242\003\026\000\000\000\000\002\242\003\026\000\000\0032\000\000\000\000\001\r\000\000\000\000\000\000\003\n\002\250\000\000\003*\000\000\002\250\000\000\000\189\000\189\000\000\000\197\000\209\003\154\000\000\001\r\000\000\000\000\000\189\001\r\001\r\003\002\003\"\003\018\000\000\003\002\000\000\003\018\000\000\000\000\001\r\003:\000\000\000\000\000\000\000\000\000\000\002\242\003\026\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\001\001\000\000\000\000\003*\003\n\002\250\000\000\003*\000\000\000\000\000\000\000\197\000\197\000\000\000\000\000\000\000\000\000\000\001\001\000\000\000\000\003\"\001\001\001\001\003\002\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\001\001\001\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\0032\000\000\000\000\003\n\000\000\000\000\003*\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\209\000\000\000\000\000\189\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\189\000\189\000\000\000\000\000\209\003:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\197\000\197"))
let lhs =
- (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\027\001\027\001\027\001\026\001\026\001\026\001\026\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\021\001\021\001\021\001\021\001\020\001\019\001\019\001\019\001\018\001\018\001\018\001\017\001\017\001\017\001\016\001\016\001\016\001\015\001\014\001\r\001\012\001\012\001\011\001\011\001\n\001\n\001\t\001\t\001\b\001\b\001\007\001\006\001\005\001\004\001\003\001\002\001\001\001\000\000\255\000\254\000\253\000\252\000\251\000\250\000\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\245\000\244\000\244\000\244\000\244\000\243\000\243\000\243\000\243\000\242\000\242\000\242\000\242\000\241\000\241\000\241\000\241\000\240\000\240\000\240\000\240\000\239\000\239\000\239\000\239\000\238\000\238\000\238\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\236\000\235\000\235\000\235\000\235\000\234\000\234\000\233\000\232\000\231\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\228\000\227\000\227\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\222\000\221\000\221\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\216\000\215\000\214\000\213\000\213\000\212\000\212\000\211\000\211\000\210\000\210\000\209\000\209\000\208\000\207\000\207\000\206\000\206\000\206\000\206\000\206\000\205\000\205\000\205\000\204\000\203\000\202\000\202\000\202\000\202\000\201\000\201\000\200\000\199\000\199\000\199\000\199\000\199\000\198\000\198\000\198\000\198\000\197\000\197\000\197\000\197\000\196\000\196\000\196\000\196\000\195\000\194\000\194\000\193\000\193\000\193\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\186\000\186\000\185\000\185\000\184\000\184\000\184\000\184\000\184\000\183\000\183\000\183\000\182\000\182\000\182\000\182\000\181\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\172\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\143\000\142\000\142\000\141\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\132\000\131\000\130\000\130\000\130\000\129\000\129\000\129\000\128\000\128\000\128\000\128\000\127\000~\000}\000|\000{\000z\000y\000y\000x\000x\000x\000w\000w\000v\000v\000v\000u\000u\000t\000s\000s\000s\000r\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000l\000l\000l\000l\000l\000k\000k\000k\000k\000k\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000\\\000[\000[\000Z\000Z\000Z\000Z\000Y\000X\000W\000W\000W\000V\000V\000V\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000G\000F\000E\000D\000D\000C\000C\000B\000A\000A\000A\000@\000@\000?\000?\000>\000=\000=\000=\000=\000=\000=\000=\000<\000<\000<\000<\000<\000<\000<\000;\000;\000;\000;\000;\000:\000:\0009\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000'\000&\000&\000&\000%\000%\000%\000%\000$\000$\000#\000\"\000\"\000\"\000!\000!\000!\000!\000!\000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
+ (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\0018\0018\0018\0017\0017\0017\0017\0016\0016\0016\0016\0015\0015\0015\0015\0015\0015\0015\0015\0015\0015\0015\0015\0015\0015\0015\0014\0014\0014\0014\0014\0014\0014\0014\0014\0014\0014\0014\0014\0014\0014\0013\0013\0013\0013\0013\0013\0013\0013\0013\0013\0013\0013\0013\0013\0013\0012\0012\0012\0012\0012\0012\0012\0012\0012\0012\0012\0012\0012\0012\0012\0011\0011\0011\0011\0011\0011\0011\0011\0011\0011\0011\0011\0011\0011\0010\0010\0010\0010\001/\001.\001.\001.\001-\001-\001-\001,\001,\001,\001+\001+\001+\001*\001)\001(\001'\001'\001&\001&\001%\001%\001$\001$\001#\001#\001\"\001!\001 \001\031\001\030\001\029\001\028\001\027\001\026\001\025\001\024\001\023\001\022\001\021\001\020\001\019\001\019\001\018\001\018\001\017\001\017\001\016\001\016\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\r\001\r\001\r\001\r\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\t\001\t\001\t\001\b\001\b\001\b\001\b\001\b\001\007\001\006\001\005\001\005\001\005\001\005\001\005\001\004\001\004\001\003\001\002\001\001\001\001\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\255\000\254\000\253\000\253\000\252\000\252\000\252\000\252\000\252\000\252\000\252\000\252\000\251\000\251\000\250\000\250\000\250\000\249\000\248\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\243\000\242\000\242\000\241\000\241\000\240\000\240\000\239\000\238\000\237\000\237\000\236\000\236\000\235\000\235\000\234\000\234\000\233\000\233\000\232\000\231\000\231\000\230\000\230\000\230\000\230\000\230\000\230\000\229\000\229\000\229\000\228\000\227\000\226\000\226\000\226\000\226\000\225\000\225\000\224\000\223\000\223\000\223\000\222\000\222\000\222\000\222\000\222\000\221\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\218\000\217\000\217\000\216\000\216\000\216\000\215\000\214\000\214\000\214\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\208\000\208\000\207\000\207\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\204\000\203\000\202\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\196\000\196\000\196\000\196\000\196\000\196\000\195\000\194\000\193\000\193\000\192\000\192\000\191\000\191\000\190\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\160\000\159\000\159\000\158\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\157\000\156\000\156\000\156\000\156\000\155\000\154\000\153\000\152\000\151\000\150\000\149\000\148\000\147\000\146\000\145\000\144\000\143\000\143\000\143\000\142\000\142\000\142\000\141\000\141\000\141\000\141\000\140\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\132\000\131\000\130\000\130\000\129\000\129\000\129\000\128\000\128\000\127\000\127\000\127\000~\000~\000~\000}\000}\000|\000{\000{\000{\000{\000z\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000x\000x\000w\000w\000w\000w\000w\000w\000w\000v\000v\000v\000v\000v\000v\000v\000u\000u\000u\000u\000u\000u\000u\000t\000t\000t\000t\000t\000t\000t\000s\000s\000s\000s\000s\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000p\000p\000o\000o\000n\000n\000m\000m\000l\000l\000k\000k\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000b\000b\000b\000a\000a\000`\000`\000`\000`\000_\000^\000]\000]\000]\000\\\000\\\000\\\000[\000[\000[\000[\000[\000[\000Z\000Z\000Z\000Z\000Z\000Z\000Z\000Z\000Y\000Y\000Y\000Y\000Y\000Y\000Y\000Y\000X\000X\000X\000X\000X\000X\000X\000X\000W\000W\000W\000W\000W\000W\000W\000W\000V\000V\000U\000U\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000L\000K\000J\000I\000I\000H\000H\000G\000F\000F\000E\000E\000E\000D\000D\000C\000C\000B\000A\000A\000A\000A\000A\000A\000A\000@\000@\000@\000@\000@\000@\000@\000?\000?\000?\000?\000?\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000,\000,\000,\000,\000,\000,\000,\000,\000+\000+\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000*\000)\000)\000)\000(\000(\000(\000(\000'\000'\000&\000%\000%\000%\000$\000$\000$\000$\000$\000$\000$\000$\000#\000#\000\"\000\"\000!\000 \000\031\000\031\000\031\000\031\000\030\000\030\000\030\000\029\000\029\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\026\000\026\000\026\000\026\000\025\000\025\000\024\000\024\000\024\000\024\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\015\000\014\000\014\000\014\000\014\000\014\000\r")
let goto =
- ((16, "\003\152\003Z\000\000\000\000\000\000\000\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\0019\003\150\000\000\000\225\000O\000\000\000\000\000\000\001\020\000\000\0010\001v\000\000\000\000\001\174\000\000\001\226\000\000\000\000\000\000\002<\000\000\002\168\000\000\000\000\000\000\003\020\000\000\003(\000\000\000\000\003\152\000\000\004\022\005\030\000\000\000\000\005(\000\000\005\180\000\000\000\000\000\000\006\014\000\000\006@\000\000\006\220\000\000\006\254\000\000\007B\007D\000\000\000\000\007\168\000\000\007\186\000\000\002\000\000c\t\014\000\000\000\000\000\000\004T\000\000\000\000\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tD\000\000\000\000\000\145\n\222\000\000\000\000\011\"\000\000\000\000\000\000\000\000\b8\000\000\b\172\t\020\000\000\b\222\000\000\000\000\b\226\000\000\000\000\b\236\000\000\b\254\000\000\000\000\000\000\tB\000\000\002P\t\148\000\136\000\000\000\000\000\000\000\000\006\178\002>\004j\000\000\000\000\000\000\t\170\000\000\000B\000\000\003\206\000\251\007\174\000\000\000\000\003\170\000\000\000\r\000\000\000@\015\146$r\000\156$r\0202\b\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\162\000\156\000\000\000\000\021\226\000\000\030\198\000\000\018\016\000\000\000\000\000\000\000\000\003 \000\000\000\134$\144\000\000\005*\000\000\005\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\000\r\160\000\000\015\220\000\000\017\012\000\000\018X\000\000\020\020\000\000\023(\000\000\0258\000\000\028\210\000\000\0296\000\000!\238\000\000\t$\000\000\020\\\000\000\000\000\000\000\000\000\000\000'\170\000\0007z\000\0007\232\000\000\r\250\000\000\000\000\014\b\000\000\000\000\000\000\000\000\000\000\000\197\016\020\000\000\000\189\000\000\000\000\000B\005\004\000\000\000\176\t\202\000\000\000\000\n\168\000\000\n\188\n\214\000\000\000\000\n\232\000\000\011\002\000\000\000\000\000\000\011\026\000\000\011 \000\000\0118\000\000\011Z\000\000\000\000\011\\\000\000\011d\011f\000\000\000\000\011x\000\000\011\130\000\000\000\000\000\000\011\134\000\000\011\138\000\000\011\142\000\000\011\168\000\000\011\182\011\194\000\000\000\000\011\200\000\000\011\202\000\000\0042\012x\000\000\011\210\000\000\011\212\014\n\000\000\011\226\000\000\000\000\011\246\000\000\012\012\000\000\012\016\000\000\000\000\000\000\012\018\000\000\012\020\bb\000\000\012\026\000\000\005\226\000n\000\000\006\022\000\000\007&\000\000\000\000\001\188\n.\000\000\000\000\000\000\006\"\015\158\000\000\018j\000\000\000\000\000\000\004p\000\000\004\144\000\000\006$\000\000\000\000\000\000\000\000\000\000\000\000\b\140\000\000\000\000\000\000\000\000\000\000\019X\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\176\005\190\b\168\000\000\012\028\000\000\012\030\n\198\000\000\012N\000\000\000\000\007L\000\000\000\000\000\000\000\000\000\170\000\000\000\000't\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\202\b\154\000\000\000\000\000\000\022t\000\000\023\184\006\160\000\000\000\000\000\000\005\216\000\000\011D\000\000\r\222(N\000\000\017V\000\000\026B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021z\000\000\021\166\000\000\026&\000\000\026`\000\000\026p\000\000 l\000\000!\018\000\000!B\000\000#\162\000\000%\190\000\000'\220\000\000*\174\000\000\002H\000\000)\246\000\000+d\000\000.D\000\000\000\000)\028\000\000\000\000\000\000)4\000\000\000\000\000\000\000\000\000\0002r\000\000\000\000\000\000\005\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\178\000\000\000\000\000\000\006&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\154\000\000\000\000\000\000\000\000\001*\000\000\000\0003.\000\000\000\000\000\000\000\230\001p\000\000\000\000\000\000\000\000\027(\000\000\028 \000\000\000\000\000\000\000\000\000\000)J\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\012R\012\n\000\000\012V\000\000\000\000\000\000\000\000\000\000\012\\\000\000\000\000\0015\007\194\000\000\b:\000\000\000\000\000\000\002\000\000\000\012:\000\029\012t\000\000\000\000\012~\000\000\012\132\012\136\000\000\000\000\012\138\000\000\012\160\000\000\000\000\000\000\012\164\000\000\012\192\000\000\012\202\000\000\012\206\000\000\000\000\012\216\000\000\012\220\012\250\000\000\000\000\012\252\000\000\012\254\000\000\000\000\000\000\r\004\000\000\r\b\000\000\r\016\000\000\r\030\000\000\r\"\r$\000\000\000\000\r(\000\000\r2\000\000\006\186\021\212\000\000\r4\000\000\r>\024\154\000\000\rB\000\000\000\000\r`\000\000\rz\000\000\r|\000\000\000\000\000\000\r\128\000\000\005\138\000\000\000\000\r\130\012\030\000\000\r\132\000\000\000\000\001\b\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\000\006\196\012\162\000\000\r\166\000\000\r\168\rR\000\000\r\170\000\000\000\000\014\200\r\198\000\000\000\000\r\200\000\000\r\206\r\210\000\000\000\000\r\216\000\000\r\220\000\000\000\000\000\000\r\248\000\000\r\252\000\000\014\006\000\000\014\012\000\000\000\000\014\014\000\000\014\016\014\022\000\000\000\000\014\024\000\000\014\026\000\000\000\000\000\000\014\030\000\000\014 \000\000\014\"\000\000\014(\000\000\0146\0148\000\000\000\000\014B\000\000\014N\000\000\0076\028\186\000\000\014P\000\000\014R\028\196\000\000\014Z\000\000\000\000\014\\\000\000\014^\000\000\014j\000\000\000\000\000\000\014n\000\000\014r\016\180\000\000\014x\000\000\000\000\007\132\016\246\000\000\014|\000\000\014~\018P\000\000\014\130\000\000\000\000\000\000\000\000\000\000\000\000\000\00032\000\000\004\168\000\0003P\000\000\000\000\b,\000\000\000\000\000\000\007\202\001\170\000\000\000\000\022B\006\168\000\000\006\018*\248\000\000\000\000)\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 2)\184\000\000!l\000\000!\186\004\158*\002\000\000\023\002\000\000\000\000\000\000\007\190\000\000\026:\000\000\000\0003\220\000\000\000\000\000\000\007\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\224\000\0004&\000\000\000\000\000\000\019D+\146\000\000\000\000\000\000+\170\000\000\000\000\000\000\000\000\b\170\000\000\000\000\000\000\000\000$\202\000\000\000\000'R\000\000\001E\000\000\000\000\000\000\000l\000\000\011v\000\000\022\018\000\000\025p\000\000\028\138\000\000&\140\000\000*\226\000\000,p\000\000-|\000\0000H\000\0001v\000\0001\224\000\0005\012\000\0007\150\000\000\000\000+\228\000\000\000\000\024\132+\238\000\000\000\000,\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\\\000\000\000\000\000\000\000\000\001\000\000\000\b\166\000\000\000\000\021&\000\000\000\000\000\000,\142\000\000\000\000\000\000\000\000\000\000\027(\000\000\000\000\000\000\000\000,\204\000\000\000\000\000\000\000\000\003\028\007X\000\000-T\000\000\000\000\000\000\000\000\015\140\000\000-b\000\000\000\000\000\000\000\000\0019\000\000\007\b\000\000\t\232\002,*&\000\000\000\000\000\000\004n\000\000\000\000\000\000\000\000\000\000\000\000\014\024*&\000\000\016>\000\000\020\168\005.\000\000\000\000\000\000\b\174\000\000!\\\000\000\000\0004~\000\000\000\000\000\000\b\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\142\000\000\030\002\000\000\000\000\000\000\002\020\000\000\000\000\000\000\000\000\000\000\000\000\030\252\000\000#\170\000\000.\254\000\000/\202\000\0001\174\000\0002\020\000\0002\236\000\0007\\\000\0008V\000\0008p\000\0008\146\000\000-\178\000\000\nH\000\0008\152\000\0008\172\000\0008\192\000\000*H\000\000\000\000\000\0004\224\000\000\000\000\000\000\000\017\000\0005\000\000\000\000\000\000\0005\026\000\000\000\000\003\176\000\000\0252\000!\005p\000\000\b\154\000\000\012\240\002\006\007\144\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\156\000\000%2\"\222\b\226\000\000\000\000\000\000.\004\000\000.b\000\000.\134\000\000%p%\216\000\194\0014\000\000\000C\005\186\000\000\000\000\000\000\005\238\000\000\000\000\006\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\182\000\000\000\000\000\000\000\000#<\000\000&\178\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\n\016\000\000\000\000\000\000\025\192\004@\000\000\025\254\000\000\000\000\015\140\000\000\004n\000\000\000\000\014\158\000\000\027p\000\000\000\000#\142\000\000\000\000\000\000\0128\000\000\000\000\b\248\000\000\000\000!\198\000\000\000\000\000\000.\208\000\000\000\000\000\000%\172\000\000\000\000\000\000\000\000/(\000\000\000\000\000\000\000\000\006\228\0230\000\000/\\\000\000\000\000\000\000\000\000\000\000\000\000\015\006\000\000\000\000\004\236\000\000\015D\000\000\0128\000\000\000\000\0028\023\130\000\000\003\180\000\000\000\000\000\000\000\000\002\020\000\000&\212\000\000\027\252\003\206\028:\000\000\003\248\000\000\016\002\000\000\017\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\222\028\248\002\152\029\250\000\000\000\000\000\000\004\210\000\000\017\148\000\000\004\246\000\000\000\000\012\190\005\180\030b\000\000\005\234\000\000\018\028\030\238\000\000\000\000\019\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\b\024\000\000\007H\000\000\000\000\000\000\000\000\005\194\000\000\019\144\000\000\000\000\000\000\"~5\188\000\000\000\000\000\000!\210\000\000\000\000\000\000\000\000\000\000\012X\t\000\000\000\000\000/\164\000\000\000\000\000m\000\000\t\134\000\000\000\000(n\000\000\000\000\000\000/\198\000\000\000\000\000\000\000\0000\128\000\000\000\000\b\006\0124\000\000\000\0000\154\000\000\000\000\007\234\"\146\000\000\012p\000\000\000\0000\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000#\238\000\000\000\000\000\000\001X\000\000\000\000\r\n\000\000\000\000(\250\000\000\000\000\000\0000\252\000\000\000\000\000\000\000\0001\026\000\000\000\000\b*\rh\000\000\000\0001x\000\000\000\000\b\220\000\000\000\000\000\000\000\000\002\020\002\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\000\019\248\000\000\000\000\000\0006\022\000\000\t&\000\000\000\000\000\000\005p\000\000\011\178\000\000\000\000\002<\021\004\000\000\021l\000\000\000\000\000\000\002d\000\0006\152\005\0246\178\000\0006\192\000\000\000\000\000\000\0050\000\0006\236\007\134\000\000\000\000'\018\007\214'\140\000\000(\020\000\000\000\000\000\000\t\002\000\0007n\n \000\000\000\000\026\172\n*\026\216\000\000\030v\000\000\000\000\000\000\np\000\0007\136\nv\000\000\000\000\000\000\000\220\000\000\000\000\000\000\007\254\000\000\000\000\000\000\000\000\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000K\000\000\000\000\006\144\000\000\000\000\015B\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015D\000\000\000\000\015\030\000\000\0009\000\000\000\000\000\016\000\000\b\186\014\198\001\014\000\000\000\000\b\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\190\br\000\000\000\000\017\132\000\000\000\000\000\000\011\014\000\000\000\000\012\238\024r\000\000\000\000\000\000\000\000\025\022\025b\003n\000\000\000\000\000\000\030\150\000\000\000\000\000\000\000\000\000\000\000\000\002\028\000\000\000\000\002\002\000\000\000\000\014\148\000\000\000\000\017\190\000\000\000\000\014|\000\000\002~\000\000\000\000\000\000\000\000\004\230\031\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\014 P\000\000\000\000\000\000\000\000\"\210\000\000\000\000\002\224\000\000\015T\000\000\000\000\000\000\012\176\000\000\003\164\000\000\000\000\000\000 \202\000\000\000\000\"\252\000\000\000\000\000\n\014\154\000\000\014\156\000\000$4\n\b\000\000&\132\000\000\000\000\000\000\000\000\014\162\000\000\015\028\000\000\000\000\000\000\030J\000\000\003\170\014\228\005\228\000\000\000\000\000\000\000{\001\006\000\000\000\000\000\000\000\000\001P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\018.\000\000\002\156\015t\004\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\002\000\000\000\000#H'&\000\000\000\000\000\000\000\000(\182\000\000\000\000\003\128\000\000\001d\r\128\000\000\000\000\000\000\b\190\000\000\000\000\000\000\000\000\000\000\000%\018\168\000\000\000\000\023x\000\000\000\000\000\000\000\000\019\210\000\000\000\000\007\136\000\000\000\000\000\000\000Y\000\000\000\000\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\184\000\000\000\000\000\000\003,\000\000\000\000\000\000\000\000\000\000\000\020\007<\r\148\r\162\000\000\004\134\005\146\006\190\t\158\000\000\000\000\000\000\000\000\000\000\000\000\n\186\022j\000\000\031~\007x\000\000\000\000\011\136\000\000\023\"\000\000\029\216\000\000\000\000\n\254\023`\000\000 T\000\000\011\142 \226\000\000\000\000\000\000\b2\004\134\000\000\000\000\000\000\000\000\b\238\000\000\017\208\002\030\000\000\000\000\003\004\006@\000\000\014j\000\000\000\000\004p\000\000\004\144\000\000\000\000\024\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\174\000\000\000\000\011\186\000\000\023\238\000\000\0128\015$\000\000\000\000\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\00022\000\000\000o\000\000\000\000\000\000\000\000\000\000\001v\000\000\n\022\n\158\n\164\000\000\003\b\011,\000\000\011>\000\000\003\152\000\000\004 \000\000\005\012\000\000\0128\000\000\000\000\000\000\000\000\000\000\005\148\000\000\011Z\000\000\006\028\000\000\0128\015\150\000\000\004\016\000\000\015\150\n\196\000\000\t\006\000\000\t\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n2\000\000\nz\000\000\000\000\000\000\014l\000\000\000\000\000\000\000\000\000\000\015\158\014|\000\000\000\000\014\180\000\000\000\000\014\134\n\b\015\218\000\000\015\226\000\000\000\000\004\208\002*\000\000\014\188\000\000\000\000\014\242\000\000\000\000\000\000\000\000\000\000\000\000\015\200\014\160\000\000\000\000\000\000\014\216\014\196\n6\b\142\014\242\015(\000\000\000\000\014\208\n\136\011@\014\250\0156\000\000\000\000\011X\016\012\000\000\016\016\000\000\0166\000\000\000\000\016\028\000\000\000\000\016\"\000\000\000\000\000\000\000\000\0160\000\000\016T\000\000\000\000\000\000\016Z\000\000\000\000\000\000\016d\000\000\000\000\000\000"), (16, "\003\214\003\237\000U\003`\006\167\0041\0042\005\211\002\142\0026\001\160\005v\001\170\006w\002\151\005\237\000\137\005\176\002\151\002\144\003\164\003\r\004\202\004\178\0028\000U\003\214\003\237\000\249\006\132\005\209\0072\000\249\006\250\0073\005\212\005\223\005\224\005\238\006\251\002\146\000U\000\137\002 \005\241\005\223\005\224\006\252\001\160\004\131\002\023\005\240\006\133\006i\006\136\005\223\005\224\000\025\004\132\000\251\003\216\000l\003_\000\250\003\217\000\137\000\139\000\145\000\183\000\144\003*\001\162\002\147\003.\005\238\001\163\006j\006m\005\223\005\224\005\241\005\223\005\224\001\160\004\132\001\170\003\216\000\137\000\139\001P\003\217\000\144\0077\000\018\000\181\006\177\006\193\006\194\000\190\000\137\000\137\000\139\000\140\002-\000\144\005\225\000\183\000\146\002\002\001\162\000\137\001\176\005x\001\163\005\225\000\017\000V\006\167\006\130\004\249\001}\003\242\000\007\000\244\005\225\006\180\006}\002\151\000\183\000\146\000\024\001\160\003/\001\170\000\147\000h\0030\003\165\006\254\000V\006\132\000\183\000\146\005n\001\162\006\206\000\005\005\225\001\163\001\176\005\225\002!\000\183\002\144\004m\004T\006\255\000\184\000a\000m\001\141\000\185\001\136\006\133\003\230\006\136\005\223\005\224\004r\000d\000k\000U\004s\004\133\002\148\003\231\004\251\004\216\002\"\001\224\004m\003\015\005'\006v\001\176\001\177\005\244\004X\004\198\000\183\003\230\001\143\001\162\006\175\004r\000\194\001\163\002\024\004s\004\133\007\000\003\231\003\164\003\214\003\237\006w\002\147\006\131\004]\007\001\004[\004w\001\141\004\179\007\030\004\210\0078\002\005\004\141\000\137\006z\004\233\005\253\001\177\006\252\0079\004\131\002\162\000U\004\170\003\246\002\162\001\176\005\231\003=\005\225\006\183\004w\006\185\004\136\007 \001\180\006w\001\142\004\141\003>\003\164\007\"\003\247\001N\005\229\005\206\005\207\003\248\000\137\004\170\003\246\003\249\001\177\001\181\006\149\004\132\003\250\003\216\001\182\004\\\003\015\003\217\001\183\000\195\001Q\001N\007L\001\184\003\247\003\214\003\237\005\245\001|\003\248\001\225\001\240\005\230\003\249\001N\004T\002!\000U\003\250\000\137\001\178\000\137\001Q\001\252\003\214\003\237\003\r\004\202\004\178\000\196\001|\002\011\000\137\000\137\001\179\001Q\001\177\000\028\001\160\004^\001\161\006#\000\255\001|\001\180\002\017\000\147\004U\006x\003\165\003a\000 \001]\000\255\006 \004_\000\228\007\131\000\137\001g\000U\007M\001\181\004\132\003d\003\216\002\014\001\182\002\r\003\217\002\162\001\183\004T\001`\000\181\000\198\001\184\006\147\000\182\000\229\001\217\000\005\000\183\000\230\003\216\006x\000\031\004m\003\217\000\200\000\147\000U\001\180\004\159\003\170\006\142\000\183\003\230\002\012\001\162\004\222\004r\007\n\001\163\004U\004s\004\133\007N\003\231\007\022\001\181\002\149\0067\0068\000\"\001\182\007\001\005\231\003\174\001\183\006{\007P\000\249\005\248\001\184\004\217\003\242\006\143\000\244\006\144\003\164\000\147\000\183\002\012\003\214\003\237\004\193\000\184\005R\001\176\000$\000\185\0069\006J\004w\003\242\004\136\007R\000\137\0029\000\137\004\141\006:\003\245\007T\006\252\007>\004\178\006\145\004m\001}\001h\004\170\003\246\0028\000\244\006K\004\195\006\146\003\230\006N\005\223\005\224\004r\000p\000\194\005\130\004s\004\133\003\016\003\231\003\247\004\219\001\141\001w\000(\003\248\001a\003\230\001b\003\249\005\132\004\132\004\198\003\216\003\250\005\133\000\255\003\217\003\231\006\167\000U\003\177\003\149\000U\002%\003\214\003\237\007I\000\004\002\151\005\132\003\244\001\177\001\143\000\181\004w\007\018\004\179\002\029\004\210\000\137\000\137\004\141\006!\006\132\004\233\006\252\007>\004\178\006~\005m\000\255\000\005\004\170\003\246\007\r\006!\007\014\000*\005\225\006\022\005\223\005\224\000\147\000\255\000\255\004\159\006\133\000\195\006\136\005\223\005\224\003\247\003\246\004\204\004\224\005h\003\248\0067\0068\006$\003\249\000\252\004\132\006\208\003\216\003\250\006\209\001\210\003\217\000\255\003\247\000\183\003\214\003\237\004\204\003\248\000\184\000\196\007C\003\249\000\185\006\213\007*\007+\003\250\001\181\004m\006O\000\137\000U\005R\000.\006\127\006\252\007>\004\178\003\230\006:\004\128\001\184\004r\0000\006\128\006\129\004s\004\133\007D\003\231\007\146\005\225\004\129\003\214\003\215\000\\\000\194\007\001\000\187\006\023\005\225\006\170\004u\004\135\007\147\000\198\004\193\000\137\000\139\000\140\000\141\000\144\004\132\000]\003\216\004\129\006\206\003*\003\217\000\202\003.\000U\003\214\003\237\007/\004w\006\221\004\179\007E\007F\006P\007\r\004\141\007\014\000\r\007H\007\021\004\194\000U\0003\004m\000\255\003\015\004\170\003\246\004f\005|\006\198\006\199\000\146\003\230\000\183\000U\003\216\004r\000\016\000\017\003\217\004s\004\133\007D\003\231\003\247\003\164\006\203\004\222\004\184\003\248\000U\007\001\000\195\003\249\003\214\003\237\004u\000\183\003\250\006\206\004\129\003/\003W\000\004\003\216\0030\000\137\000\147\003\217\000\181\000\137\003\214\003\215\000\192\004\212\006\252\007>\004\178\000\b\004w\006\132\004\179\000\196\007F\0007\002\162\004\141\000\005\0021\007H\004m\0066\005\223\005\224\006\173\004\207\000\255\004\170\003\246\006\206\003\230\0041\0042\006\133\004r\006\136\005\223\005\224\004s\004\133\007D\003\231\004\132\007\155\003\216\002#\003\247\0019\003\217\007\001\005k\003\248\003\214\003\237\004u\003\249\005i\000\183\007G\000\183\003\250\003\216\000\184\000\137\000V\003\217\000\185\000\181\000\137\003\230\004\230\000\192\006\221\006\252\007>\004\178\005k\004w\001p\004\179\003\231\007F\004\230\000^\004\141\005\004\007\132\007H\004m\000\147\004\235\005\225\003\165\003=\001k\004\170\003\246\004\129\003\230\006\225\000\194\004\232\004r\001N\003>\005\225\004s\000\137\000\139\003\231\004\132\001O\003\216\004\231\003\247\003*\003\217\004\235\003D\003\248\003\214\003\237\004u\003\249\001Q\000\183\007O\005\244\003\250\000U\000\184\000U\001|\004\227\000\185\005\140\000\137\003\170\004m\000\137\000\137\006\252\007>\004\178\000U\004w\0006\005\143\003\230\000\146\005\142\0009\004r\003\236\000\137\000U\004s\004\133\007D\003\231\007\139\003\174\005\142\000U\003\246\003\230\004S\007\001\000\194\0044\002\134\004\245\004u\000\183\000\195\000U\003\231\003/\004\132\003@\003\216\0030\003\247\000U\003\217\005y\001\160\003\248\001\161\003\147\003*\003\249\004W\003.\007S\004w\003\250\004\179\004\238\007F\006\139\000\254\004\141\005\219\000\196\007H\004m\001r\001]\000\255\000U\000\137\002+\004\170\003\246\001g\003\230\006\152\005\245\005\220\004r\000;\006\221\007\n\004s\004\133\007D\003\231\001`\001`\007\017\000\197\003\247\006\224\000U\007\001\001}\003\248\003\214\003\237\004u\003\249\000\195\004T\000\183\001\130\003\250\001\162\003W\003\232\000\198\001\163\003/\000\146\000\137\000\239\0030\000U\001\165\003\r\004\202\004\178\000U\004w\000\200\004\179\000?\007F\000\252\004T\004\141\004Z\000\196\007H\004m\004U\000\255\001\233\004\171\003=\000\137\004\170\003\246\003\138\003\230\006\216\005x\001\176\004r\000\147\003>\000A\004s\004\133\007D\003\231\004\132\001\247\003\216\000\197\003\247\004U\003\217\007\001\006\233\003\248\003\214\003\237\004u\003\249\005\222\000U\001Q\001\139\003\250\003\015\004\129\001h\000\198\000U\001|\000\181\000\137\000\199\000\147\000\190\005\220\003\r\004\202\004\178\000U\004w\000\200\004\179\006p\007F\000U\001z\004\141\003Y\001i\007H\001a\001a\001b\001b\001u\000\137\004T\004\170\003\246\000\137\000\255\000\255\003=\003\142\003\127\007\r\000U\007\014\006\189\001\177\003\\\004\254\004\132\003>\003\216\000\255\003\247\000C\003\217\002u\003\148\003\248\003\214\003\237\002\156\003\249\004\254\000\183\004U\001}\003\250\006\223\000\184\003\141\000E\000U\000\185\005\208\000\137\003\130\004m\003\014\005\000\003\r\004\202\004\178\003_\001}\000\137\002\030\003\230\000\137\000U\003\r\004r\000\137\006\216\004\255\004s\004\133\005\209\003\231\005q\004\216\001Q\005\212\005\223\005\224\000I\000H\000\194\005-\001|\000\147\004u\000\137\000\139\000\140\001K\000\144\004\132\002\220\003\216\001\235\0041\0042\003\217\000\181\003a\005X\003\184\000\190\000\147\003\014\005\146\006\227\000\137\004w\000\147\004\179\006\003\004\210\003b\000\137\004\141\006\191\005^\004\146\004m\005\142\000\137\000\139\000\140\001\127\000\144\004\170\003\246\000\146\003\230\000K\002\247\001T\004r\006\004\005\223\005\224\004s\004\133\000M\003\231\004\214\004\216\005\154\006\218\003\247\005\225\006\132\005`\005\247\003\248\001\137\000\255\004u\003\249\000\195\000\183\003\178\005\156\003\250\0032\000\184\000U\000\146\000U\000\185\000U\000\181\003\214\003\237\006\133\000\190\006\136\005\223\005\224\001]\004w\003;\004\179\000\227\004\210\003\182\001g\004\141\000\137\000\196\004\146\004m\000U\003\r\004\202\004\178\000U\003\191\004\170\003\246\001`\003\230\000\183\000\194\005\251\004r\000o\000U\005\225\004s\004\133\000U\003\231\004\253\004\216\0023\000\228\003\247\000U\003\151\004\133\000U\003\248\000\255\007e\004u\003\249\003\176\007\151\000\183\004\132\003\250\003\216\006\217\000\184\000\198\003\217\0043\000\185\000\229\003\214\003\237\005^\000\230\005\245\000U\005\225\005\252\004w\000\200\004\179\000\224\004\210\006\221\000`\004\141\000\137\000l\004\146\005\226\005z\003\r\004\202\004\178\000u\004\141\004\170\003\246\004\146\003\214\004\030\006\253\000\194\005_\001N\0025\004\170\000\195\000U\003\176\000\147\000c\003V\000\255\003\219\003\247\0041\0042\001h\000t\003\248\000w\003\214\003\237\003\249\001Q\000z\005\157\004\132\003\250\003\216\001\154\007\139\001|\003\217\000|\003\228\000\196\000\137\001N\004C\001n\005\156\006\252\001a\004\131\001b\003\214\003\215\007\003\000\137\000\147\006\007\001\255\000\255\000\147\004m\000\183\003\154\003\216\001Q\000\255\000V\003\217\000\228\000V\003\230\007e\001|\000\128\004r\006\022\005\223\005\224\004s\004\133\000\195\003\231\005u\004\216\004\132\000a\003\216\000\198\000a\000r\003\217\000\229\006\171\000V\004u\000\230\000d\003\214\003\237\000d\007l\000\200\007K\004\150\000\227\0041\0042\005\022\007e\000\183\000\196\003\216\000a\000\137\0020\003\217\007;\004w\006\252\004\179\004\131\004\210\001]\000d\004\141\000\143\000\147\004\146\004m\001v\000\137\000\139\000\140\001\132\000\144\004\170\003\246\000\228\003\230\0041\0042\001\001\004r\001`\007e\005\225\004s\004\133\006\222\003\231\007\028\004\216\007\129\006_\003\247\004\132\000\198\003\216\004{\003\248\000\229\003\217\004u\003\249\000\230\003\214\003\237\003\230\003\250\007J\000\200\007m\000\146\007<\005\030\007\150\005\160\001\160\003\231\001\170\004m\000\137\005\168\006\003\000U\004w\006\252\004\179\004\131\004\210\003\230\005\142\004\141\000\137\004r\004\146\007;\005\170\004s\004\133\007=\003\231\003*\004\170\003\246\003.\006\004\005\223\005\224\007\001\007;\0041\0042\007f\007@\003\230\007\157\005\171\000U\005\174\000g\006\236\003\247\004\132\000\181\003\216\003\231\003\248\001\254\003\217\007\187\003\249\005\170\004\129\005\142\000\183\003\250\004w\001\162\004\136\007B\007?\001\163\006\229\004\141\007\188\007\031\007H\000\137\007A\007h\004m\001\004\003\r\000j\004\170\003\246\001a\004\129\001b\000\183\003\230\001\b\007Q\003/\004r\007\140\000\255\0030\004s\004\133\007=\003\231\001\224\003\247\001\007\005\225\006\243\001\176\003\248\007\001\004\020\000\183\003\249\001\n\007@\007j\000\184\003\250\007\140\003\184\000\185\000\137\000\139\000\140\002'\000\144\001\012\000V\003\247\003\214\003\237\000\137\000\139\000\140\002\138\000\144\007\158\004w\001\016\004\136\007B\001\018\003\250\001N\004\141\000\137\000a\007H\004m\006\221\003\r\007p\004\131\001\020\000\194\004\170\003\246\000d\003\230\007\140\000\137\000V\004r\000\146\001Q\003\015\004s\004\133\007=\003\231\001\022\001\025\001|\000\146\003\247\001\029\001\028\007\001\006\248\003\248\000a\001\177\007@\003\249\000U\001\031\003\164\004\132\003\250\003\216\001!\000d\001%\003\217\001'\003=\001)\000\137\000\139\000\140\002\153\000\144\005\021\001\225\001\226\004w\003>\004\136\007B\001+\007\139\005{\004\141\001\178\000U\007H\001/\006M\000U\006\n\003\214\003\237\001.\004\170\003\246\0011\0013\001\179\000\195\005}\0018\001>\003\015\004\248\004\133\000\255\000\137\001\180\001=\000\146\006K\003\r\003\247\004\131\006N\005\223\005\224\003\248\001@\003\214\003\237\003\249\006\003\003\164\000l\001\181\003\250\004|\000\196\001B\001\182\001D\001H\001\140\001\183\000\137\001M\001\129\001\135\001\184\003\r\004~\004\131\001\217\005z\006\004\005\223\005\224\004\132\004\141\003\216\003a\004\146\004m\003\217\000\137\000\139\000\140\002\158\000\144\004\170\000U\001\134\003\230\002*\003f\002)\004r\000\147\002/\000\147\004s\004\133\004\159\003\231\001N\001\141\004\132\000\181\003\216\006\225\002=\000\182\003\217\005\225\001N\002@\004\237\000\137\002D\004\246\002C\002F\006\216\004\248\000\137\001Q\000\146\000\147\001\160\006\216\001\238\000V\002H\001|\002L\001Q\001\143\000U\001\160\004w\001\170\004\136\004\239\001|\005\225\005.\004\141\004\164\002N\004\146\000a\0016\000\181\002P\000\137\002R\000\192\004\170\003\246\000\181\002U\000d\002Y\000\192\005\027\000\183\000\147\003\214\003\235\004\159\000\184\004\168\005,\004m\000\185\0057\003\247\002X\002[\002]\001N\003\248\002a\003\230\002c\003\249\000\183\004r\002e\001\162\003\250\004s\004\133\001\163\003\231\002g\000\183\002k\002j\001\162\002m\001Q\004m\001\163\000\147\002o\002t\004\237\000\194\001|\000\183\002z\003\230\002y\004\164\000\184\004r\000\183\000U\000\185\004s\004\133\000\184\003\231\000\137\000\183\000\185\003\216\002|\001\176\004w\003\217\004\136\004\239\003\214\003\237\004\183\004\141\004\168\001\176\004\146\002~\002\128\004\138\002\132\002\141\002\140\006,\004\170\003\246\000\137\000\147\005I\000\194\000l\003\r\004\139\004\178\006\016\004w\000\194\004\136\004\185\002\155\002\161\002\160\004\141\003\247\001N\004\187\006*\002\242\003\248\006-\005\223\005\224\003\249\004\170\003\246\002\164\002\167\003\250\000\195\002\171\006\226\002\170\003\214\003\237\002\173\001Q\002\175\006\217\004\132\007\n\003\216\004\181\003\247\001|\003\217\005Y\007\012\003\248\000\137\001\177\002\179\003\249\002\181\003\r\004\139\004\178\003\250\002\183\000\196\001\177\002\185\002\188\002\192\003\214\003\237\002\191\002\194\002\196\006\218\002\200\002\202\002\204\004\186\000\195\002\206\006\218\000\255\003\230\000V\000\137\000\195\002\210\002\209\000\255\003\r\004\139\004\178\002\212\003\231\005\225\004\132\001\178\003\216\002\214\002\219\002\225\003\217\000a\001;\002\224\002\227\002\229\000\181\000\196\000\198\001\179\000\190\002\231\000d\002\235\000\196\002\241\001\220\000\255\002\240\001\180\002\246\002\252\000\204\002\251\005\217\004\132\006\001\003\216\000\137\005\236\005\250\003\217\006&\006I\000\197\006Z\006\\\001\181\004m\006f\003\015\000\197\001\182\000\181\006h\006r\001\183\000\182\003\230\006\141\007(\001\184\004r\000\198\007V\001\221\004s\004\133\000\238\003\231\000\198\000U\003\214\003\237\000\183\000\241\007Z\000\200\007n\000\184\007t\000\181\004u\000\185\000\200\000\190\007u\007\r\000\137\007\014\007z\007{\007\128\003\r\004\202\004\178\007\127\000\255\007\135\007\137\004m\007\143\003\214\003\234\007\144\004w\001]\004\179\007\148\004\180\003\230\000\183\004\141\001q\004r\004\146\000\184\000\194\004s\004\133\000\185\003\231\007\149\004\170\003\246\007\152\007\153\001`\007\156\007\159\004\132\004m\003\216\007\160\004u\007\177\003\217\007\166\000\242\000\183\007\175\003\230\003\247\007\171\000\184\004r\007\174\003\248\000\185\004s\004\133\003\249\003\231\007\183\000\194\007\181\003\250\004w\007\185\004\179\000\183\004\180\003\216\007\190\004\141\004u\003\217\004\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\170\003\246\000\137\000\139\000\140\002\238\000\144\000\194\000\000\000\000\000\147\000\000\000\000\004w\000\000\004\179\000\195\004\180\000\000\003\247\004\141\000\000\000\000\004\146\003\248\000\000\003\214\003\237\003\249\000\000\000\181\004\170\003\246\003\250\000\182\000\137\000\139\000\140\002\244\000\144\000\246\000\000\000\137\000\000\000\146\000\000\000\196\003\r\004\202\004\178\003\247\004m\000\000\000\195\000\000\003\248\000\000\000\000\003\185\003\249\000\000\003\230\000\000\000\000\003\250\004r\001a\000\181\001b\004s\004\133\000\192\003\231\000\228\004\209\000\000\000\255\000\146\000\000\000\000\000\000\000\195\003\189\000\196\004\132\004u\003\216\000\000\000\183\000\000\003\217\003\230\000\198\000\184\000\000\000\000\000\229\000\185\003\214\003\237\000\230\000\000\003\231\000\000\000\000\000\248\000\200\000\000\004w\000\000\004\179\000\196\004\210\000\000\000\137\004\141\000\000\000\000\004\146\003\r\004\202\004\178\000\000\006\006\000\000\000\183\004\170\003\246\000\000\000\198\000\184\000\194\000\000\000\000\000\185\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\206\000\137\003\247\006\004\005\223\005\224\006)\003\248\000\000\000\000\000\000\003\249\000\000\004\132\000\198\003\216\003\250\000\181\000\229\003\217\000\000\000\182\000\230\003\214\003\237\000\194\000\000\000\000\000\200\006*\000\000\000\000\006-\005\223\005\224\000\000\000\000\004m\000\000\000\137\000\000\000\000\000\000\001N\003\r\004\240\004\178\003\230\000\000\000\000\000\000\004r\000\000\000\181\000\000\004s\004\133\000\182\003\231\000\000\004\211\000\000\000\195\006\135\001Q\000\137\000\139\000\140\002\249\000\144\007\n\004u\001|\005\225\000\000\000\183\001N\007\023\000\137\000\000\000\184\004\132\000\000\003\216\000\185\000\000\006\133\003\217\006\136\005\223\005\224\000\000\000\196\000\000\004w\000\000\004\179\001Q\004\210\000\195\000\000\004\141\005\225\000\000\004\146\001|\000\000\000\146\000\000\004m\000\000\000\183\004\170\003\246\000\000\000\000\000\184\000\000\000\194\003\230\000\185\000\000\000\000\004r\006\132\004\242\000\000\004s\004\133\000\196\003\231\003\247\004\229\000\000\000\000\000\000\003\248\000\000\000\198\000\000\003\249\003\214\003\237\004u\000\000\003\250\001]\006\133\000\000\006\136\005\223\005\224\000\208\001_\000\194\000\000\000\197\000\137\005\225\000\000\000\000\000\000\003\r\004\240\004\178\000\000\004w\001`\004\179\000\000\004\210\003*\000\000\004\141\003.\000\198\004\146\004m\000\000\007\024\001\172\000\000\000\000\000\000\004\170\003\246\000\000\003\230\000\000\000\200\000\000\004r\000\195\000\000\000\000\004s\004\133\000\137\003\231\004\132\000\000\003\216\007\025\003\247\007\r\003\217\007\014\000\000\003\248\003\214\003\237\004u\003\249\006;\000\255\000\000\000\000\003\250\005\006\005\225\000\000\000\000\000\196\000\000\000\000\000\137\000\000\000\000\000\195\003W\003\r\004\139\004\178\003/\004w\000\000\004\179\0030\004\243\000\000\000\000\004\141\000\000\004\244\004\146\000\000\000\000\000\000\000\000\001N\000\000\000\000\004\170\003\246\000\000\000\000\000\000\000\000\000\196\000\000\000\000\003\214\003\237\000\000\003\138\001]\000\000\004\132\001\249\003\216\001Q\003\247\001t\003\217\006i\000\181\003\248\000\137\001|\000\182\003\249\001a\003\r\001b\004\131\003\250\001`\000\000\000\000\000\000\001\160\000\255\001\170\000\000\000\000\004m\000\000\006j\006m\005\223\005\224\000\000\000\000\000\000\000\198\003\230\000\000\000\000\000\000\004r\000\000\000\181\000\000\004s\004\133\000\182\003\231\000\000\000\210\004\132\003Y\003\216\000\000\000\000\000\000\003\217\000\000\000\000\000\000\004u\000\000\006\178\000\000\000\183\000\000\003=\003\139\003\127\000\184\000\000\000\000\000\000\000\185\003\\\000\000\000\000\003>\000\000\000\183\003\214\003\233\001\162\004w\000\000\004\179\001\163\004\243\000\000\000\000\004\141\000\000\005o\004\146\004m\000\000\004\248\003\141\000\000\005\225\000\183\004\170\003\246\003\130\003\230\000\184\000\000\000\194\004r\000\185\003_\000\000\004s\004\133\000\000\003\231\000\000\000\000\000\000\002\002\003\247\000\000\001\176\000\000\000\000\003\248\003\214\003\237\004u\003\249\000\000\001a\000\000\001b\003\250\000\000\000\000\000\000\000\183\000\000\003\216\000\255\000\137\000\194\003\217\000\000\004m\003\r\000\000\004\131\000\000\004w\003a\004\179\000\000\004\180\003\230\000\000\004\141\000\137\004r\004\146\000\000\000\000\004s\004\133\003b\003\231\000\000\004\170\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\237\004\237\000\195\000\000\000\000\004\132\001\160\003\216\001\161\003\247\000\000\003\217\000\000\000\000\003\248\000\137\000\000\001\177\003\249\000\000\003\r\000\000\004\131\003\250\004w\000\000\004\136\004\239\001\160\002\003\001\161\004\141\000\196\006\186\004\146\000\000\000\000\000\000\000\195\000\000\000\000\000\000\004\170\003\246\000\000\000\000\000\000\005\127\001]\002\005\000\000\004\248\000\000\000\000\000\000\001g\000\000\004\132\000\181\003\216\000\000\003\247\001\251\003\217\000\183\003\230\003\248\001\162\000\196\001`\003\249\001\163\000\000\001\180\000\000\003\250\003\231\000\000\000\198\000\000\000\000\000\000\003*\000\000\000\000\003.\000\183\000\000\000\000\001\162\000\000\001\181\000\212\001\163\000\000\000\226\001\182\000\000\000\000\005\129\001\183\004m\000\000\004\248\000\000\001\184\000\181\001\176\000\000\000U\000\190\003\230\000\000\000\000\000\198\004r\000\183\000\000\000\000\004s\004\133\000\184\003\231\000\000\000\000\000\185\003\214\003\237\000\200\001\176\000\000\001\160\000\000\001\237\000\000\004\237\000\000\000\000\000\000\000\000\000\183\000\000\000\137\000\000\003/\000l\000\000\003\r\0030\004\131\001\160\000\000\001\161\004m\000\000\000\000\000\000\001h\004w\000\194\004\136\004\239\000\000\003\230\000\183\004\141\000\000\004r\004\146\000\184\000\000\004s\004\133\000\185\003\231\000\000\004\170\003\246\000\000\000\000\003\157\001\177\000\000\001a\004\132\001b\003\216\004\237\000\000\000\183\003\217\000\000\001\162\000\255\000\000\003\247\001\163\000\000\000\000\000\000\003\248\000\000\003*\001\177\003\249\003.\000\000\000\194\000\183\003\250\004w\001\162\004\136\004\239\000\000\001\163\000\000\004\141\003\214\003\237\004\146\000\181\000\000\000V\000\000\000\182\006\230\006\238\004\170\003\246\004\248\000\000\001\176\000\195\000\137\000\000\000\000\000\000\000\000\003\r\004\139\004\178\000a\002r\000\000\000\000\003=\003\247\000\000\003\214\003\237\001\176\003\248\000d\000\000\001\181\003\249\003>\000\000\000\000\000\183\003\250\003\015\000\196\003/\000\137\003\214\003\237\0030\001\186\003\r\000\000\004\131\003\144\000\000\000\000\004\132\001\181\003\216\000\183\004m\000\195\003\217\000U\000\184\000\000\000\000\000\000\000\185\004\192\003\230\001\188\006\132\001\160\004r\001\236\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\000\000\000\003T\001\177\004\132\000\000\003\216\000\000\000\196\000\000\003\217\004\237\006\133\000\000\006\136\005\223\005\224\003\214\003\237\000\194\000\000\003W\001\177\003\216\000\000\000\000\007!\003\217\000\000\003a\000\000\000\000\000\000\000\137\004w\000\228\004\136\004\239\003\r\004\139\004\178\004\141\000\000\003h\004\146\000\000\006\244\000\000\000\183\000\000\004\248\001\162\004\170\003\246\000\198\001\163\000\000\000\000\000\229\000\000\000\000\000\000\000\230\003=\000\000\000\000\000\000\000\000\000\200\004m\000\000\003\247\000\000\000\000\003>\004\132\003\248\003\216\000\000\003\230\003\249\003\217\000\000\004r\005\225\003\250\000\000\004s\004\133\000\000\003\231\001\176\003*\000\195\000\147\003.\002\001\000\000\000\000\000\000\004m\000\000\000\000\004u\000\000\000\000\000\000\000\000\000\000\000\000\003\230\000\000\000\000\000\000\004r\000\000\006\003\004m\004s\004\133\000\000\003\231\000\000\000\196\000\000\000\000\004w\003\230\004\179\000\000\004\180\004r\000\000\004\141\004\237\004s\004\146\000\000\003\231\006\004\005\223\005\224\004\172\000\000\004\170\003\246\000\000\000\000\000\000\003?\003W\004u\000\000\000\000\003/\000\137\000\000\004w\0030\004\136\004\239\000U\000\000\003\247\004\141\001\177\004\176\004\146\003\248\000\198\000\000\004m\003\249\000\000\004w\004\170\003\246\003\250\005\001\003\214\003\237\003\230\000\181\000\214\000\000\004r\000\182\000\000\000\000\004s\004\133\006)\003\231\003\246\003\247\000\137\006\181\000l\006\003\003\248\003\r\000\000\004\178\003\249\000\000\004u\000\000\000\000\003\250\005\225\003*\003\247\000\000\003.\006*\000\000\003\248\006-\005\223\005\224\003\249\006\004\005\223\005\224\007\n\003\250\000\000\000\000\004w\000\000\004\179\007\020\004\180\000\000\000\000\004\141\006\003\004\132\004\146\003\216\000\183\003Y\000\000\003\217\000\000\000\184\004\170\003\246\000\000\000\185\003\214\003\237\000\000\000\000\000\000\000\000\003=\000\000\003\134\006\004\005\223\005\224\004\182\000\000\003\\\003\247\000\137\003>\000\183\000\000\003\248\003\r\003/\004\131\003\249\000V\0030\000\000\000\000\003\250\000\000\003\214\003\237\000\194\000\000\000\000\000\000\005\225\000\000\000\000\000\000\005\225\000\000\004\130\000a\002w\000\000\000\137\000\000\000\000\003_\001\160\003\r\001\161\004\131\000d\000\000\000\000\004\132\000\000\003\216\001\160\000\000\001\170\003\217\000\181\000\000\003\137\000\000\000\192\000\000\000\000\000\000\006\014\000\000\000\000\000\000\000\137\000\000\005\225\001\160\000\000\001\161\004m\000\000\000\000\000\000\000\000\001\160\004\132\001\161\003\216\003a\003\230\000\000\003\217\000\000\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\000\000\003b\000\195\007\r\000\183\007\014\000\000\001\162\000\000\000\000\000\000\001\163\005\003\000\255\000\183\000\000\000\000\001\162\000\183\003=\000\000\001\163\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\137\003>\000\000\000\196\000\183\003\r\004w\001\162\004\179\000\000\005\005\001\163\000\183\004\141\006A\001\162\004\146\000\000\001\176\001\163\004m\006\029\000\137\001\224\004\170\003\246\000\000\003\r\001\176\000\000\003\230\000\000\000\194\000\000\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\003\184\003\247\000\000\000\000\000\181\001\176\003\248\000\198\000\182\004m\003\249\000\000\004\134\001\176\000\000\003\250\000\000\006\027\000\000\003\230\000\137\000\216\003\184\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\000\000\000\003a\004w\000\000\004\136\004\137\000\000\003\214\003\237\004\141\004\134\000\000\004\146\000\000\000\000\003j\000\000\001\177\000\000\004\140\004\170\003\246\000\181\000\137\000\000\000\000\000\192\001\177\003\r\000\183\004\131\000\195\000\000\004w\000\184\004\136\004\137\000\000\000\185\003\247\004\141\000\000\000\000\004\146\003\248\000\000\001\177\000\000\003\249\001\225\0034\004\170\003\246\003\250\001\177\001]\000\000\000\000\000\000\001\178\000\000\000\196\001g\000\000\000\000\004\132\000\000\003\216\000\000\000\000\003\247\003\217\000\194\001\179\000\000\003\248\001`\003\214\003\237\003\249\000\183\000\255\004\133\001\180\003\250\000\184\000\000\000\000\000\197\000\185\000\000\001\181\000\000\000\137\000\000\000\181\000\000\000\000\003\r\000\190\004\131\001\181\000\000\000\000\004\133\001\190\001\182\000\198\003\214\003\237\001\183\000\137\001\174\000\000\000\000\001\184\000\000\000\000\000\000\001\217\001\181\000\200\005\163\000\194\000\137\000\000\000\000\004\141\001\181\003\r\004\146\004\131\000\000\000\000\001\192\004\132\000\000\003\216\004\170\000\000\000\000\003\217\001\194\000\000\005\165\000\000\000\195\000\000\003*\004\141\000\000\003.\004\146\000\183\000\000\000\000\000\000\000\000\000\184\000\000\004\170\004m\000\185\000\000\001h\000\000\004\132\000\000\003\216\000\000\000\000\003\230\003\217\000\000\000\000\004r\000\196\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\181\000\000\000\000\003\167\000\182\000\000\001a\000\000\001b\000\000\000\000\004\134\000\194\000\195\000\000\000\000\000\255\000\000\000\000\003\214\003\237\000\000\000\183\000\000\000\000\000\000\003/\000\000\000\000\000\000\0030\000\000\000\000\000\000\004w\000\137\004\136\004\137\002\019\000\000\003\r\004\141\004\131\000\196\004\146\000\000\000U\004m\000\000\000\000\000\181\000U\004\170\003\246\000\182\000\000\000\000\003\230\000\183\000\000\000\000\004r\000\000\000\184\000\000\004s\004\133\000\185\003\231\000\000\000\197\003\247\000\000\000\000\004\213\000\000\003\248\004\132\004m\003\216\003\249\004\206\000l\003\217\000\000\003\250\000\195\000l\003\230\000\198\000\000\000\000\004r\000\000\003\239\000\000\004s\004\133\000\000\003\231\000\000\000\194\000\000\000\200\004w\004\205\004\136\004\208\000\183\000\000\001\154\004\141\004\206\000\184\004\146\000\000\000\196\000\185\000\000\000\000\000\000\000\000\004\170\003\246\000\000\000\000\000\000\000\000\003=\000\000\000\000\003*\002\021\000\000\003.\004w\000\000\004\136\004\208\003>\000\255\003\247\004\141\000\228\000\000\004\146\003\248\000\000\003\214\003\237\003\249\000\194\000\181\004\170\003\246\003\250\000\192\000\000\000\000\000\000\000V\000\000\000\198\000\000\000\137\000V\000\229\000\000\000\000\003\r\000\230\004\131\003\247\004m\000\000\000\195\000\200\003\248\000\000\000a\002\217\003\249\000\000\003\230\000a\002\222\003\250\004r\000\000\003W\000d\004s\004\133\003/\003\231\000d\000\000\0030\000\000\004\225\003\214\003\237\000\000\000\000\000\000\000\196\004\132\004\226\003\216\000\000\000\183\000\000\003\217\000\000\003a\000\184\000\137\000\000\000\000\000\185\006l\003\r\000\000\004\131\003\138\000\195\000\137\000\000\003l\000\000\004w\003\r\004\136\004\228\000\000\000\000\000\000\004\141\000\000\000\000\004\146\000\000\000\000\006j\006m\005\223\005\224\000\000\004\170\003\246\000\181\000\198\000\000\000\194\001\250\000\196\000\000\000\000\004\132\006\003\003\216\000\000\000\000\000\000\003\217\000\218\000\000\003\247\003\184\000\000\003\214\003\237\003\248\000\000\000\000\000\000\003\249\003\214\003\215\000\000\003Y\003\250\006\004\005\223\005\224\000\000\000\137\000\000\000\000\000\000\000\000\003\r\000\000\004\131\000\000\003=\006\240\003\127\000\000\000\000\000\000\000\198\004m\003\\\004\236\000\000\003>\000\000\000\183\000\000\000\000\000\000\003\230\000\184\005\225\000\220\004r\000\185\000\000\000\000\004s\004\133\006\003\003\231\000\000\000\000\003\141\000\195\004\132\004\223\003\216\000\000\003\130\000\000\003\217\000\183\004\206\003\216\000\000\003_\000\000\003\217\003\214\003\237\000\000\006\004\005\223\005\224\000\000\000\000\000\000\000\194\005\225\006\234\004m\000\000\000\000\000\196\000\137\004w\000\000\004\136\004\208\003\r\003\230\004\131\004\141\000\000\004r\004\146\000\000\000\000\004s\004\133\004\241\003\231\000\000\004\170\003\246\000\000\000\000\003a\000\000\004\133\000\197\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\247\000\000\000\000\000\000\004\132\003\248\003\216\000\198\000\000\003\249\003\217\000\000\003\241\000\000\003\250\004w\000\000\004\136\004\239\005\225\000\000\000\200\004\141\000\000\000\000\004\146\000\000\005\167\004m\000\195\000\000\000\000\004\141\004\170\003\246\004\146\003*\000\000\003\230\003C\000\000\000\000\004r\004\170\000\000\003\230\004s\004\133\000\000\003\231\000\000\000\000\003\247\003\214\003\237\000\000\003\231\003\248\000\000\000\196\000\000\003\249\004\237\000\000\006\246\001\160\003\250\001\161\000\000\000\137\006\025\000\000\000\000\000\000\003\r\000\000\004\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\003\004w\000\000\004\136\004\239\000\000\000\000\000\000\004\141\000\000\000\183\004\146\000\000\000\000\003/\000\000\004m\000\000\0030\004\170\003\246\000\000\000\000\006\004\005\223\005\224\003\230\004\132\000\000\003\216\004r\000\000\000\000\003\217\004s\004\133\000\000\003\231\003\247\000\183\003\214\003\237\001\162\003\248\000\000\003\247\001\163\003\249\000\000\0064\006\235\006\249\003\250\000\000\000\000\000\000\000\137\000\000\006)\003\252\000\000\003\r\000\000\004\131\001\160\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\004w\000\000\004\136\006\237\000\000\000\000\000\000\004\141\006*\001\176\004\146\006-\005\223\005\224\000\000\001\160\000\000\001\161\004\170\003\246\005\225\000\000\000\000\000\000\000\000\004\132\000\000\003\216\001\160\000\000\001\170\003\217\000\000\000\000\000\000\000\000\003*\003\247\000\000\003B\000\000\000\000\003\248\003=\000\137\000\000\003\249\000\000\000\000\000\183\004m\003\250\001\162\000\000\003>\000\000\001\163\000\000\000\000\000\000\003\230\000\000\000\000\000\000\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\183\000\000\003*\001\162\000\000\003A\000\000\001\163\005\225\000\000\001\177\006\235\000\000\000\183\003\214\003\237\001\162\000\000\000\000\001\176\001\163\000\183\000\000\000\000\000\137\003/\000\000\000\000\000\181\0030\000\137\000\000\000\182\000\000\004w\005\020\004\136\006\237\000\000\000\000\000\000\004\141\000\000\001\176\004\146\000\000\000\000\000\000\004m\000\000\000\000\001\224\004\170\003\246\000\000\000\000\001\176\000\000\003\230\0053\000\183\006?\004r\000\000\003/\000\000\004s\004\133\0030\003\231\000\000\003\247\0056\000\000\003\216\000\000\003\248\000\000\003\217\000\000\003\249\000\000\006\235\000\000\001\181\003\250\000\183\000\000\000\000\000\000\000\000\000\184\001]\001\177\000\000\000\185\000\000\005<\001\196\001g\003\214\003\237\000\000\000\000\000\000\004w\000\000\004\136\006\237\000\000\003\214\003\237\004\141\001`\000\000\004\146\000\137\001\177\000\000\006S\000\000\005\020\000\000\004\170\003\246\000\000\000\137\003=\000\000\000\194\001\177\005\020\005a\000\000\000\000\003\242\000\000\000\244\003>\000\000\000\000\000\000\003\247\000\000\000\000\005e\000\000\003\248\003\214\003\237\000\000\003\249\001\225\003\221\000\000\0055\003\250\000\000\0056\000\000\003\216\000\000\001\178\000\000\003\217\000\000\003=\001\181\0056\000\000\003\216\004\190\000\000\000\000\003\217\006\003\001\179\003>\003\230\000\000\000\000\001\198\000\000\005<\000\255\000\000\001\180\005=\000\000\003\231\000\000\001\181\000\000\005<\000\000\001\160\006\003\001\170\006\004\005\223\005\224\001h\005c\000\195\001\181\001\200\003W\000\000\003\216\001\182\000\000\000\137\003\217\001\183\000\000\000\000\000\000\000\000\001\184\006\004\005\223\005\224\001\217\000\000\004\153\000\000\000\000\001a\000\000\001b\000\000\006)\005@\000\196\000\000\005d\001\160\000\255\001\170\000\000\000\000\000\000\000\000\005W\003\246\000\000\001\160\000\000\001\161\000\000\003\214\003\215\000\137\000\183\006*\000\000\001\162\006-\005\223\005\224\001\163\000\000\003\247\000\000\003\230\004\196\000\000\003\248\005\225\003\242\000\000\003\249\000\000\005=\003\230\003\231\003\250\000\000\000\000\000\198\000\000\000\000\000\000\005=\001\160\003\231\001\170\000\000\005>\005\225\000\000\001\224\000\000\000\222\000\183\000\000\001\176\001\162\005>\000\000\000\137\001\163\004m\000\000\000\183\000\000\000\000\001\162\000\183\000\000\003\216\001\163\003\230\000\000\003\217\000\000\004r\000\000\005@\000\000\004s\005E\000\000\003\231\000\000\000\000\000\000\005\225\005@\005W\003\246\005E\001\224\000\000\000\000\000\000\004\198\001\176\000\000\005W\003\246\000\000\000\183\000\000\000\000\001\162\000\000\001\176\003\247\001\163\000\181\000\000\006\003\003\248\000\190\000\000\000\000\003\249\003\247\004w\000\000\000\000\003\250\003\248\000\000\000\181\000\137\003\249\000\000\000\190\001\177\000\000\003\250\000\000\000\000\006\004\005\223\005\224\003\246\000\000\001\224\000\137\006D\000\000\000\000\001\176\000\000\000\000\000\000\000\000\000\000\000\000\001\225\004o\003*\000\000\003\247\003.\000\000\000\000\000\000\003\248\001\178\006V\000\000\003\249\000\000\000\000\000\183\000\000\003\250\001\177\000\000\000\184\003\230\000\000\001\179\000\185\000\000\000\000\000\000\001\177\000\000\000\183\000\255\003\231\001\180\000\000\000\184\000\000\000\000\000\000\000\185\001\225\004\143\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\001\178\001\181\005\225\003\214\003\237\000\000\001\182\000\000\000\194\003W\001\183\000\000\000\000\003/\001\179\001\184\001\177\0030\000\000\001\217\000\000\000\000\000\255\000\194\001\180\000\000\004f\004\199\000\000\002\015\000\244\000\000\000\000\000\000\003\214\003\237\000\000\000\000\001\225\005B\000\000\000\000\001\181\000\000\000\242\000\244\000\000\001\182\001\178\000\000\000\000\001\183\001\181\000\000\000\000\003\247\001\184\004f\004\189\000\000\001\217\003W\001\179\003\216\000\000\000\000\001\202\003\217\000\000\003\254\000\255\000\000\001\180\001\160\000\000\001\161\000\000\000\000\000\000\000\000\000\137\000\000\000\195\000\000\000\000\000\000\003\214\003\237\000\000\000\000\001\181\000\000\003W\000\000\003\216\001\182\000\000\000\195\003\217\001\183\003Y\000\000\000\000\000\000\001\184\000\000\000\246\000\000\001\217\004f\004g\000\000\000\196\000\000\000\000\003=\006c\003[\000\000\000\000\000\000\000\246\000\000\003\\\000\000\000\000\003>\000\196\000\252\000\000\000\000\000\183\000\000\000\000\001\162\000\000\000\255\000\000\001\163\000\228\000\000\000\000\000\000\000\252\003W\000\000\003\216\000\000\001]\000\000\003\217\000\255\000\000\000\000\000\228\001g\000\000\004m\000\198\003_\000\000\000\000\000\229\000\000\000\000\000\000\000\230\003\230\000\000\001`\000\000\004r\000\200\000\198\001\176\004s\003*\000\229\003\231\003.\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\200\004m\000\000\000\000\004u\000\000\000\000\000\000\003\214\003\237\000\000\003\230\000\000\000\000\003a\004r\000\000\000\000\006\003\004s\000\000\000\000\003\231\000\000\000\000\003\214\003\237\004w\003b\000\000\000\000\004f\004q\000\000\000\000\004u\000\000\000\000\000\000\000\000\000\000\006\004\005\223\005\224\000\000\000\000\003\246\000\183\004f\004\201\000\000\003/\000\000\004m\000\000\0030\003\214\003\237\004w\000\000\000\000\001\177\000\000\003\230\003\247\000\000\003W\004r\003\216\003\248\001h\004s\003\217\003\249\003\231\000\000\000\000\003\246\003\250\004f\005\149\000\000\000\000\003W\000\000\003\216\000\000\004u\003*\003\217\000\000\003.\000\000\004\161\000\000\003\247\001a\000\000\001b\006\003\003\248\000\000\000\000\000\000\003\249\001\160\000\255\001\170\000\000\003\250\004w\005\225\000\000\000\000\003W\000\000\003\216\003\214\003\237\000\000\003\217\000\137\006\004\005\223\005\224\000\000\000\000\000\000\000\000\003\246\000\000\000\000\000\181\000\000\000\000\001\181\000\182\000\000\000\000\000\000\004f\005\151\000\000\000\000\000\000\000\000\003W\003\247\000\000\001\204\003/\000\000\003\248\003=\0030\000\000\003\249\001\160\000\000\001\161\000\000\003\250\004m\000\183\003>\000\000\001\162\000\000\000\000\000\000\001\163\000\000\003\230\000\000\000\000\003W\004r\003\216\000\000\004m\004s\003\217\000\000\003\231\000\000\003\214\003\237\000\000\000\000\003\230\000\183\000\000\005\225\004r\000\000\000\184\004u\004s\000\000\000\185\003\231\001\239\000\000\000\000\000\000\000\000\001\176\000\000\004f\005\153\004m\000\000\000\000\004u\001\160\000\183\001\170\000\000\001\162\004w\003\230\000\000\001\163\000\000\004r\006a\000\000\000\000\004s\000\000\000\137\003\231\000\000\000\194\000\000\000\000\004w\003Y\003\246\003a\000\000\000\000\000\000\003W\004u\003\216\000\137\000\000\000\000\003\217\000\000\000\000\003=\003n\003^\003\246\003\247\000\000\001\176\000\000\003\\\003\248\000\000\003>\000\000\003\249\000\000\004w\000\000\000\000\003\250\004m\000\183\003\247\000\000\001\162\000\000\000\000\003\248\001\163\001\177\003\230\003\249\000\000\000\000\004r\003\246\003\250\000\000\004s\000\000\000\000\003\231\000\000\000\000\000\000\003_\000\000\000\000\006\003\000\000\000\000\000\000\000\000\003\247\004u\006\156\000\195\000\000\003\248\001\175\000\000\001\178\003\249\001]\001\176\000\137\001\160\003\250\001\170\000\000\001g\006\004\005\223\005\224\000\000\001\179\000\000\004w\001\160\000\000\001\170\001\177\000\137\000\255\001`\001\180\000\196\003a\004m\000\181\000\000\000\000\000\000\000\190\000\137\000\000\003\246\000\000\003\230\000\000\000\000\003b\004r\001\181\000\000\000\137\004s\000\000\001\182\003\231\000\000\000\000\001\183\000\000\003\247\000\000\000\000\001\184\000\000\003\248\000\000\001\217\004u\003\249\000\183\000\000\000\000\001\162\003\250\000\000\000\000\001\163\000\198\001]\000\000\000\000\000\183\000\000\001\177\001\162\001g\005\225\000\000\001\163\000\181\004w\000\232\000\183\000\190\000\000\000\000\000\000\000\184\000\000\001`\001\181\000\185\000\000\000\000\000\000\000\137\000\000\001\219\000\000\003\246\000\000\000\000\001\176\000\000\001\206\001\178\000\000\001h\000\000\001\223\001\160\000\000\001\161\000\000\001\176\000\000\000\181\003\247\000\000\001\179\000\190\000\000\003\248\000\000\000\000\000\194\003\249\000\255\000\000\001\180\005!\003\250\000\137\001a\000\181\001b\000\000\000\183\000\190\000\000\000\000\000\000\000\184\000\255\000\000\000\000\000\185\001\181\000\000\000\000\000\137\000\181\001\182\000\000\000\000\000\190\001\183\000\000\000\000\000\000\000\000\001\184\000\000\000\000\000\000\001\217\000\000\000\137\000\183\000\000\000\000\001\162\000\000\000\000\000\183\001\163\001\177\001h\000\000\000\184\000\194\000\000\000\000\000\185\000\000\000\000\000\000\000\000\001\177\000\000\006\161\000\000\000\183\000\000\000\000\000\000\000\000\000\184\000\000\000\195\005L\000\185\000\181\001a\000\000\001b\000\190\000\000\001\178\000\183\000\000\001\176\000\000\000\255\000\184\000\000\000\000\000\194\000\185\000\000\001\178\000\000\001\179\001\252\000\000\000\000\000\000\000\000\003*\000\196\000\255\003.\001\180\000\000\001\179\000\194\000\000\000\000\000\000\000\181\000\000\000\000\000\255\000\190\001\180\002\027\000\000\000\000\000\000\000\000\001\181\000\000\000\194\000\255\000\195\001\182\000\228\000\000\000\000\001\183\000\183\000\000\001\181\000\000\001\184\000\184\000\000\001\182\001\217\000\185\000\000\001\183\000\000\000\000\000\000\000\198\001\184\000\000\003\025\000\229\001\217\000\000\001\208\000\230\000\196\001\177\000\183\000\000\000\000\000\200\003/\000\195\000\000\001\160\0030\001\161\000\000\000\183\000\000\000\000\003\027\000\000\000\184\000\194\000\000\000\000\000\185\000\000\000\255\000\195\000\000\000\228\000\000\000\000\000\000\003\025\003*\000\000\000\000\003.\000\000\000\196\000\000\000\000\000\000\000\000\000\195\000\000\000\181\000\000\000\198\000\000\000\190\003\198\000\229\000\000\000\000\003,\000\230\000\196\000\194\000\000\000\000\000\000\000\200\000\255\000\000\000\000\000\228\000\000\003\198\000\183\000\000\000\000\001\162\003\200\000\196\003*\001\163\001\181\003.\003\022\003*\000\255\000\000\003.\000\228\000\198\000\000\000\000\000\000\000\229\004\028\001\212\003W\000\230\000\000\000\195\003/\000\000\000\255\000\200\0030\000\228\000\000\000\198\000\183\000\000\000\000\000\229\000\000\000\184\003=\000\230\001\176\000\185\000\000\000\000\000\000\000\200\000\000\000\227\000\198\003>\000\000\000\000\000\229\000\196\000\000\003X\000\230\000\000\000\000\000\000\000\195\003W\000\200\000\000\000\000\003/\003W\000\000\000\000\0030\003/\000\000\000\000\003*\0030\000\194\003.\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\246\000\000\000\000\000\000\000\181\000\000\000\196\000\000\000\190\000\000\000\000\000\000\003\129\000\000\000\000\000\198\000\000\003\133\003*\000\229\000\000\003.\000\000\000\230\000\000\000\000\000\000\003Y\000\000\000\200\001\177\000\000\000\000\000\228\000\000\000\181\000\000\000\000\000\000\000\190\003a\000\000\003=\000\000\003\127\000\000\000\000\000\183\000\000\000\000\003\\\003/\000\198\003>\003p\0030\000\229\003R\000\000\000\000\000\230\000\000\000\183\000\000\000\000\000\195\000\200\000\184\003Y\000\000\000\000\000\185\000\000\003Y\000\000\000\000\003W\000\000\000\000\003\130\003/\000\000\000\000\003=\0030\003\127\003_\000\000\003=\003T\003\127\003\\\000\000\000\183\003>\000\196\003\\\000\000\000\184\003>\000\000\000\000\000\185\000\181\001\181\000\194\000\000\000\190\000\000\000\000\000\181\003\136\000\000\000\000\000\190\000\000\000\000\000\000\001\214\000\000\003\130\000\000\000\228\003*\000\000\003\130\003.\003_\003a\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\194\000\000\000\000\000\000\000\000\000\198\003b\000\000\000\000\000\229\000\000\000\000\000\000\000\230\000\181\000\000\000\000\003=\000\190\000\200\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\003>\000\000\000\184\003Y\000\183\003a\000\185\003\161\000\000\000\184\003a\000\000\000\000\000\185\000\000\000\195\000\000\000\183\003=\003b\003\127\003/\000\000\000\000\003b\0030\003\\\000\181\000\000\003>\000\000\000\190\000\000\000\000\000\000\000\000\000\000\000\000\003\172\003T\000\194\000\000\000\000\000\000\000\183\000\196\000\195\000\194\000\000\000\184\000\000\000\000\000\000\000\185\000\000\003\130\000\000\000\000\000\000\001\160\000\000\001\161\003_\000\000\000\000\000\000\004\018\000\000\000\000\000\000\003T\000\000\000\228\000\000\000\181\003a\000\196\000\000\000\190\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\194\000\000\003r\000\184\000\198\000\181\000\000\000\185\000\229\000\190\000\000\000\000\000\230\000\000\000\000\000\000\000\228\003a\000\200\003\180\004G\000\000\000\000\000\000\000\000\000\000\003\187\000\195\000\000\000\000\000\183\003b\000\000\001\162\000\195\000\198\003=\001\163\000\000\000\229\000\000\000\194\000\181\000\230\000\000\000\183\000\190\003>\000\000\000\200\000\184\003T\000\000\000\000\000\185\000\000\000\000\000\196\003T\000\000\000\000\000\000\000\000\000\183\000\196\003\214\003\215\004I\000\184\000\000\000\000\000\000\000\185\001\176\000\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\228\004K\000\181\000\000\000\194\000\000\000\190\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\227\000\000\000\183\000\000\000\000\000\198\000\196\000\184\000\194\000\229\000\000\000\185\000\198\000\230\000\181\000\000\000\229\000\195\000\190\000\200\000\230\000\000\000\000\000\000\003a\000\183\000\200\003\216\000\000\000\000\000\000\003\217\000\000\000\228\000\000\000\000\000\000\000\000\003t\000\000\000\000\000\227\000\000\000\000\000\000\000\194\000\183\000\196\000\000\001\177\000\181\000\184\000\198\000\000\000\190\000\185\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\000\000\195\000\000\000\200\000\181\000\000\003\214\003\215\000\190\000\183\000\000\000\228\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\195\000\000\000\000\000\000\000\000\000\000\000\227\000\194\000\000\000\000\000\000\000\198\000\196\000\000\000\000\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\000\000\000\000\227\000\200\000\183\000\000\000\000\004\157\000\196\000\184\000\000\000\194\000\000\000\185\000\000\000\195\000\000\000\228\000\000\001\181\000\000\000\183\000\000\000\183\000\000\003\216\000\184\003\230\003*\003\217\000\185\003.\000\000\001\216\000\000\000\228\000\198\000\000\003\231\003T\000\229\000\000\000\000\000\000\000\230\000\196\000\000\000\194\000\000\000\000\000\200\004\166\000\000\000\000\000\198\000\000\000\181\000\000\000\229\000\195\000\190\000\000\000\230\000\000\000\194\000\000\000\000\000\000\000\200\000\181\000\000\000\000\000\228\000\190\000\000\000\000\000\000\004\174\000\000\000\000\000\000\000\000\000\000\003T\000\000\000\195\000\183\000\000\000\000\000\196\003/\000\198\000\000\000\000\0030\000\229\000\000\000\181\000\000\000\230\000\000\000\190\000\000\000\000\000\000\000\200\000\000\000\000\000\000\003T\000\000\003\247\000\000\005\025\000\183\000\196\000\228\000\000\000\181\000\184\000\000\000\195\000\190\000\185\000\000\004\000\000\000\000\183\000\000\003\230\005%\000\000\000\184\000\181\000\000\000\198\000\185\000\190\000\195\000\229\003\231\000\000\000\228\000\230\000\000\003T\000\000\000\000\000\000\000\200\000\000\000\196\000\000\000\000\000\000\000\183\000\000\000\194\000\000\000\000\000\184\000\198\003T\000\000\000\185\000\229\000\000\000\000\000\196\000\230\000\194\000\000\000\000\000\000\000\000\000\200\000\183\000\000\000\228\003*\000\181\000\184\003.\000\000\000\190\000\185\000\000\000\000\000\000\000\000\000\000\000\183\003=\000\000\000\000\000\228\000\184\000\198\000\194\000\000\000\185\000\229\000\000\003>\000\000\000\230\000\000\003\214\003\215\000\000\000\000\000\200\000\181\003\247\000\198\000\000\000\190\000\000\000\229\000\194\000\000\000\000\000\230\005*\000\000\000\000\006\204\004\002\000\200\000\000\000\000\000\195\003*\000\000\000\194\003.\0051\000\183\000\183\000\000\000\000\003/\000\000\000\184\000\195\0030\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003T\000\000\000\000\003\214\003\215\000\000\000\196\000\000\000\000\005:\000\183\000\000\003\216\003T\000\000\000\183\003\217\000\195\000\181\000\196\000\184\000\000\000\190\003a\000\185\000\000\000\194\000\000\000\000\000\000\005P\000\000\0070\000\228\000\000\000\183\000\000\003v\000\195\003/\000\000\003T\000\000\0030\000\000\005U\000\228\000\196\000\000\000\000\000\181\000\000\000\198\000\195\000\190\000\000\000\229\000\000\000\194\000\000\000\230\000\183\003T\003\216\000\000\000\198\000\200\003\217\000\196\000\229\000\000\000\000\000\000\000\230\000\228\000\000\000\183\003T\000\000\000\200\000\000\000\184\000\181\000\196\000\000\000\185\000\190\000\000\003=\000\000\000\000\000\000\005\\\000\198\000\000\000\228\000\000\000\229\000\000\003>\000\195\000\230\000\000\000\000\000\000\000\000\000\000\000\200\000\183\000\000\000\228\003\214\003\215\000\184\000\198\000\000\003\230\000\185\000\229\000\194\000\000\000\000\000\230\000\000\003T\000\000\000\000\003\231\000\200\000\198\000\196\000\000\000\195\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\183\003=\000\000\000\200\000\181\000\184\000\181\000\000\000\190\000\185\000\190\000\194\003>\000\000\000\000\000\000\006\205\000\228\000\000\000\000\000\000\000\181\000\196\000\000\000\000\000\190\000\000\003\230\000\000\000\183\000\000\003\216\000\000\000\000\003a\003\217\000\198\000\000\003\231\000\000\000\229\000\000\000\000\000\194\000\230\000\000\000\000\000\000\003x\000\228\000\200\000\000\000\000\000\195\000\000\000\000\000\000\000\000\000\000\000\000\003\247\000\000\000\183\000\000\000\183\000\000\000\000\000\184\000\198\000\184\000\000\000\185\000\229\000\185\004\004\000\000\000\230\006\205\000\000\000\183\000\000\000\000\000\200\000\196\000\184\000\195\000\000\003a\000\185\000\000\000\000\000\181\000\000\000\181\000\000\000\190\000\000\000\190\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\194\000\000\000\194\000\000\001\229\000\228\003\247\000\000\000\000\000\000\000\196\000\000\000\195\000\000\000\000\000\000\000\000\000\194\000\000\000\000\004\006\000\000\000\000\000\181\000\198\000\000\000\000\000\190\000\229\000\000\003\230\000\000\000\230\000\000\000\000\000\000\001\243\000\228\000\200\000\000\000\000\003\231\000\196\000\000\000\183\000\000\000\183\000\000\000\000\000\184\000\000\000\184\000\000\000\185\000\000\000\185\000\198\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\181\000\000\000\228\000\200\000\190\000\000\000\000\000\195\000\000\000\195\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\184\000\194\000\198\000\194\000\185\000\195\000\229\000\000\000\000\000\000\000\230\000\000\002\t\000\000\003\003\000\000\000\200\000\000\000\196\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\247\003\007\000\181\000\000\000\000\000\000\000\190\000\196\000\000\000\000\000\194\000\183\000\000\000\000\004\b\000\000\000\184\000\228\000\181\000\228\000\185\000\000\000\190\000\000\003*\000\000\000\000\003.\000\000\000\000\000\000\000\181\000\000\000\000\000\228\000\190\000\198\000\000\000\198\000\000\000\229\000\000\000\229\000\000\000\230\000\000\000\230\000\195\000\000\000\195\000\200\000\000\000\200\000\198\000\194\000\000\000\000\000\229\000\000\000\000\000\183\000\230\000\000\000\000\000\000\000\184\000\000\000\200\000\000\000\185\000\000\0037\000\000\003F\000\000\000\000\000\183\000\196\000\000\000\196\000\000\000\184\000\183\000\000\000\195\000\185\003/\000\000\000\000\000\183\0030\000\000\000\000\000\000\000\184\000\000\000\181\000\000\000\185\000\000\000\190\000\000\000\000\000\194\000\228\000\000\000\228\000\000\003H\000\181\000\000\000\000\000\181\000\190\000\196\000\000\000\190\000\000\000\000\000\194\000\000\000\000\000\000\000\198\000\000\000\198\000\000\000\229\000\195\000\229\000\000\000\230\000\194\000\230\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\224\000\000\000\183\000\000\000\000\000\181\000\196\000\184\000\198\000\190\000\000\000\185\000\229\000\000\000\000\000\183\000\230\000\000\000\183\000\000\000\184\000\000\000\200\000\184\000\185\000\195\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\003=\000\000\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\194\000\000\003>\000\000\004!\000\000\000\000\000\198\000\000\000\195\000\196\000\229\000\000\000\194\000\000\000\230\000\194\000\000\000\183\000\000\004&\000\200\000\000\000\184\000\000\000\181\000\196\000\185\000\000\000\190\000\000\000\000\000\000\004*\000\000\000\000\000\000\000\228\000\181\000\196\000\000\000\000\000\190\000\000\000\000\000\181\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\228\000\000\000\000\000\198\000\000\000\000\000\000\000\229\000\194\000\000\000\000\000\230\000\000\000\228\000\181\000\000\000\000\000\200\000\190\000\198\000\000\000\195\000\000\000\229\003a\000\000\000\000\000\230\000\000\000\000\000\183\000\000\000\198\000\200\000\195\000\184\000\229\000\195\003|\000\185\000\230\000\000\000\000\000\183\000\000\004?\000\200\000\000\000\184\000\000\000\183\000\196\000\185\000\000\000\000\000\184\000\000\000\000\004j\000\185\000\000\005\012\000\000\000\000\000\196\000\000\000\000\000\196\000\000\000\000\003\214\003\215\000\183\000\194\000\000\000\000\000\000\000\184\000\228\000\181\000\000\000\185\000\195\000\190\000\000\000\181\000\194\000\000\000\000\000\182\000\000\000\228\000\181\000\194\000\228\000\000\000\190\000\198\000\000\003*\000\000\000\229\003.\000\000\000\000\000\230\005s\000\000\000\000\000\000\000\198\000\200\000\196\000\198\000\229\000\194\000\000\000\229\000\230\000\000\000\000\000\230\000\000\000\000\000\200\000\000\000\000\000\200\000\183\000\000\003\216\000\000\000\000\000\000\003\217\000\000\000\000\000\183\000\000\000\228\000\181\000\000\000\184\000\183\000\182\000\000\000\185\000\195\000\184\000\000\000\183\000\000\000\185\000\000\000\000\000\184\000\000\000\183\000\198\000\185\000\195\003/\000\229\000\000\000\000\0030\000\230\000\195\000\000\000\000\000\000\005\135\000\200\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\194\000\000\000\000\000\000\005\137\000\000\000\194\000\000\000\000\000\195\000\196\005\139\000\000\000\194\000\000\003\214\003\215\000\196\000\183\000\000\000\000\000\000\000\000\000\184\000\228\000\000\000\000\000\185\003\214\003\215\000\000\000\000\000\000\005\145\000\000\000\000\000\000\000\228\000\000\000\196\000\000\000\000\000\000\000\198\000\228\003\214\003\215\000\229\003\214\003\215\000\000\000\230\000\000\000\000\003\230\000\000\000\198\000\200\003\214\003\215\000\229\000\194\000\000\000\198\000\230\003\231\000\228\000\229\003\214\003\215\000\200\000\230\000\000\000\183\000\195\003\216\000\000\000\200\000\000\003\217\000\195\000\000\000\000\003=\000\000\000\198\000\183\000\195\003\216\000\229\000\000\000\000\003\217\000\230\003>\000\000\000\000\000\000\005\159\000\200\000\000\000\000\000\000\000\183\000\196\003\216\000\183\000\000\003\216\003\217\000\196\005\173\003\217\000\000\000\000\000\000\000\183\000\196\003\216\000\000\000\000\000\000\003\217\000\000\000\000\000\000\000\183\000\000\003\216\000\000\000\000\000\228\003\217\000\000\000\000\000\195\000\000\000\000\003\247\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\198\000\000\004\n\000\000\000\229\000\000\000\198\000\000\000\230\000\000\000\000\000\000\000\000\000\198\000\200\000\196\000\000\000\229\000\000\003a\000\234\000\230\000\000\000\000\000\000\000\000\000\000\000\200\000\000\003\230\000\000\000\000\000\000\003~\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\003\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\000\000\000\000\000\000\000\000\003\230\000\000\000\198\003\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\003\230\003\231\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000\003\230\003\231\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\247\004\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\000\000\003\247\000\000\000\000\003\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\247\004\016\000\000\000\000\004\022\000\000\000\000\000\000\000\000\000\000\003\247\000\000\000\000\000\000\004\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\026"))
+ ((16, "\002\128\0020\000\000\000\000\000\000\000M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\001G\006H\000\000\000\000\000\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\003v\000\000\005\172\003\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\015\000l\000\000\000\255\000\000\000\000\003\\\000\000\000\000\005*\000\000\000\000\000\000\000R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003x\000\000\000\000\001\246\019X\000\000\000\000\020\178\000\000\000\000\000\000\000\000\000\000\000\000\014\212\000\000\000\000\000\000\000\000\000\000\005\202\000\000\000\018\000\000\000\142\000\000\000\000\000\000\005\206\000\000\b\228\000\000\000\000\000\000\b\172\000\000\000\000\000\000\016\212\001O,\152\000\000\000\000\027\246\028\"\000\000\000N\000\000\030t1H6J1H\016\"1\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\1607 \000\000\000\000!\030)\0180\134\000\0002R\003~\000\000\000\000*\0185\228\000\000\000\000\000\000\001\022\000\000\000\1302\004+\b\000\000\000\000Ml\000\000\004>\000\000\006:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\170\000\000\000\000\006\160\000\000\018*\000\000\023\160\000\000\024\172\000\000!\028\000\000\"\164\000\000#\154\000\000%\"\000\000&\012\000\000&\170\000\0004z\000\000\017\196\000\000\000\000\000\000\000\000\t\130\000\000\000\000\000\000\000\000'\160\000\000(\138\000\000.\186\000\0004\168\000\0007x\000\0008:\000\000;F\000\000DJ\000\000H\224\000\000J\152\000\000L\234\000\000S\022\000\000U\168\000\000V&\000\000VV\000\000V\144\000\000\0070\000\000\000\000\b&\000\000\000\000\000\000\000\000\002\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000gM\210\000\000\000+\000\000\000\000\000d\t\176\000\000\000b\000\r\000 \000\166\001{\000\000\001$\000\000\000\000\001\146\000\000\001\156\000\000\000\00074\000\000\000\000\000\000\000,\nz\000\000;&7\236\000\000\000\000\000\000\000\000\011p\018\014\000\000\000\000\000\000\000\000\000\000\000\000;\128\000\000\000\000<\n\000\000\000\000=\178\000\000\004\026\000\000\b(\000\000\000\000\000\000\003@\000\0002\2428&\000\000\000\0008j9\018\000\000\t\028\000\000\n\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000V\168\000\0004\188\000\000Uz\000\000V\188\000\000V\234\000\000W\156\000\000W\198\000\000W\254\000\000X\002\000\000X\030\000\000X\146\000\000X\192\000\000X\226\000\000Y\018\000\000Y0\000\000Y>\000\000\000\000:\006\000\000\000\000\000\000:J\000\000\000\000\000\000\000\000\000\000\000\000N$\000\000\000\000\000\000\b\236\000\000\000\000\000\000\000\000#\232\000\000\000\000\000\000\000\000\001G\000\000\000\000N>\000\000\000\000\000\000\020,\000\197\000\000\000\000A\238\000\000\000\000:\234\000\000\000\000\000\000\000\026\012f+\022\000\000\000\000On\000\000O\152\000\000\000\000\000\000\r\\B<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\216\000\000\000\000\000\000\000\000BZ\014R\016\182\000\000?\244\000\000\000\000I\018\000\000\006V\000\000\000\000\024|\000\000\000\000\000\000\018\248\000\0003x\000\000\000\000O\154\000\000\000\000\000\000\021\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028 \000\000\030\158\000\000\000}\000\000\000\000\000\000Yz\000\000Y\174\000\000Y\242\000\000ZZ\000\000Z|\000\000Z\148\000\000Z\198\000\000[ \000\000[0\000\000[j\000\000[\136\000\000[\210\000\000[\234\000\000\\v\000\000\000\000\000\000\000\000\000\000C2\000\000\000\000\003\146D\012\000\000\000\000D4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\\\000\000;\156\000\000\000\000\000\000\000\000\000\000<2\000\000\000\000\000\000<\200\000\000\000\000\000\000\000\000\000\000\000\000\001\015\000\000\000\000\000\000\000\000\014H\000\000\021@\000\000\000\000\0022\005\238\000\000\000\000\000\000\000\000\020N\014\252\000\000\016\232\000\000\000\000\000\000\021\174\000\000\023\"\000\000&B\000\000\000\000\000\000\000\000\000\000\000\000(\192\000\000\000\000\000\183\000\000\000\000\000\000\0226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000b\022&\000\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\016\018\r\140\000\000\000\000\000\000\017:\000\000\000\000\000\000\002v\rT\000\000\002\184\000\000\000\000\000\000\000\000\014H\000\000\000\000\000D\nr\000\000\n\166\000\000\000\000\000\000\000\246\000\000\017\228\000\158\0007\000\000\000\000\000\000\002\208\000\222\000\000\000\000\003`\000\000\000\000\000\000\005H\000\000\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\003 \000\203\000w\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000O\186\000\000>\158\000\000\000\000\000\000P.\000\000\000\000\003b\000\000\000\000\000\000\003j\020*\000\000\000\000Db\000\000\000\000\004L\000\000\000\000\000\000\000\000\016p\000\000\023\204\000\000\000\000->\000\000\000\000\000\000D\180\000\000\000\000\000\000\000\000\000\0009\248\000\000\000\000\000\000\001O\000\000E\014\000\000\000\000\000\000\000\000\002\178\020\218\000\000E(\000\000\000\000\000\000\000\000\022\214\000\000E\218\000\000\000\000\000\000\000\000\003\168\000\000\n4\000\000\000\000J\190<\242\000\000\000\000\000\000PR\000\000\000\000\000\000\000\012\000\000P\226\000\000\000\000\000\000Q\004\000\000\000\000\000\230\000\000!\206\000\027=\136\000\000\000\000\000\000\021(\021~\000\000\000\000\000\000\000\000\000\000\000\000Kv\000\000\000\000O$\000\000\000\000O\220\000\000\006\130\000\000\0224\000\000\000\000\000\000\024\164\000\0003\146\000\000\000\000Q\154\000\000\000\000\000\000\025D\000\000\000\000\000\000\000\000\000\000\000\000\011\b\000\000\025\162\000\000\000\000\000\000\004\128\000\000\000\000\000\000\000\000\000\000\000\000\\\146\000\000E\242\000\000U\142\000\000]\000\000\000]\030\000\000]>\000\000]\192\000\000]\230\000\000]\234\000\000^(\000\000^T\000\000^~\000\000^\212\000\000^\246\000\000_\018\000\000_\022\000\000,\196\000\000\000\000\000\000\001F\000\000\004\252\000\000\018\218\003N\011*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R*\000\000>\228\0044\027N\000\000\000\000\000\00000\000\000\003\128\024\134\000\000\000\000F\198\000\000\000\000\000h\000\000\025T\000\000\000\000EF\000\000\000\000\000\000G\002\000\000\000\000\000\000\000\000Gh\000\000\000\000\012\b\026\174\000\000\000\000G\204\000\000\000\000\027@\000\000\000\000G\224\000\000\000\000\000\000\000\000H.\000\000IB\000\000?f?\214\001N\0062\000\000\006\158\007\210\000\000\000\000\000\000\014\202\000\000\000\000\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\024\000\000@\020\000\000\000\000\000\000\019l\000\000\000\000\007\020\000\000\000\000\000\000\"`\002\152\000\000#V\000\000\000\000\000\000\000\000\004h\000\000\000\000\020b\000\000$L\000\000\000\0004\158\000\000\000\000\000\000Iv\000\000\000\000\0180\000\000\000\000\029\230\000\000\000\000Z\238\000\000\000\000\000\000I\196\000\000\000\000\000\000]N\000\000\000\000\000\000\000\000J*\000\000\000\000\000\000\000\000\r\178\022\222\000\000JT\000\000\000\000\000\000\000\000\000\000\000\000\021X\000\000\000\000\004\150\000\000\021\234\000\000\0180\000\000\000\000J|\000\000K\016\000\000@\250\000\000\000\000\000\0005\146\000\000\000\000\000\000KZ\000\000\000\000\012\222\000\000\000\000\030\030\000\000\000\000]\228\000\000\000\000\000\000K\240\000\000\000\000\000\000\000\000LV\000\000\000\000\015\234\030@\000\000\000\000M\018\000\000\000\000\004\166A\208\000\000\004\186\000\000\000\000\000\000\000\000\004\128\000\000A8\000\000$\222\000I%\212\000\000\001L\000\000\022\224\000\000\023\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\020&\202\002\006'\\\000\000\000\000\000\000\003.\000\000\024h\000\000\005&\000\000\000\000\018\208\001$(R\000\000\002\226\000\000\025^)H\000\000\000\000\026T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\140\012 \000\000\005\164\000\000\000\000\000\000\000\000\005\238\000\000\026\230\000\000\000\000\000\000/\166RZ\000\000\000\000\000\000/:\000\000\000\000\000\000\000\000\005\1881\014\000\000\000\000\000\000\000\000\005\192\000\000\000\000\000\000\000\000\016R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\027\220\000\000\000\000\000\000R\240\000\000\r\022\000\000\000\000\000\000\0050\000\000\005\178\000\000\000\000\002\212\028\210\000\000\029d\000\000\000\000\000\000\003\156\000\000Sr\004\250S\134\000\000S\162\000\000\000\000\000\000\005h\000\000T2\005\190\000\000\000\000,X=z\000\000\005\204-\232\000\000\000\000.z\000\000\000\000\000\000\006\006\000\000TF\006\018\000\000\000\000\b\208\006\030\014p\000\000\0272\000\000\000\000\000\000\0068\000\000T\200\006\156\000\000\000\000\000\000\002H\000\000\002\192\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\022\000\000\000\000\007\186\000\000\000\160\000\000\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000\000\007\188\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\150\000\000\t\196\000\000\000\000\000D\000\000\002\188\001R\002x\000\000\000\000\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0034\004\254\000\000\000\000\b\166\000\000\000\000\000\000\012\002\000\000\000\000\012\248\rR\000\000\000\000\000\000\000\000\r\238\015>\002\186\000\000\002\162\000\000\000\000\000\000\000\000\018\156\000\000\000\000\000\000\000\000\000\000\000\000\000E\000\000\000\000\007\202\000\000\000\000\001\208\000\000\019\002\000\000\000\000\000\000\b\020\000\000\000\000\019\200\000\000\000c\000\000\000\000\000\000\000\000\000\129\019`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\200\021V\000\000\000\000\000\000\000\000\024\162\024\250\b\206\000\000\026\022\000\000\000\000\000\000\000\000\000\000\000\000\018\178\000\000\003B\000\000\000\000\000\000\n\012\000\000\000<\000\000\000\000\000\000\023\212\000\000\000\000\0266\027\002\n\186\000\000\027x\000\000\000\000\000\000\000\000\000\000\000\000\002\170\002\128\000\000\002\202\000\000\028r\011\002\000\000\028\202\000\000\000\000\000\000\000\000\003\028\000\000\003\174\000\000\000\000\000\000\001f\000\000\001f\003\154\003\246\000\000\000\000\000\000\001l\014\176\000\000\000\000\000\000\000\000\000\000\002\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\016\000\000\000\000\000\005\000\000\014\248\004\180\004\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\142\000\000\000\000\024\244\029$\000\000\000\000\000\000\000\000\029\128\000\000\000\0006\132\000\000\005\130\000\000\000\000\000\000\000\000\014\250\000\000\000\000\000\000\000\000\000\000\001|\024\204\000\000\000\000\026~\000\000\000\000\000\000\000\000\r\012\000\000\000\000\003\144\000\000\000\000\000\000\000\191\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000M.\000\000\000\000\000\000\001\011\000\000\000\000\000\000\000\000\000\000\001\026\012\152\017\b\017\132\000\000\006\184\007\014\007\022\007d\000\000\000\000\000\000\000\000\000\000\000\000\007$\030Z\000\000)\218\007~\000\000\000\000\007\224\000\000\031P\000\000B\022\000\000\000\000\007(\031\226\000\000*\208\000\000\007f+\198\000\000\000\000\000\000\002\148\025\130\000\000\000\000\000\000\000\000\016\222\000\000\021\206!$\000\000\000\000\027\200\"\026\000\000\"L\000\000\000\000\021\174\000\000\023\"\000\000\000\000$\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\012\000\000\000\000\000\000\b\002\000\000 \216\000\000\026t\004\160\000\000\000\000\000\000\000\000\000\000\000\000\0044\000\000\000\000\000\000\000\000\000\000M\134\000\000\004\014\000\000\000\000\000\000\000\000\000\000\002*\000\000\015\002\0022\015\248\000\000\004p\016\238\000\000\004\178\000\000\005f\000\000\006\\\000\000\007R\000\000\026t\000\000\000\000\000\000\000\000\000\000\bH\000\000\004\186\000\000\t>\000\000\026t\005,\000\000\001\194\000\000\005@\006\236\000\000\004\020\000\000\004L\000\000\000\000\000\000\000\000\000\000\000\000\004h\000\000\004\132\000\000\004\226\000\000\000\000\000\000\000\000\000\000\005\030\000\000\000\000\000\000\000\000\000\000\006\134\0050\000\000\000\000\005\160\000\000\000\000\005\188\005\128\007H\000\000\007N\000\000\000\000\003\136\006R\000\000\006\002\000\000\000\000\006T\000\000\000\000\000\000\000\000\000\000\000\000\007\156\006~\000\000\000\000\000\000\006\190\006\140\005\158\006@\006\186\007\002\000\000\000\000\006\168\006P\006\162\006\220\007\022\000\000\000\000\007\176\b$\000\000\b@\000\000\bd\000\000\000\000\bF\000\000\000\000\bP\000\000\000\000\000\000\000\000\bb\000\000\b\144\000\000\000\000\000\000\b\150\000\000\000\000\000\000\b\156\000\000\000\000\000\000"), (16, "\001\210\000p\000\018\000=\003?\004t\003R\001\159\000p\006T\000y\000=\006U\005\169\005L\005M\000\007\000y\005\170\005\171\003\133\003\134\000p\002N\005\144\000\017\000N\002\217\004r\0042\001\211\000y\006Y\005\021\001\212\000N\006J\006K\000$\001D\0059\000\005\001E\000?\000p\002\133\002\134\002\157\002\137\006\011\005\172\000>\000N\000y\000N\002P\001D\003\007\006O\001P\000*\005\173\006E\006F\005:\0005\004\001\0005\003A\005=\005L\005M\001\162\006\t\003B\006\012\005L\005M\000N\000z\001\160\005]\001D\001\028\000p\001P\001\017\001\t\002S\003\233\002\196\006R\000O\000y\001\t\005N\001\213\005\170\005\171\002u\000p\000O\001\214\002\182\001F\005[\000p\002\148\001\t\000y\001G\005^\005L\005M\000p\000y\001\017\006R\000O\002\130\000O\001F\002\172\000y\001\147\001\239\001\019\001G\002S\005\202\001\t\0006\002\195\0006\002\174\005d\002O\004\161\002\198\003W\005\173\000z\001\012\003\235\000O\001\160\000p\001F\001V\002\185\002S\005N\0005\001G\001\210\000y\001\018\005N\003?\005A\003R\001\150\000p\002\133\002\138\001V\002\137\006~\002O\005E\001\t\000y\002\187\006\127\004\202\004\208\000p\003\133\003\134\003\237\0005\006\128\004|\004\000\001\135\000y\001\t\004\147\001\238\001\"\003O\001V\001\t\005N\003\242\005\249\002\188\000z\000\179\004\002\001\t\003P\004\163\004\128\004\207\002S\002S\004t\0009\005T\0009\003\007\002O\006\002\006+\004n\001\227\002\154\0006\002\164\004\001\005n\003A\001\029\000\179\000p\001\012\001\228\003B\001$\005\145\005\239\001\t\000\179\000y\002\166\001W\002\177\001\023\005b\003\244\006\b\0043\003\233\004z\001\023\0006\004\n\001\t\002\139\000\179\004\145\000P\001W\005\148\005\237\005\240\005L\005M\004*\003[\005\251\001\t\001\031\0005\006\t\002B\006\012\005L\005M\005O\000Q\002\176\002T\004\157\002\243\000\179\001 \003\\\001W\006\003\002\129\006\130\003]\001 \003\217\001\029\003^\001\153\007\026\001\210\006\004\006\005\003_\003?\0009\003R\003\235\001 \002\248\004\134\000<\001\136\002-\007\027\006\131\002&\005Y\002\167\006\190\0065\001\t\000p\001Z\002,\003\176\000p\006\128\006\191\004\000\001 \000y\006\193\003\208\002\166\000y\001\030\001X\005g\001Y\0006\001[\003\136\003\237\000\004\002\156\001\163\001\023\005N\001Z\001]\001\029\0005\002\129\003O\001\"\001^\003\007\003\242\005N\0068\002\192\000\179\004\002\006\132\003P\004\001\001[\003A\000\005\001\026\003\253\001\\\006\133\003B\000p\001]\002\139\006\210\006\163\006\\\005a\001^\003\254\000y\002\177\001 \001\127\006\208\003\233\000p\001!\001 \001\023\004w\001#\000\167\005\249\002a\000y\002\197\002T\006\001\005\236\003\244\002k\004\005\006\165\001\t\002\129\002\218\004\n\001\t\003\218\004\203\006\167\000\004\0009\0006\002S\004\147\002d\003\209\004*\003[\003\000\005\132\005\237\005\240\005L\005M\003\219\001 \005\150\002S\004\205\005\134\005L\005M\0005\005\254\000\005\003\\\003\235\006+\000p\001\210\003]\001 \006\211\003?\003^\003R\0005\000y\000p\002\151\003_\004\134\005R\007#\001\t\001 \005\251\000y\004\205\000N\0005\000p\005h\000N\006\006\002\192\002\217\004r\0042\001\t\000y\000p\003\237\001\210\006;\000p\002\217\001\211\005b\004\136\000y\001\212\002\151\003O\000y\000Z\000p\003\242\0009\002\153\005S\000\179\004\002\006\212\003P\000y\003\007\002\178\0006\005\196\004\150\000F\006\133\005N\002\197\004\001\003\007\003A\006\214\000\r\002\218\005N\0006\003B\005\221\002S\005i\002l\0063\002S\005\135\003\158\002\152\000]\001\t\000O\0006\0005\003\233\000O\002S\000\016\000\017\003\244\001\t\004\005\006\216\002\180\006A\001\230\004\n\000N\002|\001\213\006\218\002e\004\228\001\t\002f\001\214\000R\005\223\004*\003[\001\210\006]\001\023\001\t\003?\000N\003R\001\t\004\230\000\170\000U\005a\0005\000\b\000\176\002\178\006\007\003\\\001\t\006=\006\b\0009\003]\004\129\003W\001\006\003^\001\012\003\235\004f\001\210\001\232\003_\005\252\003?\0009\003R\001 \005\233\0006\005\235\001 \004\004\006\129\006\t\005T\006\012\005L\005M\0009\005e\002\255\000p\000O\003\254\002\179\002\225\006\128\006\196\0042\006\184\000y\001\233\006\185\003\237\0048\001\230\007\012\003A\005\245\003\014\000O\006\025\004\139\003B\003O\000\164\003\254\0006\003\242\006\176\006\177\000\172\000\179\004\002\005\025\003P\003\007\004\131\003\233\001 \006\193\004\231\001\235\004\002\006\193\004\001\000\004\003A\006C\004n\003\133\003\134\000a\003B\001\026\004\216\000\159\004\230\001\227\000S\002\024\001I\006\207\0007\005b\0009\000\179\000\178\003\233\001\228\000V\000\005\0005\000S\003\244\000F\0043\005N\004z\006\017\002\192\004\n\006\189\004l\000V\004\145\004\220\001\t\003W\000F\005p\004\n\003\235\004*\003[\004\018\006\199\002\185\007\019\002\229\006\215\006\181\001\210\004*\0009\001\238\003?\002\255\003R\002\193\003\164\001\017\003\\\006\174\005q\005L\005M\003]\003\181\002\197\002\189\003^\003\235\002\027\000p\004i\006\220\003_\003\237\006\128\006\196\0042\001 \000y\001C\004i\000N\0005\0006\003O\000\170\006R\001 \003\242\002\188\000\171\001 \000\179\001\240\006\224\003P\003Z\000\179\002S\0005\000\180\000:\001 \003\237\003\007\006R\004\218\000p\001\241\004n\004k\002\143\002\217\004\001\003O\003A\000y\006\244\003\242\000p\004j\003B\000\179\004\002\006\202\003P\0057\0058\000y\004\142\006\201\004\172\000\181\006\133\003\244\005\243\003\233\000p\004\142\003\243\000{\005N\003\007\003\254\006\023\006\242\000y\000O\0006\0005\003\135\002S\000\164\000N\003[\001\t\002\226\000\170\000\172\006\236\0009\000\182\000\176\004\238\003\244\0006\0043\000N\006\204\004\144\001\210\004\n\003\\\006\238\003?\006\206\003R\003]\004\143\004\240\000\183\003^\000p\004*\003[\000\255\000^\003_\004\166\000N\003\235\000y\000p\001\t\000\178\000\185\004\219\006\128\006\196\0042\004\166\000y\003\\\0005\000N\001\t\007\011\003]\000\170\002a\004\193\003^\004\193\000\171\007\t\0006\002{\003_\004\241\000O\006\240\006\015\001 \001\t\000\164\0009\003\237\003\007\004\168\007\030\000\172\000\005\002d\000O\004\240\000D\004\001\003O\003A\001\012\004\167\003\242\0009\006a\003B\000\179\004\002\006\202\003P\006\246\004\195\000F\004\194\006\203\003\216\000O\006\133\006\252\006\253\003\233\004\221\004\244\003\243\003\133\003\134\005t\000\178\004\255\001\t\0006\000O\003\133\003\134\003\133\003\134\000\164\000N\004\240\001\t\000\179\000\170\000\172\000\180\005\001\004\002\000\176\006a\003\244\007\002\0043\006a\006\204\003\208\001\210\004\n\002\190\005\002\003?\006\206\003R\000S\000_\004\218\005\005\003\133\003\134\004*\003[\006\245\007\031\005\r\000V\005\001\003\235\000\181\000p\000F\000\178\007%\004\240\006\128\006\196\0042\005\016\000y\003\\\005\015\004\220\007\003\006a\003]\006m\004\n\002\147\003^\007\b\004\018\007\020\007\007\005\015\003_\007\015\000O\003\254\004*\001 \003\208\000\164\001\020\003\237\003\007\000\179\007\020\000\172\000\180\007\017\001\023\0005\007&\004\001\003O\003A\000\187\002e\003\242\001\209\002f\003B\000\179\004\002\006\202\003P\005\019\000\188\001\023\000p\006\205\005H\005K\006\133\006p\003\209\003\233\001 \000y\003\243\000\181\003>\004\240\000\178\007C\007\019\003\254\005I\005I\001 \007\023\006\164\005\147\000N\000N\001\t\000\179\000\170\001D\000\180\007D\001E\000\176\003\254\003\244\002\159\0043\001 \006\204\000\182\001\210\004\n\003\248\001\023\003?\006\206\003R\0006\006e\007\024\006i\005\156\006w\004*\003[\007\028\007\029\007 \000\183\003\212\003\235\000\181\000p\000\184\007\019\007\020\007!\006\128\006\196\0042\007$\000y\003\\\000\185\007'\005\157\007(\003]\005\160\005L\005M\003^\001 \006|\003\215\001\t\003\207\003_\0079\000O\000O\006d\001 \001F\000\164\006c\003\237\003\007\000\179\001G\000\172\000\180\007.\0077\006\248\0073\004\001\003O\003A\000\187\0076\003\242\000p\000w\003B\000\179\004\002\006\202\003P\007?\000\190\000y\0005\006\213\003\208\007=\006\133\005s\007A\003\233\000p\007F\003\243\000\181\006b\002\217\000\178\001V\000\000\000y\000p\002\133\002\134\002\135\002\137\000\000\000N\000z\001\t\000y\000\170\005q\005L\005M\000\000\000\176\002S\003\244\000\000\0043\005N\006\204\000\182\001\210\004\n\003\007\000\000\003?\006\206\003R\000\000\005\134\005L\005M\002S\000z\004*\003[\005<\000\000\000\000\000\183\000\000\003\235\002S\000p\000\254\000\000\0006\000\000\006\128\006\196\0042\000\000\000y\003\\\000\185\000N\001\t\000\000\003]\000\170\005:\000\000\003^\000\000\000\174\005=\005L\005M\003_\000\000\000O\003\209\000\000\001 \001\t\000\164\000\000\003\237\003\007\000\179\000\179\000\172\000\180\001W\001\t\000\000\005\145\004\001\003O\003A\000\000\005N\003\242\000\000\001\023\003B\000\179\004\002\006\202\003P\000p\000\000\000\000\000\000\006\217\000\000\000\000\006\133\000\000\000y\003\233\005N\000\000\003\243\000\181\000\000\000\000\000\178\000\000\000\000\005\185\000O\005Z\0009\000\000\000\000\000\164\000N\000\000\001\t\000\000\000\170\000\172\001 \000\000\000\000\000\176\000\000\003\244\005\174\0043\000\000\006\204\000\182\001\210\004\n\005[\005N\003?\006\206\003R\000\000\005^\005L\005M\000\000\000\000\004*\003[\000\000\005\200\001\146\000\183\000\000\003\235\004\002\000p\001\001\000\178\000\000\000\000\002\217\004r\0042\000\000\000y\003\\\000\185\000\000\001\210\000\000\003]\000\000\001\211\005\198\003^\001\t\001\212\005\201\005L\005M\003_\000\000\000O\000\000\000\000\001 \000p\000\164\002T\003\237\003\007\000\179\002\139\000\172\000\180\000y\002\129\005\b\000\000\004\001\003O\003A\004\n\001\144\003\242\000\000\004\018\003B\000\179\004\002\006\202\003P\000p\000\000\004*\000\000\002T\000\000\000\000\006\133\000\000\000y\003\233\005N\002\129\003\243\000\181\000\000\000\000\000\178\000\000\000\000\000\000\000\000\001\230\001 \000\000\000\000\001\213\000N\000\000\001\t\000\179\000\170\001\214\000\180\000\000\000\000\000\176\000\000\003\244\000\000\0043\001 \006\204\000\182\001\210\004\n\000\000\005N\003?\006\206\003R\001 \005\134\005L\005M\000\000\000\000\004*\003[\001\231\001\t\000\000\000\183\000\217\003\235\000\181\000p\001R\001\232\000\000\000\000\002\217\004r\0042\000\000\000y\003\\\000\185\000\000\001\210\000\000\003]\000\000\001\211\000\000\003^\001\t\001\212\005\134\005L\005M\003_\000\000\000O\000\212\000\000\001 \000\000\000\164\001\233\003\237\003\007\000\179\000\000\000\172\000\180\001\022\000\000\000\000\000\000\004\001\003O\003A\000\183\001\023\003\242\000\000\000\218\003B\000\179\004\002\000\214\003P\004\211\004\128\000\000\000\000\000\000\000\185\005j\001\235\000\000\006\b\003\233\005N\000\000\003\243\000\181\000\000\000\000\000\178\000\000\000\000\005\211\000\000\001\230\001\227\002*\002\017\001\213\000\000\000\000\001\t\001 \000\179\001\214\006\t\001\228\006\012\005L\005M\003\244\000\000\0043\000\000\004z\000\182\001\210\004\n\000\000\005N\003?\004\018\003R\000\000\000\000\000\000\000p\002\028\005\226\004*\003[\001\231\000\000\002\020\000\183\000y\003\235\000\000\000p\001T\001\232\005p\001\238\002\217\004r\0042\000\000\000y\003\\\000\185\000\000\001\210\002\161\003]\000\000\001\211\000\000\003^\000\000\001\212\001\023\003\182\000\000\003_\000\000\005q\005L\005M\001 \000\000\002S\001\233\003\237\003\007\000\179\000\000\000\000\000\180\002\163\000\000\000\000\000\000\004\001\003O\003A\001\240\001\023\003\242\000\000\005N\003B\000\179\004\002\000\000\003P\004~\004\128\000\000\000p\001 \001\241\000\000\001\235\006\\\000\000\003\233\000\000\000y\003\243\000\181\000\000\0005\001\t\000\000\000\000\000\000\000\000\001\230\001\227\002'\002\017\001\213\000\000\000\000\001\t\001 \000\179\001\214\000\000\001\228\000\000\000\000\000\000\003\244\000\000\0043\000\000\004z\000\182\001\210\004\n\000\000\000\000\003?\004\018\003R\000\000\005N\000\000\000\000\002\028\000\000\004*\003[\001\231\000\000\002\020\000\183\000\000\003\235\000\000\000p\003T\001\232\005p\001\238\002\217\004r\0042\000\000\000y\003\\\000\185\005\236\001\210\000\000\003]\0006\001\211\000\000\003^\000\000\001\212\000\000\001\t\000\000\003_\000\000\005q\005L\005M\001 \000p\002\150\001\233\003\237\003\007\005\237\005\240\005L\005M\000y\000\000\000\000\000\000\004\001\003O\003A\001\240\005p\003\242\006\028\000\000\003B\000\179\004\002\000\000\003P\004\165\004\128\000p\002\133\002\141\001\241\002\137\001\235\000\000\000z\003\233\000y\000\000\003\243\000\000\005q\005L\005M\002S\000\000\000\000\000p\001\230\001\227\002$\002\017\001\213\000\000\000\000\001\t\000y\000\179\001\214\000\000\001\228\000\000\0009\000z\003\244\000\000\0043\000\000\004z\000\000\001\210\004\n\002S\000\000\003?\004\018\003R\000\000\005N\005w\000\000\002\028\004+\004*\003[\001\231\001\t\002\020\005N\000\000\003\235\002S\000p\006g\001\232\005p\001\238\002\217\004r\0042\0005\000y\003\\\000\000\000\000\001\210\000\000\003]\000\000\001\211\001\026\003^\000\000\001\212\001\t\000\000\000\000\003_\000\000\005q\005L\005M\001 \005N\000\000\001\233\003\237\003\007\000\000\004\031\000\000\000\000\000\000\001\t\000\000\006^\004\001\003O\003A\001\240\000\000\003\242\000p\001\023\003B\000\179\004\002\002\217\003P\004\215\004\128\000y\005\249\002\248\001\241\000\000\001\235\000\000\000\000\003\233\000\000\000\000\003\243\000\000\000\000\0005\0006\000\000\000\000\004Z\0005\001\230\001\227\002\"\002\017\001\213\000\000\003\007\001\t\000\000\000\179\001\214\001 \001\228\000\000\000\000\002S\003\244\000\000\0043\000\000\004z\000\000\001\210\004\n\005\250\000\000\003?\004\018\003R\000\000\005N\005}\000\000\002\028\000\000\004*\003[\001\231\006\018\002\020\006>\000p\003\235\000\000\000p\000\000\001\232\005\251\001\238\006\128\000y\004\000\000\000\000y\003\\\001\"\006\b\001\t\002T\003]\0006\000\000\002\139\003^\000\000\0006\002\129\000\000\000\000\003_\000\000\006\019\0009\006\020\001 \000\000\005{\001\233\003\237\003\007\006\t\000\000\006\012\005L\005M\000\000\002T\000\000\004\001\003O\003A\001\240\005p\003\242\002\129\001$\003B\000\179\004\002\003\211\003P\006\160\004\128\000^\006\021\001 \001\241\006\209\001\235\000\000\000\000\003\233\000\000\002a\003\243\006\022\005q\005L\005M\000\000\002v\000\000\000\000\000\000\001\227\002\015\002\017\001\t\000\000\000\000\001\t\000\000\000\179\001 \000\000\001\228\002d\003\208\000\000\003\244\000\000\0043\0009\004z\000\000\001\210\004\n\000\000\004\002\003?\004\018\003R\001\026\000\000\005\141\000\000\002\028\000\000\004*\003[\000p\000\000\002\020\000{\005N\003\235\000N\000p\000\000\000y\001D\001\238\006\128\001P\004\000\000\000\000y\003\\\005\252\002\127\000p\002\133\003]\000\000\002\140\000\000\003^\000\000\000\000\000y\0005\005\n\003_\000\000\000\000\004`\004\n\001 \005N\000\000\004\018\003\237\003\007\000\000\002S\0005\000\000\000\000\004*\000\000\000\000\004\001\003O\003A\001\240\000z\003\242\000S\000c\003B\000\179\004\002\006\195\003P\002S\000\000\003\209\000\000\000V\001\241\006\194\006\133\000O\000F\003\233\001F\000\000\006\198\001\147\000\000\0005\001G\000\000\000\000\000\000\000\000\001\t\001 \000\000\002\219\000\000\000\000\000\000\001\t\005\255\0005\0006\000\000\000\000\000\000\0005\000\000\003\244\000\000\004\005\006\200\001\t\002e\001\210\004\n\002f\0006\003?\006\206\003R\001\150\000\000\000\000\001\023\001V\000\000\004*\003[\000\000\000\000\000\000\006/\000p\003\235\000\000\000p\000\000\000\000\000\000\000\000\006\128\000y\004\000\000\000\000y\003\\\000\000\000\000\000p\000\000\003]\0006\000\000\006\\\003^\000\000\000\000\000y\000\000\000\000\003_\001\"\001 \000\000\000\000\001 \0006\005\139\000\000\003\237\003\007\0006\000\000\000p\002\133\002\134\002\145\002\137\0009\004\001\003O\003A\000y\000\000\003\242\000\000\000\000\003B\000\179\004\002\006\195\003P\000\000\0009\000\000\000\000\000\000\000\000\006\197\006\133\000\000\001$\003\233\000\000\002a\006\198\000\000\000\000\000z\000\179\000p\002c\001W\000\000\000\000\006\\\000\000\002S\001\t\000y\000N\001\t\000\000\000\000\000\170\0027\000\000\002d\0009\000\174\003\244\000\000\004\005\006\200\001\t\000\000\001\210\004\n\000\000\000\000\003?\006\206\003R\0009\000\000\004\031\000\000\001\153\0009\004*\003[\000\000\000\000\000\000\002T\002\142\003\235\000N\000p\001\t\002\243\001D\002\129\002\217\001P\004\000\000\000\000y\003\\\002\248\000\000\000N\001Z\003]\0005\000\170\000\000\003^\000\000\000\000\000\171\001\026\000\000\003_\002\248\004Z\000O\000\000\001 \000\000\001[\000\164\003\237\003\007\000\000\001\163\001\t\000\172\000\000\001]\002\249\001 \004\001\003O\003A\001^\000\000\003\242\000\000\000\000\003B\000\179\004\002\006\195\003P\006\135\000\000\000\000\002\219\001\202\000\000\000\000\006\133\000O\002\253\003\233\001F\000\000\006\198\001\147\000\000\000\000\001G\000\178\000{\006f\000\000\000O\000\000\006\162\0006\000\000\000\164\000\000\001\t\000\000\000\000\004\223\000\172\000\000\002Q\000\000\004\160\003\244\0005\004\005\006\200\000\000\002e\001\210\004\n\002f\000\000\003?\006\206\003R\001\150\000\000\005p\001\023\001V\000\000\004*\003[\0005\005\197\000\000\006^\002\139\003\235\000\000\000p\000\000\000\000\000\178\001\023\002\217\000\000\004\000\000\000\000y\003\\\005q\005L\005M\000\000\003]\006]\002\219\005\198\003^\000\000\002T\005\201\005L\005M\003_\000\000\001 \000\000\002\129\001 \000\000\000\000\000\000\003\237\003\007\0009\000\179\005p\0006\000\180\0005\000\000\001 \004\001\003O\003A\000\000\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\006^\0006\000\000\000\000\005q\005L\005M\003\249\001\023\003\233\001 \000\000\004\149\000\000\000\181\000p\000\179\000\000\000\000\001W\002\217\003\251\004\000\000\000\000y\000\000\000\000\005p\001\t\000\000\000\179\004\158\001\151\000\180\000\000\005N\004\160\003\244\000\000\004\005\004\151\001\"\000\000\000\212\004\n\004\031\005N\001 \004\018\0006\003\007\005q\005L\005M\001\153\000\000\004*\003[\0009\004\001\000\000\003A\000\183\003\235\000\000\000\181\000\213\003B\000\000\002\248\000\214\000\000\000\000\000\000\000\000\003\\\005\159\000\185\0009\001Z\003]\001$\003\233\000\000\003^\004$\005N\000Y\0005\000N\003_\0005\000\000\001D\000\000\001 \001P\001[\000\000\003\237\005\157\001\t\001\163\005\160\005L\005M\001]\000\000\000\000\004(\003O\000\000\001^\000\187\003\242\000\000\001\210\000\000\000\179\004\002\003?\003P\003R\000\000\000\192\004\031\0009\000\000\000p\000\000\000\000\004\007\002\219\005N\000\000\004\149\003\235\000y\000p\000\000\000\000\000\000\000\000\002\217\004\b\0042\000\000\000y\000\000\002\248\000\000\000\000\000\000\000\000\0006\000O\0005\0006\001F\005\137\003\244\001\147\004\005\004\151\001G\004$\005\203\004\n\000\000\001\216\000\000\004\018\003\237\003\007\000\000\000\000\0005\000\000\000\000\004*\003[\000\000\004\001\003O\003A\005N\000\000\003\242\000\000\004(\003B\000\179\004\002\000\000\003P\000\000\003\214\000\000\003\\\000\000\002w\000S\001V\003]\000\000\003\233\000\000\003^\0047\0005\005\152\000\000\000V\003_\001\t\000N\000\000\000F\001 \003?\002\219\003@\0006\002d\001\t\000\000\000\000\0005\000\000\000\000\000\000\0009\000\000\003\244\003\208\004\005\0049\000\000\000\000\001\210\004\n\000\000\0006\003?\004;\003R\000\000\000\000\000\000\000\000\000\000\000\000\004*\003[\0045\000\000\000\000\005\167\000N\003\235\000\\\000p\003?\000\000\003R\000\000\002\217\004\b\0042\000\000\000y\003\\\000\000\000\000\000\000\0006\003]\000\000\005p\000\000\003^\000O\0005\003A\000\000\000\000\003_\000\179\000\000\003B\001W\001 \000\000\0006\000\000\003\237\003\007\000\000\000\000\0009\000\000\000\000\005q\005L\005M\004\001\003O\003A\000\000\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\0009\000p\000\000\000{\003\209\000O\001\161\003A\004:\003\233\000y\000\000\003\243\003B\000\000\000p\000\000\000\000\000\000\002\220\002\217\004\b\0042\0005\000y\000\000\000\000\000\000\001\t\0006\000N\001Z\000\000\0009\003?\002e\003@\003\244\002f\0043\002z\0044\000\000\002\227\004\n\000\000\001\023\000\000\004\018\001[\003\007\0009\000\000\000p\001\163\000S\004*\003[\001]\004\001\000\000\003A\000y\003\235\001^\005N\000V\003B\000\000\000\000\000\000\000F\000\000\000\000\006\142\003\\\000\000\000\000\003W\000\000\003]\006\155\003\233\000\000\003^\001 \003O\001\t\000\000\0006\003_\000{\000\000\000\000\000\179\001 \000O\003P\003A\003\237\000\000\001\t\000\000\000\000\003B\000\000\0009\003\001\000\000\000\000\003O\0005\000\000\000\000\003\242\0005\001\210\000\000\000\179\004\002\003?\003P\003R\000\000\001\225\002a\000\000\000\000\000\000\003O\000\000\003\005\002y\000\000\000\000\003\243\003\235\000\179\000p\001\t\003P\005\156\000{\002\217\004r\0042\000\000\000y\002d\0005\000\000\000\000\000\000\000\000\003Y\002\219\000\000\000\000\002W\002\219\003\244\000\000\0043\000\000\0044\005\157\0009\004\n\005\160\005L\005M\004\018\003\237\003\007\003\131\000\000\000\000\0006\000\000\004*\003[\0006\004\001\003O\003A\000\000\000\000\003\242\000\000\005\178\003B\000\179\004\002\000\000\003P\000\000\000\000\002t\003\\\003[\006\156\000\000\000\000\003]\000\000\003\233\000\000\003^\003\243\000\000\000\000\000\000\000N\003_\000\000\0006\000\170\003\\\001 \000\000\003O\000\171\003]\000\000\001\t\006\157\003^\006\145\000\179\000\000\006\146\003P\003_\003\244\0005\0043\000\000\0044\001\023\001\210\004\n\000\000\000\000\003?\004\018\003R\000\000\000\000\000\000\000\000\005N\000\000\004*\003[\0009\000\000\000\000\000{\0009\003\235\000\000\000p\000\000\000\000\000\000\000\000\002\217\004r\0042\000\000\000y\003\\\000\000\002\131\000\000\005\156\003]\001 \000O\002e\003^\000\000\002f\000\164\000\000\000\000\003_\000\000\000\000\000\172\001\023\001 \0009\000\000\000\000\003\237\003\007\000\000\000\000\005\157\0006\000\000\005\160\005L\005M\004\001\003O\003A\003Q\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\004y\000\000\000\000\000N\000\000\000\000\000\178\001\211\0005\003\233\001 \001\212\003\243\000\000\000\000\000p\000\000\000\000\000\000\000\000\002\217\004r\0042\0005\000y\000\000\000{\000N\001\t\000\000\000{\000\170\000\000\000\000\000\000\000\000\000\171\003\244\000\000\0043\000\000\004z\003\b\000\000\004\n\000\000\004,\000\000\004\018\000\000\003\007\000\000\005\180\000\000\000\000\000\000\004*\003[\0009\004\001\000\000\003A\005p\003\235\002o\005N\003\012\003B\000\000\000O\0040\000\000\000\000\001\213\0006\003\\\000\000\000\000\000\000\001\214\003]\006\b\003\233\000\000\003^\000\000\005q\005L\005M\0006\003_\000\179\000\000\000O\000\180\001 \000\000\000\000\000\164\003\237\005\156\001\t\000\000\0005\000\172\006\t\005p\006\012\005L\005M\003O\0005\000\000\000\000\003\242\000\000\001\210\000\000\000\179\004\002\003?\003P\003R\004{\005\157\000\000\000\181\005\160\005L\005M\005q\005L\005M\000\000\0005\003\243\003\235\000\000\000p\000\000\000\178\000\000\000\000\002\217\004\152\0042\000\000\000y\000\000\000{\000N\0009\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\176\003\244\006a\0043\000\000\004z\002\232\0009\004\n\005N\0006\000\000\004\018\003\237\003\007\000\187\000\000\000\000\0006\002\219\004*\003[\000\000\004\001\003O\003A\000\194\005\206\003\242\000\000\005N\003B\000\179\004\002\001\227\003P\000\000\004\141\000\000\003\\\000\000\0006\000\179\000\000\003]\001\228\003\233\000\000\003^\003\243\005N\000\000\000\000\005N\003_\000\000\000\000\000O\000\000\001 \000\000\000\000\000\164\000\000\000\000\001\t\000\179\000\000\000\172\000\180\000\000\004\154\000\000\000\000\003\244\000\000\0043\000\000\004z\000\000\001\210\004\n\000\000\000{\003?\004\018\003R\0009\000\000\005p\000\000\000\000\000\000\004*\003[\0009\0005\000\000\003D\003\159\003\235\000\181\000p\000\000\000\178\005p\000\000\002\217\004\152\0042\000\000\000y\003\\\005q\005L\005M\000\000\003]\0009\000\000\000\000\003^\000\000\006a\001\229\0005\000\000\003_\000\000\005q\005L\005M\001 \005\191\000\000\000\000\003\237\003\007\000\000\006\b\002\219\000\000\000\000\000\000\000\000\000\000\004\001\003O\003A\000\187\000\000\003\242\0066\001\210\003B\000\179\004\002\003?\003P\003R\000\196\000\000\0006\006\t\000\000\006\012\005L\005M\004\174\003\233\000\000\006\"\003\243\000\000\000\000\000p\000\000\005\189\003M\000\000\002\217\004\b\0042\006e\000y\002\243\000{\000\000\001\t\000\179\000\000\0006\000\180\000\000\004\156\005N\000\000\003\244\0005\0043\000\000\004\155\003\167\000\000\004\n\0005\000\000\005p\004\018\002\248\003\007\005N\000\000\000p\000\000\000\000\004*\003[\002\217\004\001\000\000\003A\000y\003\235\000\181\002\249\000\000\003B\000\000\000\000\000\000\005q\005L\005M\000\000\003\\\000\000\000\000\000\000\0009\003]\000\000\003\233\000\000\003^\000\000\000\000\005N\003\007\002\253\003_\000\000\000\000\000\182\000\000\001 \000\000\002S\000\000\003\237\000\000\001\t\000\000\000\000\0006\000\000\005p\000\000\0009\000\000\003O\0006\000\183\000\000\003\242\000\000\001\210\003V\000\179\004\002\003?\003P\003R\000\000\000\000\000\000\000\000\000\185\000p\000N\005q\005L\005M\000\161\002K\003\243\003\235\000y\000p\001\t\000\000\000\000\000\000\002\217\006e\004\000\004\031\000y\000\000\000\000\001\210\000N\000\000\005N\001\211\000\161\002G\000\000\001\212\005\187\003\244\000\000\0043\000\000\004\155\000\000\000\000\004\n\000\000\000\000\002\248\004\018\003\237\003\007\000\000\005\217\000\000\000\000\000\000\004*\003[\0009\004\001\003O\003A\000\000\004$\003\242\0009\000\000\003B\000\179\004\002\000\000\003P\000O\000\000\000\000\003\\\000{\000\164\006\150\000\000\003]\000\000\003\233\000\165\003^\003\243\0069\004(\000\000\005N\003_\001\t\003\183\001\230\000O\001 \000\000\001\213\000\000\000\164\000\000\001\t\000\000\001\214\004\209\000\165\000\000\004\002\005p\004\160\003\244\000\000\0043\000\000\0044\000\000\001\210\004\n\000\000\000\178\003?\004\018\003R\000\000\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\005q\005L\005M\000\000\003\235\000\000\000p\001\232\000\000\000\178\000\000\002\217\000\000\004\000\000\000\000y\003\\\000{\005\012\000\000\005p\003]\005\215\004\n\003\152\003^\000\000\004\018\000\000\000\000\000\000\003_\000\000\003\189\000\000\004*\001 \000\000\001\233\000\000\003\237\003\007\000\000\000\000\005q\005L\005M\000\000\000\000\000\000\004\001\003O\003A\000\000\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\000\000\005p\000\000\000\000\000\000\001\235\000\000\000\000\000\179\003\233\001 \000\180\004\149\000\000\000\000\000p\000\000\005\213\005N\000\000\002\217\001\227\004\000\002\014\000y\005q\005L\005M\001\t\000\179\000\179\004\225\001\228\000\180\000\000\006\145\004\160\003\244\006\146\004\005\004\151\006\153\000\000\000\181\004\n\000\000\001\023\005p\004\018\000\000\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\0005\004\001\000\000\003A\005N\003\235\000\000\000\181\000\000\003B\001\238\000\000\000\000\005q\005L\005M\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\000\000\003^\001 \0005\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\003\237\000\000\001\t\000\000\0005\004\227\000\000\000\000\005N\000\000\004\160\003O\001\240\000\000\000\000\003\242\000\000\001\210\000\000\000\179\004\002\003?\003P\003R\000\000\0006\000\000\001\241\000\000\000\000\000N\000\000\000\000\000\000\000\161\002A\004\149\003\235\000\000\000p\000\000\000\000\000\000\005\230\002\217\000\000\004\000\000\000\000y\000\000\000\000\001\210\000N\0006\005N\001\211\000\161\0026\000\000\001\212\000\000\003\244\000\000\004\005\004\151\000\000\000\000\000\000\004\n\000\000\0006\000\000\004\018\003\237\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\004\001\003O\003A\000\000\005\228\003\242\000\000\000\000\003B\000\179\004\002\000\000\003P\000O\000\000\000\000\003\\\000\000\000\164\0009\000\000\003]\000\000\003\233\000\165\003^\004\149\000\000\000\000\000\000\000\000\003_\000\000\000\000\001\230\000O\001 \000\000\001\213\000\000\000\164\000\000\001\t\000\000\001\214\006j\000\165\0009\000\000\006 \004\160\003\244\000\000\004\005\004\151\000\000\000\000\001\210\004\n\000\000\000\178\003?\004\018\003R\0009\000\000\000\000\000\000\000\000\000\000\004*\003[\006r\000\000\000\000\000\000\000\000\003\235\000\000\000p\001\232\000\000\000\178\000\000\002\217\004\b\0042\000\000\000y\003\\\000\000\000\000\000\000\000\000\003]\006%\000\000\000\000\003^\000\000\000\000\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\000\001 \000{\001\233\000\000\003\237\003\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\001\003O\003A\004\022\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\000\000\000{\000\000\000\000\000\000\001\235\000\000\000\000\000\179\003\233\000\000\000\180\004\149\000\000\000\000\000p\000\000\004Q\000{\000\000\002\217\001\227\004\000\001\237\000y\000\000\000\000\000\000\001\t\000\179\000\179\000\000\001\228\000\180\004a\000\000\000\000\003\244\000\000\004\005\004\151\000\000\000\000\000\181\004\n\000\000\000\000\000\000\004\018\000\000\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\004\001\000\000\003A\000\000\003\235\000\000\000\181\000\000\003B\001\238\000\000\000\000\000\000\000\000\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\000\000\003^\000\000\000\000\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\003\237\000\000\001\t\000\000\000\000\006x\000\000\000\000\000\000\000\000\004\160\003O\001\240\000\000\000\000\003\242\000\000\001\210\000\000\000\179\004\002\003?\003P\003R\000\000\000\000\000\000\001\241\000\000\000\000\000\000\000\000\006\166\000\000\000\000\000\000\003\243\003\235\000\000\000p\000\000\000\000\000\000\000\000\002\217\004\b\0042\000\000\000y\000\000\000\000\000N\000N\000\000\000\000\000\170\000\161\0023\000\000\000\000\000\171\003\244\000\000\0043\000\000\0044\000\000\000\000\004\n\000\000\000\000\000\000\004\018\003\237\003\007\000\000\000\000\000p\000\000\000\000\004*\003[\000\000\004\001\003O\003A\000y\000\000\003\242\000\000\000\000\003B\000\179\004\002\000\000\003P\000\000\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\000\000\003^\004\149\000\000\000\000\000\000\000\000\003_\000\000\000\000\000O\000O\001 \000\000\000\000\000\164\000\164\000\000\001\t\000\000\000\000\000\172\000\165\000\000\000\000\000\000\000\000\003\244\000\000\004\005\004\151\000\000\000\000\001\210\004\n\000\000\004\169\003?\004\018\003R\000\000\000\000\000\000\006\142\000\000\000\000\004*\003[\000\000\000\000\006\154\000\000\000\000\003\235\000\000\000p\001\t\000\178\000\178\000\000\002\217\000\000\0042\000\000\000y\003\\\000\000\000\000\000\000\000\000\003]\000\000\000\000\000\000\003^\000\000\000\000\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\003\237\003\007\000\000\000\000\000p\000\000\000\000\000\000\000\000\000\000\004\001\003O\003A\000y\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\000\000\000\000\000\000\000\000\000\000\000p\000\000\000\000\000\000\003\233\000\000\0046\003\243\000\000\000y\000p\000\000\000\000\000\000\000\000\002\217\000\000\004\000\000\000\000y\000\000\000\000\000N\001\t\000\179\000\179\000\170\000\180\000\180\000\000\000\000\000\171\003\244\000\000\0043\000\000\0044\000\000\000\000\004\n\000\000\000\000\000\000\004\018\000\000\003\007\000\000\000\000\006\142\000\000\000\000\004*\003[\000\000\004\001\006\149\003A\000\000\003\235\000\181\000\181\001\t\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\\\000\000\000\000\006\142\000\000\003]\000\000\003\233\006\145\003^\006\144\006\146\000\000\000\000\000\000\003_\001\t\000\000\000O\001\023\001 \000\000\000\000\000\164\003\237\000\000\001\t\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\003O\000\000\000\187\000\000\003\242\000\000\001\210\000\000\000\179\004\002\003?\003P\003R\000\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \003\255\004\171\003\235\000\000\000p\000\000\000\178\000\000\000\000\002\217\000\000\004\000\000\000\000y\000\000\000\000\000N\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\171\003\244\000\000\0043\000\000\004\173\000\000\000\000\004\n\000\000\000\000\000\000\004\018\003\237\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\004\001\003O\003A\000\000\000\000\003\242\000\000\000N\003B\000\179\004\002\001D\003P\000\000\001P\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\006\145\003^\004\003\006\146\000\000\000\000\000\000\003_\000\000\000\000\000O\001\023\001 \000\000\000\000\000\164\000\000\000\000\001\t\000\179\000\000\000\172\000\180\000\000\000\000\006\145\000\000\003\244\006\146\004\005\004\006\000\000\000\000\001\210\004\n\000\000\001\023\003?\004\018\003R\000\000\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\000O\001 \004\t\001F\003\235\000\181\000p\000\000\000\178\001G\000\000\002\217\000\000\004\000\000\000\000y\003\\\000\000\000\000\000\000\000\000\003]\000\000\000\000\000\000\003^\001 \000\000\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\003\237\003\007\000\000\000\000\000\000\000\000\000\000\001V\000\000\000\000\004\001\003O\003A\000\187\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\000\200\000\000\000\000\000\000\000\000\000p\000\000\000\000\000\000\003\233\000\000\000\000\004\003\000\000\000y\000p\000\000\000\000\000\000\000\000\002\217\000\000\004\000\000\000\000y\000\000\000\000\000N\001\t\000\179\000\000\000\170\000\180\000\000\000\000\000\000\000\171\003\244\000\000\004\005\004\006\000\000\000\000\000\000\004\n\000\000\000\000\000\000\004\018\000\000\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\004\001\000\000\003A\000\000\003\235\000\181\000\000\000\000\003B\000\179\000\000\000\000\001W\000\000\000\000\000\000\003\\\000\000\000\000\006\142\000\000\003]\000\000\003\233\000\000\003^\006\152\000\000\000\000\000\000\000\000\003_\001\t\000\000\000O\000\000\001 \000\000\000\000\000\164\003\237\000\000\001\t\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\003O\000\000\000\187\000\000\003\242\000\000\001\210\000\000\000\179\004\002\003?\003P\003R\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\000\000\000\000\000\000\004\003\003\235\000\000\000p\000\000\000\178\000\000\000\000\002\217\000N\004\000\000\000\000y\000\170\001[\000\000\000\000\000\000\000\171\001\149\000\000\000\000\000\000\001]\000\000\003\244\000\000\004\005\004\006\001^\000\000\000\000\004\n\000\000\000\000\000\000\004\018\003\237\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\004\001\003O\003A\000\000\000\000\003\242\000\000\000\000\003B\000\179\004\002\000p\003P\000\000\000\000\000\000\003\\\000\000\004}\000\000\000y\003]\000\000\003\233\000\000\003^\004v\000\000\000O\000\000\000\000\003_\000\000\000\164\000\000\000\000\001 \000\000\000\000\000\172\000\000\000N\001\t\000\179\000\000\000\170\000\180\000\000\000\000\006\145\000\171\003\244\006\146\004\005\004x\000\000\000\000\001\210\004\n\000\000\001\023\003?\004\018\003R\000\000\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\000\000\000\000\000\178\000\000\003\235\000\181\000p\000\000\000\000\000\000\002a\002\217\000\000\004\000\000\000\000y\003\\\002k\000\000\000\000\000\000\003]\000\000\000\000\001\t\003^\001 \000\000\000\000\000\000\000\000\003_\000\000\002d\000O\000\000\001 \000\000\000\000\000\164\003\237\003\007\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\004\001\003O\003A\000\187\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\000\204\000\000\000\000\000\000\004u\000\000\000\000\000\000\000\000\003\233\000\000\000\000\004v\000\000\000\000\000p\000\000\000\178\000\000\000\000\002\217\000\000\004\000\000\179\000y\000\000\000\180\000N\001\t\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\171\003\244\000\000\004\005\004x\000\000\000\000\000\000\004\n\000\000\000\000\000\000\004\018\000\000\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\181\004\001\000\000\003A\000\000\003\235\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\002l\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\000\000\003^\000\000\000\000\000\000\000\000\000\000\003_\000\000\000\000\000O\000\000\001 \000\000\002m\000\164\003\237\002e\001\t\000\179\002f\000\172\000\180\000\187\000\000\000\000\000\000\003O\001\023\000\000\000\000\003\242\000\000\001\210\000\206\000\179\004\002\003?\003P\003R\000\000\000\000\000\000\004\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\003\235\000\181\000p\000\000\000\178\000\000\000\000\002\217\000N\004\000\000\000\000y\000\170\000\000\001 \000\000\000\000\000\171\000\000\000\000\000\000\000\000\000\000\000\000\003\244\000\000\004\005\004\140\000\000\000\000\000\000\004\n\000\000\000\000\000\000\004\018\003\237\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\004\001\003O\003A\000\187\000\000\003\242\000\000\000\000\003B\000\179\004\002\000p\003P\000\000\000\208\000\000\003\\\000\000\004\135\000\000\000y\003]\000\000\003\233\000\000\003^\004v\000\000\000O\000\000\000N\003_\000\000\000\164\000\161\0022\001 \000\000\000\000\000\172\000\000\000\000\001\t\000\179\000\000\000\000\000\180\000\000\000\000\000\000\004\148\003\244\000\000\004\005\004x\000\000\000\000\001\210\004\n\000\000\000\000\003?\004\018\003R\000\000\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\000\000\000\000\000\178\000\000\003\235\000\181\000p\000\000\000\000\000\000\002a\002\217\000\000\004\000\000\000\000y\003\\\002k\000\000\000\000\000\000\003]\000\000\000O\001\t\003^\000\000\000\000\000\164\000\000\000\000\003_\000\000\002d\000\165\000\000\001 \000\000\000\000\000\000\003\237\003\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\001\003O\003A\000\187\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\000\222\000\000\000\000\000\000\000\000\000\000\000\178\000\000\000\000\003\233\006n\000\000\004\149\000\000\000\000\000p\000\000\000\000\000\000\000\000\002\217\000N\004\000\000\179\000y\000\170\000\180\000\000\001\t\000\000\000\171\000\000\000\000\000\000\000\000\000\000\004\153\003\244\000\000\004\005\004\151\000\000\000\000\000\000\004\n\000\000\000\000\000\000\004\018\000\000\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\181\004\001\000\000\003A\000\000\003\235\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\002l\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\000\000\003^\000\000\000\000\000O\000\000\000\000\003_\000\179\000\164\000\000\000\180\001 \000\000\002r\000\172\003\237\002e\001\t\000\000\002f\000\000\000\000\000\187\000\000\000\000\000\000\003O\001\023\000\000\000\000\003\242\000\000\001\210\000\224\000\179\004\002\003?\003P\003R\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\006z\000\178\004\149\003\235\000\000\000p\000\000\000\000\000\000\000\000\002\217\000N\004\000\000\000\000y\000\170\000\000\001 \000N\000\000\000\171\000\000\001D\000\000\000\000\001P\000\000\003\244\000\000\004\005\004\151\000\000\000\000\000\000\004\n\000\000\000\000\000\000\004\018\003\237\003\007\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\004\001\003O\003A\000\000\000\000\003\242\000\000\000\000\003B\000\179\004\002\000\000\003P\000\000\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\000\000\003^\006o\000\000\000O\000\000\000\000\003_\000\000\000\164\000\000\000O\001 \000\179\001F\000\172\000\180\001\147\001\t\000\000\001G\000\000\000\000\000\000\000\000\000\000\000\000\003\244\000\000\004\005\006q\000\000\000\000\001\210\004\n\000\000\000\000\003?\004\018\003R\000\000\000\000\000\000\000\000\000\000\000\000\004*\003[\000\181\000\000\006}\000\178\000\000\003\235\001\150\000p\000\000\000\000\001V\000\000\002\217\000\000\004\000\000\000\000y\003\\\000\000\000\000\000\000\000\000\003]\000\000\000\000\000\000\003^\000\000\000\000\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\003\237\003\007\000\000\000\000\000\000\000\000\000\000\002/\000\000\000\000\004\001\003O\003A\000\000\000\000\003\242\000\000\001\210\003B\000\179\004\002\003?\003P\003R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\233\000\000\000\000\006o\000\000\000\000\000p\000\000\000\000\000\000\000\000\002\217\000\000\004\248\000\179\000y\000N\000\180\000\000\001\t\000\170\000\179\000\000\000\000\001W\000\174\000\000\000\000\003\244\000\000\004\005\006q\000\000\000\000\000\000\004\n\000\000\001\174\001\210\004\018\000\000\003\007\001\211\000\000\000\000\000\000\001\212\004*\003[\000\181\004\001\000\000\003A\000\000\003\235\000\000\000\000\000\000\003B\001\153\000\000\000\000\000\000\000\000\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\233\000\000\003^\000\000\000\000\000\000\000\000\000\000\003_\000O\000\000\001Z\000\000\001 \000\164\000\000\000\210\003\237\000\000\001\t\000\172\000\000\000\000\000\000\001\b\000\000\000\000\000\000\003O\001[\000\000\001\230\003\242\002L\001\163\001\213\000\179\004\002\001]\003P\000\000\001\214\000\000\000\000\001^\000\000\000\000\000\000\000p\000\000\000\000\000\000\000\000\006o\003\235\000\000\000\178\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\231\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\232\003\244\000\000\004\005\006q\000\000\000\000\000\000\004\n\000\000\000\000\000\000\004\018\003\237\004\249\000\000\000\000\000\000\000\000\000\000\004*\003[\000\000\000\000\003O\000\000\000\000\000\000\003\242\000\000\000\000\001\233\000\179\004\002\001\210\003P\000\000\000\000\003?\003\\\003R\000\000\000\000\002a\003]\000\000\000\000\000\000\003^\003\243\002k\000\000\000\000\000\000\003_\000\000\000p\001\t\000\000\001 \000\000\002\217\001\235\004\248\000\179\000y\002d\000\180\000\000\000\000\000\000\000\000\000\000\000\000\003\244\000\000\004\252\000\000\001\227\003\129\002\017\004\n\000\000\000\000\000\000\004\018\000\179\000\000\000\000\001\228\000\000\003\007\000\219\004*\003[\000\000\000\000\000\000\000\000\000\181\004\001\000\000\003A\000\000\000\000\000\000\000\000\001\210\003B\000\000\002\028\003?\003\\\003R\000\000\000\000\002\020\003]\000\000\000\000\000\000\003^\000\000\003\233\000\000\001\238\000\000\003_\000\212\000p\000\000\000\000\001 \000\000\002\217\000\000\004\248\000\000\000y\000N\000\000\000\000\001\t\000\170\000\000\000\000\000\000\000\183\000\171\000\000\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\003\007\000\000\000\000\000\000\001\240\002l\000\000\000\000\000\000\004\001\000\000\003A\000\000\003\235\000\000\000\000\000\000\003B\000\000\001\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\235\000\000\003\233\002e\000\000\000\000\002f\000\000\000\000\000N\000\000\000O\000\000\003?\001\023\003R\000\164\000\000\000\000\003\237\004\251\001\t\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003O\000p\000\000\000\000\003\242\000\000\003\157\000\000\000\179\004\002\000y\003P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\000\003\243\003\235\000\000\000\178\000\000\000\000\004\187\000\000\000N\000\000\000\000\003\188\003?\000\000\003R\000\000\000\000\000\000\000\000\000\000\003\194\000\000\003A\000\000\000\000\003\244\000\000\004\252\003B\000\000\000p\000\000\004\n\000\000\000\000\003\157\004\018\003\237\004\254\000y\000\000\000\000\000\000\004\190\004*\003[\000\000\004\192\003O\000\000\000\000\000\000\003\242\000\000\000\000\000\000\000\179\004\002\000\000\003P\004\199\000\000\001\t\003\\\000\000\003\188\000\000\000\000\003]\000\000\000\000\000\000\003^\003\243\003\194\000\000\003A\000N\003_\000\000\000\000\000\170\003B\001 \000\000\000\000\000\174\000\000\000\179\004\196\000\000\000\180\000\000\003W\000\000\000\000\001\012\004\190\003\244\000p\004\252\004\192\000\000\000\000\003\157\004\n\000\000\000\000\000y\004\018\000\000\000\000\000\000\000\000\000\000\000\000\001\t\004*\003[\000\000\000N\000\000\000\000\000\181\000\161\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\188\000\000\003\\\000\000\000\000\000\000\000\000\003]\000\000\003\194\003O\003^\000\000\000\000\000\164\000\000\000\210\003_\000\179\004D\000\172\003P\001 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\195\000\000\004n\004>\000\187\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\001\t\000O\000\000\000N\000\000\000\178\000\164\003?\000\000\003R\000\000\000\000\000\165\003O\000\000\000\000\004E\000\000\000\000\000\000\004\198\000\179\004D\000\000\003P\000p\000\000\000\000\004_\003[\003\157\000\000\000N\000\000\000y\000\000\000\170\000\000\003\243\000\000\000\000\000\174\000N\000\000\000\000\000\000\000\170\003\\\000\178\000\000\000\000\000\171\003]\000\000\000p\004\189\003^\000\000\000\000\000\000\003\188\000\000\003_\000y\000\000\000\000\000\000\001 \000\000\003\194\004E\003A\000\000\000\000\004M\000\000\000N\003B\000\000\000\000\000\170\000\000\004_\003[\000\000\000\174\000\000\000\000\000\000\000\000\000\179\004D\004\190\000\180\000\000\000\000\004\192\000\000\000O\000\000\000\000\003\\\000\000\000\164\000\000\000\210\003]\000\000\000O\000\172\003^\001\t\000\000\000\164\000\000\000\000\003_\000\000\000\219\000\172\000\000\001 \000\000\000\000\000\000\000\181\000N\000\000\000\000\000\000\000\170\000\000\000\000\000\179\000\000\000\174\000\180\000\000\000\000\004E\001\t\000\000\000O\004M\000\000\000\178\000\000\000\164\000p\000\210\000\000\004_\000\000\000\172\000\212\000\178\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\181\000\161\0020\000\000\0029\000\183\001\012\000\000\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\178\001 \000\000\000O\003O\000\000\000\000\000\000\000\164\000\000\000\210\000\000\000\179\004D\000\172\003P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\000\000\003\243\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000O\000\000\000\180\001\t\000\000\000\164\000\000\000\000\000\178\000\179\000\000\000\165\000\180\000\000\000N\000\000\000\000\000\000\001D\004E\000\000\001P\000\000\004M\000\000\000\000\000\000\001\014\000\000\000\000\000\000\004_\003[\000\000\000\181\001\n\000p\001\012\000\000\000\000\000\000\000\000\000\000\000\179\000\181\000y\000\180\000\178\000\000\000\000\003\\\000\000\001\020\000\000\000\000\003]\000\000\000\000\000\000\003^\001\023\000\000\000\000\000\212\000\000\003_\000\000\000\000\000\000\000\000\001 \001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000O\000N\000\183\001F\000\000\001D\000\220\000\000\001P\001G\000\214\000\000\002=\000\179\000N\000\000\000\180\000\185\001D\001 \000\000\001P\000\000\000p\000\000\000\000\000\000\000\212\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\000p\000\000\000\000\000\000\001\135\001\014\001\t\000\000\000\000\000y\000\183\001V\000\181\000\000\000\220\000\000\000\179\000\000\000\214\000\180\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\001\020\000O\000\000\000\000\001F\000\000\000\000\000\000\001\023\000\000\001G\000\212\000\000\000\000\000O\000N\000\000\001F\000\000\001D\000\000\000\181\001P\001G\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\220\000\000\000\000\000p\000\214\000\000\000\000\001\135\000\000\001\t\000\000\000\185\000y\001 \001V\000\000\000\000\000\000\000\000\000\000\001\135\000\000\001\t\000\000\000\000\000\000\000\000\001V\000\000\000\000\000N\000\000\000\179\000\000\000\170\001W\000\000\000\000\000\000\000\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000O\000N\000\000\001F\000\000\001D\000N\000\000\001P\001G\000\170\001\136\001\137\000\000\000\000\000\171\000N\000\000\000\000\000\000\000\170\000\000\000\000\000p\000\000\000\174\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\001X\000\000\001Y\000\000\001\135\000\000\001\t\000\000\000\000\000\000\001\023\001V\001Z\000O\000\000\000\000\000\179\000\000\000\164\001W\000\210\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\179\001[\000O\001W\000\000\001F\001\\\000O\000\215\000\000\001]\001G\000\164\001\136\001\218\000\000\001^\000O\000\172\000\000\001 \001\127\000\164\000\000\000\210\000\000\001\136\003F\000\172\000\000\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\000\001X\000\000\001Y\001b\001\135\000\000\001\t\000\000\000\000\000\000\001\023\001V\001Z\001X\000\000\001Y\000\178\000\000\000\000\000\000\000N\000\000\000\000\001\023\001D\001Z\000\178\001P\000\000\000\179\001[\000\000\001W\000\000\000\000\001\\\000\000\000\000\000\000\001]\000\000\000\000\000p\001[\000\000\001^\000\000\000\000\001\\\001 \001\127\000y\001]\000\000\000\000\001\136\003\239\000\000\001^\000\000\000\000\000N\001 \001\127\000\000\000\161\000\163\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000\000\001X\000\180\001Y\000\000\000\000\000\000\000O\000\000\000\000\001F\001\023\000\000\001Z\000\000\000\000\001G\000\179\000\000\000\000\001W\000\000\000\179\000\000\000\000\000\180\000\000\000\219\000\000\000\000\000\000\001[\000\179\000N\000\181\000\180\001\\\000\170\000\000\000\000\001]\000\000\000\174\001\136\004\012\000\000\001^\001\135\000O\001\t\001 \001\127\000\000\000\164\001V\000p\000\000\000\181\000\000\000\165\000\219\000\000\000\000\000\212\000y\000\000\000\000\000\181\001X\000\000\001Y\000\000\000\000\006+\000\000\000\000\000\000\000\000\001\023\000\000\001Z\000\000\000\183\000\000\000p\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000y\000\000\000\178\000\212\000\185\001[\000O\006\b\000\000\000\000\001\\\000\164\000\187\000\210\001]\000\000\000\000\000\172\000\000\000\000\001^\000\000\000\183\000\228\001 \001\127\000\220\000\000\000\000\000\000\000\214\006\t\000\000\006\012\005L\005M\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000N\001\t\001W\000\000\000\170\000\000\000\178\000\000\000\000\000\174\000N\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000p\000\000\000\000\001\136\004G\000\000\000\000\000\000\001\t\000y\000p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000y\000\000\000\180\000N\000\000\000\000\000\000\000\170\000\000\001X\000\000\001Y\000\171\000\000\000\000\000\000\000\000\000\000\000\000\001\023\000\000\001Z\000\000\000\000\000\000\000O\000\000\005N\006.\000\000\000\164\000\000\000\210\000\000\000\181\000O\000\172\000\000\000\000\001[\000\164\000\000\000\210\000\000\001\\\000\000\000\172\000\000\001]\000\000\000\179\000\000\000\000\000\180\001^\000\000\000\000\000\000\001 \001\127\000\000\000N\000\000\000\000\000\000\000\170\000\000\001\t\000\000\000O\000\174\000\000\000\178\000\000\000\164\000\000\000\000\001\t\001.\000\000\000\172\000\000\000\178\000p\000\000\000\181\000\000\000\000\000\000\000\000\000N\000\000\000y\000\000\001D\000\000\000\000\001P\000\000\000\000\000N\000\000\000\000\002;\000\170\000\000\000\000\000\000\000\000\000\171\000\000\001\023\000p\000\000\000\212\000\000\000\178\000\000\000\000\000\000\000\000\000y\000\000\000\000\000N\000\000\000\000\000O\001D\000\000\000\000\001P\000\164\000\183\000\210\000\000\000\000\000\220\000\172\000\000\002\192\000\214\000\000\000\000\000\000\000\000\000p\000\000\000\185\0061\001 \000\000\000\000\000\000\000\000\000y\000O\000\179\000\000\001F\000\180\000\000\000\000\000\000\000\000\001G\000O\000\179\000\000\001\t\000\180\000\164\000\000\000\000\000\178\000\000\000\000\000\172\000\000\002\197\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\000\000\000\000\000O\000\000\000\181\001F\000\000\001&\001\134\000\000\001\t\001G\000\000\000\179\000\181\001V\000\180\000\000\000\000\000\000\000N\000\000\0024\000\000\001D\000\178\000\000\001P\000\000\000\000\001\023\000\000\001(\000\212\000\000\000\000\000\000\000\000\000\000\000\000\001\023\000\000\000p\000\212\001\t\000\000\000\000\000\000\000\181\001V\000\000\000y\000\183\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\183\000\000\000\000\000\000\000\220\000\185\000\000\001 \000\214\000\179\000\000\000\000\000\180\000\000\000\000\000\185\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\001G\000\187\000\000\000\000\001.\000\179\000\000\000\000\001W\000\000\000\000\000\181\000\230\000\000\000\000\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0010\000\000\001U\000\000\001\t\000\000\000\000\000\000\001\023\001V\000\179\000\212\000\000\001W\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\181\001D\000\000\000\000\001P\000\000\001X\000\000\001Y\000\183\000\000\000\000\000p\000\220\000\000\000\000\001\023\000\214\001Z\000p\000\000\000y\000\000\000\000\000\185\000\000\001 \000\000\000y\000\000\000\000\000N\000\000\000\000\000\000\001D\001[\000\000\001P\000\000\001X\001\\\001Y\000\000\000\000\001]\000\000\000\000\000\187\001\130\001\023\001^\001Z\000p\000\000\001 \001\127\000\000\000\000\000\232\000\000\000\000\000y\000O\000\000\000\000\001F\000\000\000\000\000\000\001[\000\000\001G\000\179\000\000\001\\\001W\000\000\000\000\001]\000\000\000\000\000\000\000\000\002a\001^\000\000\000\000\000\000\001 \001\131\002k\000\000\000\000\000\000\000\000\000\000\000O\001\t\000\000\001F\000\000\000\000\001\129\000\000\001\t\001G\002d\000\000\000\000\001V\000N\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\001X\000\000\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000p\001\023\000\000\001Z\001\133\000\000\001\t\000\000\000N\000y\000\000\001V\000\161\002)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001[\000\000\000\000\000N\000\000\001\\\000\000\000\170\000\000\001]\000\000\000\000\000\171\000\000\000\000\001^\000\000\000\000\000\000\001 \001\127\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\164\000\000\000\210\000\000\000N\000\000\000\172\000\000\000\161\001;\000\000\000\000\000\000\000\179\000\000\000\000\001W\000\000\000N\000\000\000\000\000\000\000\170\000\000\000\000\000O\000\000\000\174\002l\000\000\000\164\000\000\000\000\000\000\000\000\000\000\000\165\001\t\000\000\000\000\000p\000O\000\178\000\000\000\000\000\000\000\164\000\179\000\000\000y\001W\000\000\000\172\002\245\000\000\000\000\002e\000\000\000\000\002f\000\000\000\000\000\000\000\000\001X\000\000\001Y\001\023\000\000\000\000\000O\000\000\000\178\000N\001\023\000\164\001Z\000\161\001>\000\000\000\000\000\165\000\000\000\000\000O\000\000\000\000\000\000\000\178\000\164\000\000\000\210\000\000\000N\001[\000\172\000\000\000\170\001X\001\\\001Y\000\000\000\174\001]\000\000\000\000\001 \000\000\001\023\001^\001Z\000\000\000\000\001 \001\127\000p\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\001\t\000\179\001[\000\000\000\180\000\178\000\000\001\\\000\000\000\000\000\000\001]\000\000\000O\000\000\000\000\000\000\001^\000\164\000\000\000\000\001 \001\127\000\000\000\165\000\000\000\000\000\000\000\000\001\168\000\000\000\179\000\000\000O\000\180\000\000\000\181\000\000\000\164\000\000\000\210\000\000\000N\000\000\000\172\000\000\000\170\000\179\000\000\000\000\000\180\000\174\000\000\000\000\001\170\000\000\000\000\000\000\000\000\000\000\000\178\000\000\001\023\000N\000p\000\212\000\181\000\170\000\000\000\000\000\000\000\000\000\174\000y\000\000\001\t\000\179\000\000\000\000\000\180\000\178\000\000\000\181\000\000\000\183\000p\000\000\000\000\000\220\000\000\000\179\000\000\000\214\000\180\000y\000\000\000\000\000\000\000\000\000\185\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\000\000\181\000\000\000\164\000\000\000\210\000\000\000\000\001.\000\172\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000O\000\187\000N\000\000\000\000\000\164\003?\000\210\003R\000N\000\000\000\172\000\234\000\170\002?\000\000\000\179\000\000\000\174\000\180\000\000\001\t\001\023\000\000\000p\000\212\000\178\000\000\000\000\000\000\000N\000p\000\000\000y\000\161\001A\000\179\000\000\000\000\000\180\000y\000\000\001\t\000\000\000\183\000\000\000\000\000\178\000\220\000N\000\000\000\181\000\214\000\161\001\195\000\000\000\000\000\000\000\000\000\185\000\000\001 \000\000\000\000\001.\000\000\000\000\000\000\000O\000\000\003A\000\181\000\000\000\000\000\000\000O\003B\000\000\000\000\000\000\000\164\000\000\000\210\000\000\000\000\000\000\000\172\000\000\000\000\002E\000\000\000\000\000\000\000\000\000\000\000\000\000O\001\023\000\000\000\000\000\212\000\164\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\001\t\000\179\000\000\000\000\000\180\000O\000\000\001\t\000\000\000\183\000\164\000\000\000\178\000\220\000\000\000\000\000\165\000\214\000\000\000\000\000\000\000\000\000\179\000\000\000\185\000\180\001 \000\000\000\000\001.\000\000\003W\000\000\000\178\001\012\000\000\000\181\000\000\001\210\000\000\000\000\000\000\003?\000\000\003R\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\178\000\000\002I\000\000\000\000\000\181\000\000\000\000\000\000\000\000\001\023\000\000\000\000\000\212\000\000\003\226\004\222\000\000\000\000\000\000\000\000\001\210\000\000\003\021\000\000\003?\000\000\003R\000\000\000\000\003O\001\023\000\183\000\000\000\212\000\000\000\220\000\000\000\179\000\000\000\214\003P\000\000\000\000\000\000\000\179\000\000\000\185\000\180\001 \003\226\004o\001\230\000\183\003A\003Y\000\000\000\220\000\000\000\000\003B\000\214\000\000\000\000\000\000\000\000\000\179\000\000\000\185\000\180\001 \000\000\000\000\003*\000\000\003\233\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\179\001\210\001\230\000\180\003A\003?\001\020\003R\000\000\000\000\003B\000\000\000\000\003,\001\023\003[\000\181\000\000\000\000\000\000\000\000\001\023\000\000\000\000\000\212\003\233\000\000\000\000\000\000\000\000\003\226\004=\000\000\003\\\000\000\000\181\000\000\000\000\003]\000\000\000\000\000\000\003^\000\183\003\235\000\000\000\000\000\220\003_\000\000\000\000\000\214\000\000\001 \000\000\000\000\000\000\001\210\000\185\000\000\001 \003?\000\000\003R\000\000\000\000\000\000\001\230\000\000\003A\000\000\000\000\000N\000\000\000\000\003B\000\161\001\204\000\000\003\235\003\237\000\000\000\000\000\000\000\000\000\000\003\226\003\227\001\210\000\000\003\233\003O\003?\000\000\003R\003\242\000\000\000\000\000\000\000\179\000\000\000\000\003P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\237\003\243\003\226\003\241\000\000\000\000\000\000\000\000\001\230\000\000\003A\003O\000\000\000\000\000\000\003\242\003B\000\000\000\000\000\179\000\000\000\000\003P\000O\000\000\000\000\003\244\000\000\000\164\003\235\000\000\003\233\000\000\000\000\000\165\000\000\003\243\000\000\000\000\001\230\000\000\003A\000\000\000\000\000\000\000\000\003[\003B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\244\003\233\000\000\003\\\003\237\000\000\000\000\000\000\003]\000\178\000\000\000\000\003^\000\000\000\000\003O\000\000\000\000\003_\003\242\003[\000\000\000\000\000\179\003\235\000\000\003P\001\210\000\000\000\000\000\000\003?\000\000\003R\000\000\000\000\000\000\000\000\003\\\000\000\003\243\000\000\000\000\003]\000\000\000\000\000\000\003^\000\000\000\000\000\000\000\000\000\000\003_\000\000\003\235\003\226\004C\001\210\000\000\003\237\000\000\003?\000\000\003R\003\244\000\000\000\000\000\000\000\000\000\000\003O\000\000\000\000\000\000\003\242\000\000\000\000\000\000\000\179\000\000\000\000\003P\000\000\000\000\003[\000\000\003\226\004q\000\000\000\000\003\237\000\000\001\230\000\179\003A\003\243\000\180\000\000\000\000\000\000\003B\003O\003\\\000\000\000\000\003\242\000\000\003]\000\000\000\179\000\000\003^\003P\000\000\000\000\003\233\000\000\003_\000\000\000\000\003\244\000\000\000\000\001\230\000\000\003A\003\243\000\000\000\181\000\000\000\000\003B\000\000\001\210\000\000\000\000\000\000\003?\000\000\003R\003[\000\000\000\000\000\000\000\000\000\000\003\233\000\000\000N\000\000\000\000\003\244\000\170\000\000\000\000\000\000\000\000\000\174\003\\\000\000\000\000\000\000\004h\003]\000\000\000\000\000\000\003^\001\210\003\235\000\000\003[\001\211\003_\000\000\000\000\001\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\003\\\000\000\001\211\000\000\000\000\003]\001\212\000\000\000\000\003^\001\230\003\235\003A\000N\000\000\003_\003\237\000\170\003B\000\000\000\000\000\000\000\174\000\000\000\000\000O\000\000\003O\000\000\000\000\000\164\003\242\000\210\003\233\000\000\000\179\000\172\000\000\003P\000\000\000\000\000\000\000\000\000\000\000\000\001\230\000\000\003\237\000\000\001\213\000\000\000\000\003\243\000\000\000\000\001\214\000\000\000\000\003O\000\000\000\000\000\000\003\242\000\000\001\230\000\000\000\179\000\000\001\213\003P\000\000\000\000\000\178\000\000\001\214\000\000\000\000\003\244\000\000\000O\000\000\000\000\001\231\003\243\000\164\000\000\000\210\003\235\000\000\000\000\000\172\001\232\000\000\000\000\000\000\000\000\000\000\003[\000\000\001\165\000\000\002!\000\000\000\000\000\000\000\000\000\000\000\000\003\244\000\000\001\232\000\000\000\000\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\001\210\001\233\003\237\003^\001\211\000\178\000\000\003[\001\212\003_\000\000\000\000\000\000\003O\000\000\000\000\000\000\003\242\000\000\000\000\001\233\000\179\000\000\000\000\003P\003\\\000\000\000\000\000\000\000\000\003]\000\000\001\235\000\000\003^\000\000\000\179\000\000\003\243\000\180\003_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\227\006t\002\017\001\235\000\000\000\000\000\000\000\000\000\179\000\000\000\000\001\228\000\000\000\000\000\000\003\244\001\014\000\000\001\230\001\227\000\000\002\017\001\213\000\181\000\000\000\000\000\000\000\179\001\214\000\000\001\228\000\000\002\028\000\000\000\000\003[\000\000\002\030\002\020\000\000\000\000\000\000\000\179\000\000\000\000\000\180\000\000\001\238\000\000\000\000\000\000\000\000\000\212\003\\\000\000\002\019\000\000\002\020\003]\000\000\000\000\001\210\003^\000\000\001\232\001\211\001\238\000\000\003_\001\212\002 \000\183\000\000\000\000\000\000\000\220\000\000\000\181\000\000\000\214\000\000\001\210\000\000\000\000\000\000\001\211\000\185\000\000\000\000\001\212\001\240\000\000\000N\000\000\000\000\001\233\000\170\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000N\001\241\000\212\000\000\000\170\001\240\000\000\000\000\000\000\000\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\241\000\183\001\235\001\230\000\000\000\220\000\000\001\213\000\000\000\214\000\000\000\000\000\000\001\214\000\000\000\000\000\185\000\000\001\227\000\000\002\017\000N\000\000\001\230\000\000\000\170\000\179\001\213\000\000\001\228\000\174\000\000\000\000\001\214\000O\000\000\000\000\000\000\000\000\000\164\002\023\000\000\000\000\000\000\000\000\000\172\000O\000\000\000\000\001\232\000\000\000\164\000\000\000\210\000\000\000\000\002\020\000\172\000\000\000\000\002\026\000\000\000\000\000\000\000\000\001\238\000N\000\000\000\000\001\232\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\000N\001\233\000\178\000\000\000\170\000\000\000\000\000\000\000O\000\174\000\000\000\000\000\000\000\164\000\178\000\210\000\000\000\000\000\000\000\172\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\240\000\000\000\000\001\235\000\000\000\000\000\000\000\000\000p\000\000\000\000\000\000\000\000\000\000\000\000\001\241\000\000\000y\000\000\001\227\000\000\002\017\000\000\001\235\000O\000\000\000\178\000\179\000\000\000\164\001\228\000\210\000\000\000\000\000\000\000\172\000\000\000O\000\000\001\227\000\000\002\017\000\164\000\000\000\210\000\000\000\000\000\179\000\172\000\000\001\228\000\000\000\000\000\000\000\000\000\000\000\000\002\020\000\179\000\000\000N\000\180\000\000\000\000\000\170\002\222\001\238\000\000\000\000\000\174\000\179\000\178\000N\000\180\000\000\000\000\000\170\002\020\000\000\000\000\002a\000\174\000\000\000\000\000\178\000\000\001\238\002k\000\000\000\000\000\000\000\000\000\000\000\181\001\t\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\002d\000\000\000\181\002\239\000\000\000\000\001\240\000\000\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\241\000\000\000O\000\000\000\000\001\240\000\000\000\164\000\000\000\210\000\212\000\000\000\000\000\172\000O\002 \000\000\000\187\000\000\000\164\001\241\000\210\000\181\000\000\000\000\000\172\000\000\002\251\000\236\000\183\000\000\000\000\000\179\000\220\000\000\000\180\000\000\000\214\003c\000\000\003\003\000\000\000\000\000\000\000\185\000\179\000\000\000\000\000\180\000\178\000\000\000\212\000\000\000\000\000N\000\000\000\000\000\000\000\170\000\000\002 \000\178\000\000\000\174\000\000\000\000\000\000\000\181\000\000\000\000\000\183\000\000\000\000\002 \000\220\000\000\000\000\000\000\000\214\000\000\000\181\000\000\002l\000\000\000N\000\185\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\170\000\000\000\212\002e\000\000\000\000\002f\000\000\000\183\000\000\000\000\000\000\000\220\000O\001\023\000\000\000\214\000\000\000\164\000\000\000\210\000\183\003\n\000\185\000\172\000\220\000\000\000\179\000N\000\214\000\180\000\000\000\170\000\000\000\000\000\000\000\185\000\174\000\000\000\179\000\000\000\000\000\180\000O\000\000\000\000\000\000\000\000\000\164\000\000\000\210\000\000\000\000\001 \000\172\002 \000\000\000\000\000\000\000\000\000\178\000\000\000\181\000\000\000\000\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000N\000\000\000\178\000\212\000\170\000\000\000O\000\000\000\000\000\174\000\000\000\164\000\000\000\210\000\000\000\212\000\000\000\172\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\183\000\000\000\000\000\185\000\220\000N\000\000\000\000\000\214\000\170\000\000\000\000\000\000\000\000\000\174\000\185\000\000\000\000\003\162\000\178\000\000\000\000\000O\000\179\000\000\000\000\000\180\000\164\000\000\000\210\000\000\000\000\000O\000\172\000\000\000\000\000\000\000\164\000\000\000\210\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\003\174\000\000\000\000\002 \000\000\000\179\000\000\000\000\000\180\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\178\000\000\000O\000\000\000\000\000\000\000\000\000\164\000\000\000\210\000\178\000\000\002 \000\172\000\000\000\000\000\000\000\000\000\212\000\181\000\000\000\000\000\000\000\000\000\000\000N\003\197\000\000\000\000\000\170\003\179\000\000\000\000\000\000\000\171\000\179\000\000\000\183\000\180\000\000\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\212\000\178\000N\000\000\000\185\000\000\000\161\001\207\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\183\000\000\000\000\000\181\000\220\000\000\000\000\000N\000\214\000\000\000\000\000\170\000\000\003\186\000\000\000\185\000\174\000\000\000\179\000\000\000\000\000\180\000\000\003\192\000O\000\000\000\000\000\000\000\179\000\164\000\000\000\180\000\212\000N\000\000\000\172\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\002 \000\000\000\000\000O\000\000\000\183\000\000\000\181\000\164\000\220\002 \000\000\000\000\000\214\000\165\000\000\000\000\000\181\000\000\000\000\000\185\000\179\000\000\000\000\000\180\000\178\000N\000O\000\000\000\000\000\170\000\000\000\164\000\000\000\210\000\174\000\212\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\000\000\000\000\000\219\000\178\003\199\000\000\000O\000\000\000\183\000\181\000\000\000\164\000\220\000\210\000\000\000\000\000\214\000\172\000\183\000\000\000\000\000\000\000\220\000\185\000\000\000\000\000\214\000\178\000\000\000\000\000N\000\000\000\000\000\185\000\170\000\000\000\000\000\000\000\212\000\174\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\164\000N\000\210\000\178\000\000\000\170\000\172\000\183\000\000\000\000\000\174\000\220\000\000\000\179\000\000\000\214\000\180\000\000\000\000\000\000\000\000\000N\000\185\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\179\000\170\000\000\000\180\000\178\000\000\000\171\000\000\000O\000\000\000\181\000\000\000\000\000\164\000\000\000\210\000N\000\000\000\000\000\172\000\161\003\023\000\000\000\000\000\179\000\000\000\000\000\180\000\000\000O\000\000\000\000\000\000\000\000\000\164\000\181\000\210\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\004\016\000\000\000\000\000\000\000O\000\179\000\000\000\219\000\180\000\164\000\178\000\210\000N\000\187\000\181\000\172\000\170\000\000\000O\000\000\000\000\000\174\000\000\000\164\000\238\000\000\000\000\000\000\004?\000\172\000\000\000\178\000\000\002 \000\000\000\000\000\000\000O\000\000\004\029\000\181\000\000\000\164\000\212\000\179\000\000\000\000\000\180\000\165\000N\000\000\000\178\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\000\183\000N\000\000\000\178\000\220\000\161\0036\000\212\000\214\000\000\002 \000\000\000\000\000\000\000\000\000\185\000O\000\181\000\000\000\000\000\000\000\164\000\178\000\210\000\000\000\000\000\183\000\172\004&\000\000\000\220\000\000\000\000\000\179\000\214\000\000\000\180\000\000\000\000\000\000\004A\000\185\000\000\000\000\000\000\000\000\000\212\000\000\000\000\004.\000\000\000\000\000\000\000O\000\179\000\000\000\000\000\180\000\164\000\000\000\210\002 \000N\000\178\000\172\000\183\000\170\000O\000\181\000\220\000\000\000\174\000\164\000\214\000\179\000\000\000\000\000\180\000\165\000\000\000\185\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\179\000\181\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\212\000\000\000\000\000\178\000\000\000\219\000\000\000\000\000\000\000\000\000\179\000\000\000\181\000\180\000\000\000\000\000N\000\178\000\000\000\183\000\170\000\212\000\000\000\220\000\000\000\174\000\181\000\214\000\000\000\000\000\000\000O\000\000\000\000\000\185\000\000\000\164\000\000\000\210\000\000\000\183\000\212\000\172\000\000\000\220\000\181\000\000\000\000\000\214\000\000\000\000\000\179\000\000\000\000\000\180\000\185\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\000\000\187\000\185\000\000\000\000\000\178\000\219\000\000\000\000\000O\004K\000\000\000\240\000\181\000\164\000\179\000\210\000N\000\180\000\000\000\172\000\170\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\170\000\212\002 \000\000\000\000\000\174\000\000\000\000\000\000\000\181\000N\000\000\000\000\000\000\000\170\000\178\000\000\000\000\000\000\000\174\000\183\000\000\000\000\000\181\000\220\000\000\000\000\000\000\000\214\000\000\006P\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\212\000\000\000\000\000N\000O\000\000\004X\000\170\000\000\000\164\000\000\000\179\000\174\000\000\000\180\000\172\000N\000\000\000\000\000\183\000\170\000\000\000\000\000\220\000O\000\174\000\000\000\214\000\000\000\164\000\000\000\210\000\000\000\000\000\185\000\172\006\182\000\000\000O\002 \000\000\000\000\000\000\000\164\000\000\000\210\000\181\000\000\000\000\000\172\000\000\000\178\000\000\000\000\000N\000\000\000\000\004]\000\170\000\000\000\000\000\000\000\179\000\174\000\000\000\180\000\000\000\000\000\000\000O\000\000\000\178\000\000\000\000\000\164\000\212\000\210\000\000\000\000\000\000\000\172\000\000\000O\000\000\000\000\000\178\000\000\000\164\000\000\000\210\002 \000\000\000\000\000\172\000\183\000N\000\000\000\181\000\220\000\170\000\000\000\000\000\214\000\000\000\174\000\000\000\000\000\000\000N\000\185\000\000\000\000\000\170\000\000\000\000\000\000\000\178\000\174\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\164\000\212\000\210\000\000\000\178\000\000\000\172\000\000\000\000\000\000\000\000\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\220\000\000\004d\000\000\000\214\000\000\000\000\000\179\000\000\000\000\000\180\000\185\000O\000\000\000\000\000\000\000\000\000\164\000\178\000\210\000\000\000\179\000\181\000\172\000\180\000O\000\000\000\000\000\000\000\000\000\164\000\000\000\210\000\000\000\000\002 \000\172\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\006Q\000\000\000\000\000\179\000\000\000\000\000\180\000\181\000\000\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\179\000\000\000\000\000\180\000\000\000\187\000\212\000\178\000\000\000N\000\000\000\000\000\000\000\161\0039\001\002\000\242\000\000\000\000\000\000\000\212\000\000\000\181\000\000\000\000\000\183\000\000\000\000\006Q\000\220\000\000\000\000\000\000\000\214\000\000\000\181\000\000\000\000\000\179\000\183\000\185\000\180\000\000\000\220\000\000\000\000\000N\000\214\000\000\000\000\000\170\000\212\000\000\000\000\000\185\000\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\000\000\001\016\000N\000N\000\000\000\183\000\170\000\170\000\181\000\220\000O\000\174\000\174\000\214\000\179\000\164\000\000\000\180\000\183\000N\000\185\000\165\000\220\000\170\000\000\000\000\000\214\000\179\000\174\000\000\000\180\000\000\000\000\000\185\000\000\000\000\000N\000\212\000\000\000\000\000\161\003<\001\140\000\000\000\000\000\000\000\000\000O\000\000\000\181\000\000\000\000\000\164\000\000\000\210\001\157\000\183\000\178\000\172\000\000\000\220\000\000\000\181\000\000\000\214\000\000\000\000\000\000\000O\000O\000\000\000\185\000\000\000\164\000\164\000\210\000\210\000N\000\212\000\172\000\172\000\170\000\000\000\000\000\000\000O\000\174\000\000\000\000\000\000\000\164\000\212\000\210\000\000\000\178\000N\000\172\000\183\000\000\000\170\000\000\000\220\000O\000\000\000\174\000\214\000\000\000\164\000\000\000\000\000\183\000\000\000\185\000\165\000\220\000\178\000\178\000\000\000\214\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000O\000\000\000\180\000\000\000\000\000\164\000\178\000\210\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\164\000N\000\210\000\000\000\000\000\170\000\172\000\000\000\000\000\000\000\174\000\181\000\000\000\179\000\000\000\000\000\180\000\000\000N\000\000\000\000\000\000\000\170\000\000\000\178\000\000\000\000\000\174\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000\179\000\000\000\180\000\180\000\000\000\000\001\177\000\178\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\179\001\221\000\000\000\000\000\000\000O\000\179\000\181\000\181\000\180\000\164\000\000\000\210\000\000\000\000\000\212\000\172\002\205\000\000\000\000\000\000\000\000\000O\000\000\000\181\000\000\000\000\000\164\000\000\000\210\000\000\000N\000\000\000\172\000\183\000\170\000\212\000\212\000\220\000\000\000\174\000\181\000\214\000\000\000\000\000\000\000\000\000\179\000\000\000\185\000\180\000\000\000\178\000\212\000\000\000\183\000\183\000\000\000\000\000\220\000\220\000\000\000\000\000\214\000\214\000\179\000\000\000\000\000\180\000\178\000\185\000\185\000\183\000\000\000\000\002\211\000\220\000\000\000\000\000\000\000\214\000\000\000\181\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000\000\000O\000\000\000\000\000\181\000\000\000\164\000N\000\210\000\000\000\000\000\170\000\172\000\000\000\000\000\212\000\174\000N\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\000\000\000N\000\000\000\212\000\183\000\170\000\000\000\000\000\220\000\000\000\174\000\179\000\214\000\000\000\180\000\000\000\000\000\000\000\178\000\185\000\000\000\000\000\183\000\000\000\000\000\000\000\220\000\000\000\179\000\000\000\214\000\180\000\000\000\000\000\000\000\000\000\000\000\185\000\000\003\031\000\000\000\000\000\000\000O\000\000\000\000\000\181\000\000\000\164\000\000\000\210\000\000\000\000\000O\000\172\000\000\003#\000\000\000\164\000\000\000\210\000\000\000\000\000\181\000\172\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\164\000\000\000\210\000\212\000N\000\000\000\172\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\000\000\000\000\000\000\178\000\000\000\212\000\000\000\183\000N\000\000\000\000\000\220\000\170\000\178\000\000\000\214\000\179\000\171\000\000\000\180\000\000\000\000\000\185\000\000\000\183\000\000\000\000\000\178\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\003I\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000N\000O\000\000\000\000\000\170\000\000\000\164\000\000\000\210\000\174\000N\000\000\000\172\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000O\000\000\000\000\000\000\000N\000\164\000\212\000\000\000\170\000\000\000\000\000\172\000\000\000\174\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000\183\000\000\000\180\000\178\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\179\000\000\000\185\000\180\003\148\000\000\000\000\000\000\000O\000\178\000\000\000\181\000\000\000\164\003\230\000\210\000\000\000\000\000O\000\172\000\000\000\181\000\000\000\164\000\000\000\210\000\000\000\000\004\180\000\172\000\000\000\000\000O\000\000\000\000\000\181\000\000\000\164\000N\000\210\000\212\000\000\000\170\000\172\000\000\000\000\000\000\000\174\000N\000\000\000\212\000\000\000\170\000\000\000\000\000\178\000\000\000\174\000\000\000\183\000\000\000\000\000\000\000\220\000\212\000\178\000\000\000\214\000\000\000\183\000\000\000\000\000\000\000\220\000\185\000\179\000\000\000\214\000\180\000\178\000\000\000\000\000\000\000\183\000\185\000\000\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\179\000\000\000\000\000\180\000\185\000\000\000\000\000\000\000\000\004\213\000O\000\000\000\000\000\000\000\000\000\164\000\181\000\210\000\000\000N\000O\000\172\000\000\000\170\000\000\000\164\000\000\000\210\000\174\000\000\000\000\000\172\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000\178\000\000\000\180\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\178\000\220\000\000\000\179\000\000\000\214\000\180\004\233\000\000\000\000\000\000\000\000\000\185\000\000\000\181\000\000\000\187\004\235\000O\000\000\000\000\000\000\000\000\000\164\000\181\000\210\000\000\000\244\000\000\000\172\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000N\000\000\000\212\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000N\000\000\000\212\000\000\000\170\000\000\000\000\000\000\000\000\000\174\000\000\000\183\000\000\000N\000\178\000\220\000\212\000\170\000\000\000\214\000\000\000\183\000\171\000\000\000\179\000\220\000\185\000\180\000\000\000\214\000\000\000\000\000\000\000\000\000\179\000\183\000\185\000\180\000\000\000\220\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\004\243\000\000\000\000\000\000\000O\000\000\000\000\000\181\000\000\000\164\005\004\000\000\000\000\000\000\000O\000\172\000\000\000\181\000\000\000\164\000\000\000\000\000\000\000\000\000N\000\172\000\000\000O\000\170\000\000\000\000\000\000\000\164\000\171\000\000\000\000\000\212\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\000\179\000N\000\000\000\180\000\178\000\170\000\000\000\000\000\183\000\000\000\171\000\000\000\220\000\000\000\178\000\000\000\214\000\000\000\183\000\000\000\000\000\000\000\220\000\185\000\000\000\000\000\214\000\178\005\018\000\000\000N\000\000\000\000\000\185\000\170\000\181\000\000\000\000\000\000\000\171\000\000\000\000\000N\000O\000\000\000\000\000\170\000\000\000\164\000\000\000\000\000\171\000N\000\000\000\172\000\000\000\170\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\212\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\164\000\000\000\000\000N\000\000\000\000\000\172\000\170\000\000\000\000\000\000\000\183\000\171\000\000\000\000\000\220\000\000\000\179\000\178\000\214\000\180\000\000\000\000\000\000\000O\000\000\000\185\000\179\000\000\000\164\000\180\000\000\000\000\000\000\000\000\000\172\000O\000\000\000\000\000\000\000\179\000\164\000\178\000\180\000\000\000\000\000O\000\172\000\000\000\000\001d\000\164\000\181\000\000\000\000\000\000\000\000\000\172\000\000\000\000\003e\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\178\000\000\000\000\000\164\000\181\000\000\000\000\000\000\000\000\000\172\000\212\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\000N\000\178\000\000\000\000\000\170\000\000\000\000\000\000\000\183\000\171\000\000\000\179\000\218\000\000\000\180\000\000\000\214\000\000\000\183\000\000\000\000\000N\000\218\000\185\000\178\000\170\000\214\000\000\000\000\000\000\000\171\000\187\000\000\000\185\000\000\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\246\000\000\000\000\000\000\000\181\000\000\000\000\000N\000\000\000N\000\000\000\170\000\000\000\170\000\000\000\000\000\171\000\000\000\171\000\000\000\000\000\000\000\179\000N\000O\000\180\000\000\000\170\000\181\000\164\000\000\000\000\000\171\000\000\000\179\000\172\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000O\000\000\000\180\000\000\000\000\000\164\000\000\000\187\000\000\000\000\000\000\000\172\000\181\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\000\000\000\000\179\000\000\000\181\000\180\000\178\000\000\000O\000\000\000O\000\187\000\000\000\164\000\181\000\164\000N\000\000\000\000\000\172\000\170\000\172\000\250\000\000\000O\000\171\000\000\000\178\000\000\000\164\000\000\000\000\000\000\000\000\000\000\000\172\000\000\000\181\000\000\000N\000\187\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\252\000\187\000\000\000\000\000\178\000N\000\178\000\000\000\000\000\170\000\000\000\187\001`\000\000\000\171\000\000\000\000\000\000\000\000\000\000\000\178\000\000\001f\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000O\000\000\000\170\000\187\000\000\000\164\000\000\000\171\000\000\000\179\000\000\000\172\000\180\000N\001h\000\000\000\000\000\170\000\000\000\000\000N\000\000\000\171\000O\000\170\000\000\000\000\000\000\000\164\000\171\000\179\000\000\000\000\000\180\000\172\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\000\000\000\000\181\000\164\000\000\000\178\000\000\000\000\000N\000\172\000\000\000\000\000\170\000\000\000\000\000\000\000\179\000\171\000\179\000\180\000\000\000\180\000O\000\181\000\000\000\000\000\000\000\164\000\178\000\000\000\000\000\000\000\179\000\172\000N\000\180\000\000\000O\000\170\000\000\000\000\000\000\000\164\000\171\000O\000\178\000\000\000\000\000\172\000\164\000\187\000\181\000\000\000\181\000\000\000\172\000\000\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\181\000N\000\178\000\000\000\187\000\170\000\000\000O\000\000\000\000\000\171\000\000\000\164\000\000\000\000\001l\000\000\000\178\000\172\000\000\000\000\000\000\000\000\000\179\000\178\000\000\000\180\000\000\000\000\000\000\000\000\000\000\000\187\000O\000\187\000\000\000\000\000\000\000\164\000\000\000\000\000\000\000\000\001n\000\172\001p\000\179\000\000\000\187\000\180\000\000\000\000\000\000\000N\000\178\000\000\000\000\000\170\000\181\001r\000\000\000\000\000\171\000\179\000\000\000\000\000\180\000O\000\000\000\000\000N\000\000\000\164\000\000\000\170\000\000\000\000\000\000\000\172\000\171\000\178\000\181\000N\000\000\000\000\000\000\000\170\000\179\000\000\000\000\000\180\000\171\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\179\000\000\000\000\000\180\000\187\000N\000\000\000\179\000\000\000\170\000\180\000\000\000\178\000\000\000\171\001t\000\000\000O\000\000\000\000\000\181\000\000\000\164\000\000\000\000\000\000\000\000\000\187\000\172\000\000\000\000\000\000\000\000\000\000\000O\000\181\000\000\000\179\001v\000\164\000\180\000\000\000\181\000\000\000\187\000\172\000O\000p\000\000\000\000\000N\000\164\000\000\000\000\000\170\001x\000y\000\172\000N\000\171\000\000\000\000\000\170\000\179\000\178\000\000\000\180\000\171\000\187\000\000\000\000\000O\000\181\000\000\000\000\000\000\000\164\000\000\000\000\001z\000\000\000\178\000\172\000\187\000\000\000\000\000\000\000N\000\000\000\000\000\187\000\170\000\000\000\178\001|\000\000\000\171\000\179\000\181\000\000\000\180\001~\000N\000\000\000\000\000\000\000\170\000\000\000\000\000\000\000\000\000\171\000\000\000\000\000\000\000\000\000O\000\000\000\178\002a\000\187\000\164\000\000\000\000\000O\000\000\002k\000\172\000\000\000\164\000\000\001\243\000\181\001\t\000\000\000\172\000\000\000\000\000\000\000N\000\000\000\000\002d\000\170\000\000\000\000\000\187\000\000\000\171\000\179\000\000\000N\000\180\000O\000\000\000\170\000\000\001\245\000\164\000\000\000\171\000\000\000\000\000\178\000\172\000\000\000\179\000\000\000O\000\180\000\000\000\178\000\000\000\164\000\000\000\000\000\000\000\000\000\179\000\172\000\187\000\180\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\178\000\181\000\000\000\179\000\000\000O\000\180\000\000\000\000\000\000\000\164\000\000\000\000\000\181\000\000\000\178\000\172\000O\000\000\000\000\000\000\000N\000\164\000\000\000\000\000\170\000\000\000\000\000\172\000\000\000\171\000\000\000\187\000\000\000\000\000N\000\000\000\000\000\181\000\170\000\000\000\000\000\000\001\249\000\171\002l\000\000\000\000\000\179\000\187\000\000\000\180\000\178\000\000\000\000\000\000\000\179\000\000\000\000\000\180\001\251\000\187\000\000\000\000\000\178\000\000\000\000\000\000\000\000\000\000\004\025\000\000\001\253\002e\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\000\000\000\181\001\023\000\179\000\187\000O\000\180\000\000\000N\000\181\000\164\000\000\000\170\000\000\000\000\001\255\000\172\000\171\000\179\000O\000\000\000\180\000\000\000N\000\164\000\000\000\000\000\170\000\000\000\000\000\172\000\000\000\171\000\000\000\000\000\000\000\000\000\000\000\181\000N\000\000\001 \000\000\000\170\000\000\000\000\000\000\000\000\000\171\000\187\000\000\000\000\000\178\000\181\000\000\000\179\000\000\000\187\000\180\000\000\002\001\000\000\000\000\000\000\000\000\000\000\000\178\000\179\002\003\000p\000\180\000\000\000\000\000\000\000O\000\000\000\000\000\000\000y\000\164\000\000\000\000\000\000\000\000\000\000\000\172\000\187\000\000\000\000\000O\000\181\000\000\000\000\000\000\000\164\000\000\000\000\002\005\000\000\000\000\000\172\000\187\000\181\000\000\000N\000O\000\000\000\000\000\170\000\000\000\164\000\000\002\007\000\171\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\178\000\000\000N\000\000\000N\000\000\000\170\000\000\000\170\000\000\000\000\000\171\000\000\000\171\000\000\000\178\000\179\000\187\000\000\000\180\002a\000\000\000\000\000p\000\000\000\000\000\000\002k\002\t\000\187\000\179\000\178\000y\000\180\001\t\000N\000\000\000\000\000\000\000\170\002\011\000\000\000\000\002d\000\171\000\000\000\000\000\000\000\000\000O\000\000\000\181\000\000\000\000\000\164\000\000\000\000\000N\000\000\000\000\000\172\000\170\000\000\000\000\000\000\000\181\000\171\000\000\000O\000\000\000O\000\000\000\000\000\164\000\000\000\164\000\000\000\000\000N\000\172\000\000\000\172\000\170\000\000\000\000\000\179\000\000\000\171\000\180\000\000\000\000\000\000\000\000\000\000\000\000\002a\000\178\000\000\000\000\000\187\000\179\000O\002k\000\180\000\000\000\000\000\164\000\000\000\000\001\t\002\r\000\000\000\172\000\187\000\000\000\178\000\179\000\178\002d\000\180\000\181\000N\000\000\000O\003a\000\170\000\000\000\000\000\164\000\000\000\171\000\000\000\000\000\000\000\172\000\181\000\000\000\000\000N\000\000\000\000\000\000\000\170\000\000\000O\000\000\002l\000\171\000\178\000\164\000\000\000\181\000N\000\000\000N\000\172\000\170\000\000\000\170\000\000\000\000\000\171\000\000\000\171\000\000\000\000\000\000\000\000\000\187\000\000\000\178\004!\000\000\000\000\002e\000\000\000\000\002f\000\000\003g\000\000\000\179\000\000\000\187\000\180\001\023\000\000\000O\000\000\000\000\000\000\000\178\000\164\000\000\003i\000\000\000\000\000\000\000\172\000\187\000\179\000\000\000\179\000\180\000O\000\180\000\000\000\000\000\000\000\164\003k\000\000\000\000\000\000\000\000\000\172\000\181\000\000\000O\000\000\000O\002l\000\000\000\164\001 \000\164\000\000\000\000\000\000\000\172\000\000\000\172\000\000\000\179\000\178\000\181\000\180\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004T\000\000\000\000\002e\000\000\000\178\002f\000\000\000\000\000\179\000\000\000\000\000\180\000\000\001\023\000\000\000\000\000\000\000\187\000\178\000\000\000\178\000\181\000\000\000\000\000\000\000\000\000\000\000\000\003m\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\187\000\000\000\187\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\003o\000\000\003q\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\179\000\000\000\000\000\180\000\000\000\000\000\000\000\000\003s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\179\000\000\000\187\000\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003u\000\179\000\000\000\179\000\180\000\181\000\180\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003w\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003y\000\000\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003{\000\000\000\000\000\187\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\000\000\003\127"))
let semantic_action =
[|
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_dexpr = Obj.magic _1 in
+ let _1 : 'tv_dargexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1987 "parser_cocci_menhir.mly"
- ( Ast0.set_arg_exp _1 )
-# 1641 "parser_cocci_menhir.ml"
+# 2326 "parser_cocci_menhir.mly"
+ ( Ast0.set_arg_exp _1 )
+# 1768 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 110 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 1662 "parser_cocci_menhir.ml"
+# 1789 "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"
+# 2328 "parser_cocci_menhir.mly"
( let (nm,lenname,pure,clt) = _1 in
let nm = P.clt2mcode nm clt in
let lenname =
| Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
| Ast.CstLen n -> Ast0.CstListLen n in
Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
-# 1676 "parser_cocci_menhir.ml"
+# 1803 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1998 "parser_cocci_menhir.mly"
+# 2337 "parser_cocci_menhir.mly"
( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
-# 1700 "parser_cocci_menhir.ml"
+# 1827 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let ty : 'tv_signable_types = Obj.magic ty in
+ let r : (
+# 93 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 1854 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_all_basic_types =
+# 706 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 1861 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let ty : 'tv_signable_types = Obj.magic ty in
+ let r : (
+# 93 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 1888 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_all_basic_types =
+# 708 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 1895 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let ty : 'tv_signable_types = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_all_basic_types =
+# 709 "parser_cocci_menhir.mly"
+ ( ty )
+# 1919 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let ty : 'tv_non_signable_types = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_all_basic_types =
+# 710 "parser_cocci_menhir.mly"
+ ( ty )
+# 1943 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2034 "parser_cocci_menhir.mly"
+# 2373 "parser_cocci_menhir.mly"
( Ast.WhenAny )
-# 1722 "parser_cocci_menhir.ml"
+# 1965 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2035 "parser_cocci_menhir.mly"
+# 2374 "parser_cocci_menhir.mly"
( Ast.WhenStrict )
-# 1744 "parser_cocci_menhir.ml"
+# 1987 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2036 "parser_cocci_menhir.mly"
+# 2375 "parser_cocci_menhir.mly"
( Ast.WhenForall )
-# 1766 "parser_cocci_menhir.ml"
+# 2009 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2037 "parser_cocci_menhir.mly"
+# 2376 "parser_cocci_menhir.mly"
( Ast.WhenExists )
-# 1788 "parser_cocci_menhir.ml"
+# 2031 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1328 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
( _1 )
-# 1812 "parser_cocci_menhir.ml"
+# 2055 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 1844 "parser_cocci_menhir.ml"
+# 2087 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1330 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 1852 "parser_cocci_menhir.ml"
+# 2095 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 1884 "parser_cocci_menhir.ml"
+# 2127 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1332 "parser_cocci_menhir.mly"
+# 1551 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1892 "parser_cocci_menhir.ml"
+# 2135 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 1924 "parser_cocci_menhir.ml"
+# 2167 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1334 "parser_cocci_menhir.mly"
+# 1553 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 1932 "parser_cocci_menhir.ml"
+# 2175 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 1964 "parser_cocci_menhir.ml"
+# 2207 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1336 "parser_cocci_menhir.mly"
+# 1555 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 1972 "parser_cocci_menhir.ml"
+# 2215 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2004 "parser_cocci_menhir.ml"
+# 2247 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1338 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2012 "parser_cocci_menhir.ml"
+# 2255 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2044 "parser_cocci_menhir.ml"
+# 2287 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1340 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2052 "parser_cocci_menhir.ml"
+# 2295 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 2084 "parser_cocci_menhir.ml"
+# 2327 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1342 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2092 "parser_cocci_menhir.ml"
+# 2335 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 2124 "parser_cocci_menhir.ml"
+# 2367 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1344 "parser_cocci_menhir.mly"
+# 1563 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
-# 2132 "parser_cocci_menhir.ml"
+# 2375 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 2164 "parser_cocci_menhir.ml"
+# 2407 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1346 "parser_cocci_menhir.mly"
+# 1565 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2172 "parser_cocci_menhir.ml"
+# 2415 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
(Data.clt)
-# 2204 "parser_cocci_menhir.ml"
+# 2447 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1348 "parser_cocci_menhir.mly"
+# 1567 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
-# 2212 "parser_cocci_menhir.ml"
+# 2455 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 137 "parser_cocci_menhir.mly"
(Data.clt)
-# 2244 "parser_cocci_menhir.ml"
+# 2487 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1350 "parser_cocci_menhir.mly"
+# 1569 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
-# 2252 "parser_cocci_menhir.ml"
+# 2495 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 138 "parser_cocci_menhir.mly"
(Data.clt)
-# 2284 "parser_cocci_menhir.ml"
+# 2527 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1352 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
-# 2292 "parser_cocci_menhir.ml"
+# 2535 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 136 "parser_cocci_menhir.mly"
(Data.clt)
-# 2324 "parser_cocci_menhir.ml"
+# 2567 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1354 "parser_cocci_menhir.mly"
+# 1573 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2332 "parser_cocci_menhir.ml"
+# 2575 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Data.clt)
-# 2364 "parser_cocci_menhir.ml"
+# 2607 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1356 "parser_cocci_menhir.mly"
+# 1575 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2372 "parser_cocci_menhir.ml"
+# 2615 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1328 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
( _1 )
-# 2396 "parser_cocci_menhir.ml"
+# 2639 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 2428 "parser_cocci_menhir.ml"
+# 2671 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1330 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 2436 "parser_cocci_menhir.ml"
+# 2679 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2468 "parser_cocci_menhir.ml"
+# 2711 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1332 "parser_cocci_menhir.mly"
+# 1551 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2476 "parser_cocci_menhir.ml"
+# 2719 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 2508 "parser_cocci_menhir.ml"
+# 2751 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1334 "parser_cocci_menhir.mly"
+# 1553 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 2516 "parser_cocci_menhir.ml"
+# 2759 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 2548 "parser_cocci_menhir.ml"
+# 2791 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1336 "parser_cocci_menhir.mly"
+# 1555 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 2556 "parser_cocci_menhir.ml"
+# 2799 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2588 "parser_cocci_menhir.ml"
+# 2831 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1338 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2596 "parser_cocci_menhir.ml"
+# 2839 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2628 "parser_cocci_menhir.ml"
+# 2871 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1340 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2636 "parser_cocci_menhir.ml"
+# 2879 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 2668 "parser_cocci_menhir.ml"
+# 2911 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1342 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2676 "parser_cocci_menhir.ml"
+# 2919 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 2708 "parser_cocci_menhir.ml"
+# 2951 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1344 "parser_cocci_menhir.mly"
+# 1563 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
-# 2716 "parser_cocci_menhir.ml"
+# 2959 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 2748 "parser_cocci_menhir.ml"
+# 2991 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1346 "parser_cocci_menhir.mly"
+# 1565 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2756 "parser_cocci_menhir.ml"
+# 2999 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
(Data.clt)
-# 2788 "parser_cocci_menhir.ml"
+# 3031 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1348 "parser_cocci_menhir.mly"
+# 1567 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
-# 2796 "parser_cocci_menhir.ml"
+# 3039 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 137 "parser_cocci_menhir.mly"
(Data.clt)
-# 2828 "parser_cocci_menhir.ml"
+# 3071 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1350 "parser_cocci_menhir.mly"
+# 1569 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
-# 2836 "parser_cocci_menhir.ml"
+# 3079 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 138 "parser_cocci_menhir.mly"
(Data.clt)
-# 2868 "parser_cocci_menhir.ml"
+# 3111 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1352 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
-# 2876 "parser_cocci_menhir.ml"
+# 3119 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 136 "parser_cocci_menhir.mly"
(Data.clt)
-# 2908 "parser_cocci_menhir.ml"
+# 3151 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1354 "parser_cocci_menhir.mly"
+# 1573 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2916 "parser_cocci_menhir.ml"
+# 3159 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 135 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3191 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_eexpr_invalid_ =
+# 1575 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3199 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
+# 1547 "parser_cocci_menhir.mly"
+ ( _1 )
+# 3223 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3255 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
+# 1549 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3263 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 143 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3295 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
+# 1551 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3303 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 2948 "parser_cocci_menhir.ml"
+# 3335 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1356 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2956 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
+# 1553 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3343 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3375 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
+ let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1328 "parser_cocci_menhir.mly"
- ( _1 )
-# 2980 "parser_cocci_menhir.ml"
+# 1555 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3383 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 103 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3012 "parser_cocci_menhir.ml"
+# 142 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3415 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1330 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Mul _1 _2 _3 )
-# 3020 "parser_cocci_menhir.ml"
+# 1557 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3423 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 3052 "parser_cocci_menhir.ml"
+# 3455 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1332 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3060 "parser_cocci_menhir.ml"
+# 3463 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3092 "parser_cocci_menhir.ml"
+# 141 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 3495 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1334 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Plus _1 _2 _3 )
-# 3100 "parser_cocci_menhir.ml"
+# 1561 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3503 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 3132 "parser_cocci_menhir.ml"
+# 3535 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1336 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Minus _1 _2 _3 )
-# 3140 "parser_cocci_menhir.ml"
+# 1563 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3543 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3172 "parser_cocci_menhir.ml"
+# 140 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3575 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1338 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3180 "parser_cocci_menhir.ml"
+# 1565 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 3583 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3212 "parser_cocci_menhir.ml"
+# 139 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3615 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1340 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3220 "parser_cocci_menhir.ml"
+# 1567 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 3623 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
- (Ast_cocci.logicalOp * Data.clt)
-# 3252 "parser_cocci_menhir.ml"
+# 137 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3655 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1342 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3260 "parser_cocci_menhir.ml"
+# 1569 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 3663 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 138 "parser_cocci_menhir.mly"
(Data.clt)
-# 3292 "parser_cocci_menhir.ml"
+# 3695 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1344 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3300 "parser_cocci_menhir.ml"
+# 1571 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 3703 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 136 "parser_cocci_menhir.mly"
(Data.clt)
-# 3332 "parser_cocci_menhir.ml"
+# 3735 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1346 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3340 "parser_cocci_menhir.ml"
+# 1573 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 3743 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Data.clt)
-# 3372 "parser_cocci_menhir.ml"
+# 3775 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1348 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.And _1 _2 _3 )
-# 3380 "parser_cocci_menhir.ml"
+# 1575 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3783 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1547 "parser_cocci_menhir.mly"
+ ( _1 )
+# 3807 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 3412 "parser_cocci_menhir.ml"
+# 3839 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1350 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Or _1 _2 _3 )
-# 3420 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1549 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3847 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3452 "parser_cocci_menhir.ml"
+# 143 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3879 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1352 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3460 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1551 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 3492 "parser_cocci_menhir.ml"
+# 3919 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1354 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3500 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1553 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3927 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 3532 "parser_cocci_menhir.ml"
+# 3959 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1356 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3540 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1555 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3967 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 142 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3999 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1557 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4007 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 142 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4039 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
+ let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1328 "parser_cocci_menhir.mly"
- ( _1 )
-# 3564 "parser_cocci_menhir.ml"
+# 1559 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4047 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 141 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 4079 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1561 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4087 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 103 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 3596 "parser_cocci_menhir.ml"
+# 4119 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1330 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Mul _1 _2 _3 )
-# 3604 "parser_cocci_menhir.ml"
+# 1563 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4127 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3636 "parser_cocci_menhir.ml"
+# 140 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4159 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1332 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3644 "parser_cocci_menhir.ml"
+# 1565 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4167 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
(Data.clt)
-# 3676 "parser_cocci_menhir.ml"
+# 4199 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1334 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Plus _1 _2 _3 )
-# 3684 "parser_cocci_menhir.ml"
+# 1567 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 4207 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 137 "parser_cocci_menhir.mly"
(Data.clt)
-# 3716 "parser_cocci_menhir.ml"
+# 4239 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1336 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Minus _1 _2 _3 )
-# 3724 "parser_cocci_menhir.ml"
+# 1569 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 4247 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3756 "parser_cocci_menhir.ml"
+# 138 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4279 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1338 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3764 "parser_cocci_menhir.ml"
+# 1571 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4287 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3796 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4319 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1340 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3804 "parser_cocci_menhir.ml"
+# 1573 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4327 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
- (Ast_cocci.logicalOp * Data.clt)
-# 3836 "parser_cocci_menhir.ml"
+# 135 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4359 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1342 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3844 "parser_cocci_menhir.ml"
+# 1575 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 4367 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_arith_expr_bis =
+# 1580 "parser_cocci_menhir.mly"
+ ( _1 )
+# 4391 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 3876 "parser_cocci_menhir.ml"
+# 4423 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1344 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3884 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1582 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Mul _1 _2 _3 )
+# 4431 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 143 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4463 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1584 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4471 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 3916 "parser_cocci_menhir.ml"
+# 4503 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1346 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3924 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1586 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Plus _1 _2 _3 )
+# 4511 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 3956 "parser_cocci_menhir.ml"
+# 4543 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1348 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.And _1 _2 _3 )
-# 3964 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1588 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Minus _1 _2 _3 )
+# 4551 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4583 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1590 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4591 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 142 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4623 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1592 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4631 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 141 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 4663 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1594 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4671 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 3996 "parser_cocci_menhir.ml"
+# 4703 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1350 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Or _1 _2 _3 )
-# 4004 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1596 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4711 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(Data.clt)
-# 4036 "parser_cocci_menhir.ml"
+# 4743 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1352 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Xor _1 _2 _3 )
-# 4044 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1598 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4751 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
(Data.clt)
-# 4076 "parser_cocci_menhir.ml"
+# 4783 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1354 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 4084 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1600 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 4791 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 137 "parser_cocci_menhir.mly"
(Data.clt)
-# 4116 "parser_cocci_menhir.ml"
+# 4823 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1356 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 4124 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1602 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 4831 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 138 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4863 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1604 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4871 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 136 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4903 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1606 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4911 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arity =
-# 521 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
( Ast.UNIQUE )
-# 4146 "parser_cocci_menhir.ml"
+# 4933 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arity =
-# 522 "parser_cocci_menhir.mly"
+# 618 "parser_cocci_menhir.mly"
( Ast.OPT )
-# 4168 "parser_cocci_menhir.ml"
+# 4955 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arity =
-# 523 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast.MULTI )
-# 4190 "parser_cocci_menhir.ml"
+# 4977 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 620 "parser_cocci_menhir.mly"
( Ast.NONE )
-# 4207 "parser_cocci_menhir.ml"
+# 4994 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let r : (
-# 106 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(Data.clt)
-# 4238 "parser_cocci_menhir.ml"
+# 5025 "parser_cocci_menhir.ml"
) = Obj.magic r in
let i : 'tv_option_eexpr_ = Obj.magic i in
let l : (
-# 106 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(Data.clt)
-# 4244 "parser_cocci_menhir.ml"
+# 5031 "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"
+# 1336 "parser_cocci_menhir.mly"
( (l,i,r) )
-# 4251 "parser_cocci_menhir.ml"
+# 5038 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1300 "parser_cocci_menhir.mly"
+# 1518 "parser_cocci_menhir.mly"
( _1 )
-# 4275 "parser_cocci_menhir.ml"
+# 5062 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 112 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 4307 "parser_cocci_menhir.ml"
+# 5094 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1302 "parser_cocci_menhir.mly"
+# 1520 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
-# 4317 "parser_cocci_menhir.ml"
+# 5104 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 4349 "parser_cocci_menhir.ml"
+# 5136 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1306 "parser_cocci_menhir.mly"
+# 1524 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4359 "parser_cocci_menhir.ml"
+# 5146 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1300 "parser_cocci_menhir.mly"
+# 1518 "parser_cocci_menhir.mly"
( _1 )
-# 4383 "parser_cocci_menhir.ml"
+# 5170 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 112 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 4415 "parser_cocci_menhir.ml"
+# 5202 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1302 "parser_cocci_menhir.mly"
+# 1520 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
-# 4425 "parser_cocci_menhir.ml"
+# 5212 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 4457 "parser_cocci_menhir.ml"
+# 5244 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1306 "parser_cocci_menhir.mly"
+# 1524 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4467 "parser_cocci_menhir.ml"
+# 5254 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_expr_invalid_ =
-# 1300 "parser_cocci_menhir.mly"
+# 1518 "parser_cocci_menhir.mly"
( _1 )
-# 4491 "parser_cocci_menhir.ml"
+# 5278 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 112 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 4523 "parser_cocci_menhir.ml"
+# 5310 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_expr_invalid_ =
-# 1302 "parser_cocci_menhir.mly"
+# 1520 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
-# 4533 "parser_cocci_menhir.ml"
+# 5320 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 4565 "parser_cocci_menhir.ml"
+# 5352 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_expr_invalid_ =
-# 1306 "parser_cocci_menhir.mly"
+# 1524 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4575 "parser_cocci_menhir.ml"
+# 5362 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_bis =
-# 1311 "parser_cocci_menhir.mly"
+# 1529 "parser_cocci_menhir.mly"
( _1 )
-# 4599 "parser_cocci_menhir.ml"
+# 5386 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 112 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 4631 "parser_cocci_menhir.ml"
+# 5418 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_bis =
-# 1313 "parser_cocci_menhir.mly"
+# 1531 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
-# 4641 "parser_cocci_menhir.ml"
+# 5428 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 4673 "parser_cocci_menhir.ml"
+# 5460 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_bis =
-# 1317 "parser_cocci_menhir.mly"
+# 1535 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4683 "parser_cocci_menhir.ml"
+# 5470 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
-# 1297 "parser_cocci_menhir.mly"
- ( _1 )
-# 4707 "parser_cocci_menhir.ml"
+# 1515 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5494 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
-# 1297 "parser_cocci_menhir.mly"
- ( _1 )
-# 4731 "parser_cocci_menhir.ml"
+# 1515 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5518 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_basic_expr_expr_invalid_ =
-# 1297 "parser_cocci_menhir.mly"
- ( _1 )
-# 4755 "parser_cocci_menhir.ml"
+# 1515 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5542 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_fun_start = Obj.magic _3 in
let _2 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 4787 "parser_cocci_menhir.ml"
+# 5574 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 4792 "parser_cocci_menhir.ml"
+# 5579 "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"
+# 1193 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
-# 4800 "parser_cocci_menhir.ml"
+# 5587 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _4 : 'tv_fun_start = Obj.magic _4 in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 4837 "parser_cocci_menhir.ml"
+# 5624 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 4843 "parser_cocci_menhir.ml"
+# 5630 "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"
+# 1196 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
-# 4850 "parser_cocci_menhir.ml"
+# 5637 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1611 "parser_cocci_menhir.mly"
( _1 )
-# 4874 "parser_cocci_menhir.ml"
+# 5661 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 4911 "parser_cocci_menhir.ml"
+# 5698 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 4917 "parser_cocci_menhir.ml"
+# 5704 "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"
+# 1613 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
-# 4925 "parser_cocci_menhir.ml"
+# 5712 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_eexpr_invalid_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1611 "parser_cocci_menhir.mly"
( _1 )
-# 4949 "parser_cocci_menhir.ml"
+# 5736 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 4986 "parser_cocci_menhir.ml"
+# 5773 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 4992 "parser_cocci_menhir.ml"
+# 5779 "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"
+# 1613 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
-# 5000 "parser_cocci_menhir.ml"
+# 5787 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1611 "parser_cocci_menhir.mly"
( _1 )
-# 5024 "parser_cocci_menhir.ml"
+# 5811 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 5061 "parser_cocci_menhir.ml"
+# 5848 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5067 "parser_cocci_menhir.ml"
+# 5854 "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"
+# 1613 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
-# 5075 "parser_cocci_menhir.ml"
+# 5862 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_expr_invalid_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1611 "parser_cocci_menhir.mly"
( _1 )
-# 5099 "parser_cocci_menhir.ml"
+# 5886 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 5136 "parser_cocci_menhir.ml"
+# 5923 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5142 "parser_cocci_menhir.ml"
+# 5929 "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"
+# 1613 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
-# 5150 "parser_cocci_menhir.ml"
+# 5937 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_choose_iso =
-# 243 "parser_cocci_menhir.mly"
+# 284 "parser_cocci_menhir.mly"
( List.map P.id2name _2 )
-# 5178 "parser_cocci_menhir.ml"
+# 5965 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_any_strict_ =
-# 2012 "parser_cocci_menhir.mly"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5202 "parser_cocci_menhir.ml"
+# 5989 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_ctype_ =
-# 2012 "parser_cocci_menhir.mly"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5226 "parser_cocci_menhir.ml"
+# 6013 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_d_ident_ =
-# 2012 "parser_cocci_menhir.mly"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5250 "parser_cocci_menhir.ml"
+# 6037 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_ident_or_const_ =
-# 2012 "parser_cocci_menhir.mly"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5274 "parser_cocci_menhir.ml"
+# 6061 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_meta_ident_ =
-# 2012 "parser_cocci_menhir.mly"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5298 "parser_cocci_menhir.ml"
+# 6085 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_ =
-# 2012 "parser_cocci_menhir.mly"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5322 "parser_cocci_menhir.ml"
+# 6109 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5346 "parser_cocci_menhir.ml"
+# 6133 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5370 "parser_cocci_menhir.ml"
+# 6157 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5394 "parser_cocci_menhir.ml"
+# 6181 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5418 "parser_cocci_menhir.ml"
+# 6205 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5442 "parser_cocci_menhir.ml"
+# 6229 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5466 "parser_cocci_menhir.ml"
+# 6253 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5490 "parser_cocci_menhir.ml"
+# 6277 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_typedef_ident_ =
-# 2012 "parser_cocci_menhir.mly"
+# 2351 "parser_cocci_menhir.mly"
( _1 )
-# 5514 "parser_cocci_menhir.ml"
+# 6301 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
-# 1322 "parser_cocci_menhir.mly"
+# 1540 "parser_cocci_menhir.mly"
( _1 )
-# 5538 "parser_cocci_menhir.ml"
+# 6325 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
+ let r : 'tv_eargexpr = Obj.magic r in
let dd : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5580 "parser_cocci_menhir.ml"
+# 6367 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5586 "parser_cocci_menhir.ml"
+# 6373 "parser_cocci_menhir.ml"
) = Obj.magic w in
let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
let _startpos = _startpos_l_ in
let _endpos = _endpos_r_ in
let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
-# 1324 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 5595 "parser_cocci_menhir.ml"
+# 6382 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
-# 1322 "parser_cocci_menhir.mly"
+# 1540 "parser_cocci_menhir.mly"
( _1 )
-# 5619 "parser_cocci_menhir.ml"
+# 6406 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
+ let r : 'tv_eargexpr = Obj.magic r in
let dd : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5661 "parser_cocci_menhir.ml"
+# 6448 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5667 "parser_cocci_menhir.ml"
+# 6454 "parser_cocci_menhir.ml"
) = Obj.magic w in
let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
let _startpos = _startpos_l_ in
let _endpos = _endpos_r_ in
let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
-# 1324 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 5676 "parser_cocci_menhir.ml"
+# 6463 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_expr_invalid_ =
-# 1322 "parser_cocci_menhir.mly"
+# 1540 "parser_cocci_menhir.mly"
( _1 )
-# 5700 "parser_cocci_menhir.ml"
+# 6487 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
+ let r : 'tv_eargexpr = Obj.magic r in
let dd : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5742 "parser_cocci_menhir.ml"
+# 6529 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 5748 "parser_cocci_menhir.ml"
+# 6535 "parser_cocci_menhir.ml"
) = Obj.magic w in
let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
let _startpos = _startpos_l_ in
let _endpos = _endpos_r_ in
let _v : 'tv_cond_expr_expr_invalid_ =
-# 1324 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 5757 "parser_cocci_menhir.ml"
+# 6544 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
(Data.clt)
-# 5778 "parser_cocci_menhir.ml"
+# 6565 "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"
+# 1089 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Const _1 )
-# 5785 "parser_cocci_menhir.ml"
+# 6572 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
(Data.clt)
-# 5806 "parser_cocci_menhir.ml"
+# 6593 "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"
+# 1090 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Volatile _1 )
-# 5813 "parser_cocci_menhir.ml"
+# 6600 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_continue_list_aexpr_TEllipsis_ =
-# 1788 "parser_cocci_menhir.mly"
+# 2127 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 5837 "parser_cocci_menhir.ml"
+# 6624 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 5863 "parser_cocci_menhir.ml"
+# 6650 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_aexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_list_aexpr_TEllipsis_ =
-# 1790 "parser_cocci_menhir.mly"
+# 2129 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 5872 "parser_cocci_menhir.ml"
+# 6659 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 5904 "parser_cocci_menhir.ml"
+# 6691 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_aexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_continue_list_aexpr_TEllipsis_ =
-# 1793 "parser_cocci_menhir.mly"
+# 2132 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 5914 "parser_cocci_menhir.ml"
+# 6701 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_list_aexpr_TEllipsis_ =
-# 1796 "parser_cocci_menhir.mly"
+# 2135 "parser_cocci_menhir.mly"
( _2 )
-# 5942 "parser_cocci_menhir.ml"
+# 6729 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_continue_list_dparam_TEllipsis_ =
-# 1788 "parser_cocci_menhir.mly"
+# 2127 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 5966 "parser_cocci_menhir.ml"
+# 6753 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 5992 "parser_cocci_menhir.ml"
+# 6779 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_list_dparam_TEllipsis_ =
-# 1790 "parser_cocci_menhir.mly"
+# 2129 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 6001 "parser_cocci_menhir.ml"
+# 6788 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6033 "parser_cocci_menhir.ml"
+# 6820 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_continue_list_dparam_TEllipsis_ =
-# 1793 "parser_cocci_menhir.mly"
+# 2132 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 6043 "parser_cocci_menhir.ml"
+# 6830 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_list_dparam_TEllipsis_ =
-# 1796 "parser_cocci_menhir.mly"
+# 2135 "parser_cocci_menhir.mly"
( _2 )
-# 6071 "parser_cocci_menhir.ml"
+# 6858 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2127 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 6095 "parser_cocci_menhir.ml"
+# 6882 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6121 "parser_cocci_menhir.ml"
+# 6908 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_enum_decl_one = Obj.magic _1 in
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"
+# 2129 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 6130 "parser_cocci_menhir.ml"
+# 6917 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6162 "parser_cocci_menhir.ml"
+# 6949 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_enum_decl_one = Obj.magic _1 in
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"
+# 2132 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 6172 "parser_cocci_menhir.ml"
+# 6959 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2135 "parser_cocci_menhir.mly"
( _2 )
-# 6200 "parser_cocci_menhir.ml"
+# 6987 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2127 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 6224 "parser_cocci_menhir.ml"
+# 7011 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6250 "parser_cocci_menhir.ml"
+# 7037 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_initialize2 = Obj.magic _1 in
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"
+# 2129 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 6259 "parser_cocci_menhir.ml"
+# 7046 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6291 "parser_cocci_menhir.ml"
+# 7078 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_initialize2 = Obj.magic _1 in
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"
+# 2132 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 6301 "parser_cocci_menhir.ml"
+# 7088 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2135 "parser_cocci_menhir.mly"
( _2 )
-# 6329 "parser_cocci_menhir.ml"
+# 7116 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
-# 1788 "parser_cocci_menhir.mly"
+# 2127 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 6353 "parser_cocci_menhir.ml"
+# 7140 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6379 "parser_cocci_menhir.ml"
+# 7166 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
-# 1790 "parser_cocci_menhir.mly"
+# 2129 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 6388 "parser_cocci_menhir.ml"
+# 7175 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6420 "parser_cocci_menhir.ml"
+# 7207 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
-# 1793 "parser_cocci_menhir.mly"
+# 2132 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 6430 "parser_cocci_menhir.ml"
+# 7217 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
-# 1796 "parser_cocci_menhir.mly"
+# 2135 "parser_cocci_menhir.mly"
( _2 )
-# 6458 "parser_cocci_menhir.ml"
+# 7245 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2127 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 6482 "parser_cocci_menhir.ml"
+# 7269 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6508 "parser_cocci_menhir.ml"
+# 7295 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
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"
+# 2129 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 6517 "parser_cocci_menhir.ml"
+# 7304 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 6549 "parser_cocci_menhir.ml"
+# 7336 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
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"
+# 2132 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 6559 "parser_cocci_menhir.ml"
+# 7346 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2135 "parser_cocci_menhir.mly"
( _2 )
-# 6587 "parser_cocci_menhir.ml"
+# 7374 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 789 "parser_cocci_menhir.mly"
( [] )
-# 6604 "parser_cocci_menhir.ml"
+# 7391 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_struct_decl_list =
-# 661 "parser_cocci_menhir.mly"
+# 790 "parser_cocci_menhir.mly"
( _1@_2 )
-# 6634 "parser_cocci_menhir.ml"
+# 7421 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_continue_struct_decl_list =
-# 662 "parser_cocci_menhir.mly"
+# 791 "parser_cocci_menhir.mly"
( _1 )
-# 6658 "parser_cocci_menhir.ml"
+# 7445 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6690 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6695 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+ let m : 'tv_list_mul_ = Obj.magic m in
+ let ty : 'tv_all_basic_types = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6713 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let _v : 'tv_ctype = let cv =
# 39 "standard.mly"
( None )
-# 6720 "parser_cocci_menhir.ml"
+# 7476 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6726 "parser_cocci_menhir.ml"
+# 714 "parser_cocci_menhir.mly"
+ ( List.fold_left
+ (function prev ->
+ function (star,cv) ->
+ P.make_cv cv (P.pointerify prev [star]))
+ (P.make_cv cv ty) m )
+# 7486 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6758 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6763 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+ let m : 'tv_list_mul_ = Obj.magic m in
+ let ty : 'tv_all_basic_types = Obj.magic ty in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6781 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let _v : 'tv_ctype = let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 6788 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 7524 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6794 "parser_cocci_menhir.ml"
+# 714 "parser_cocci_menhir.mly"
+ ( List.fold_left
+ (function prev ->
+ function (star,cv) ->
+ P.make_cv cv (P.pointerify prev [star]))
+ (P.make_cv cv ty) m )
+# 7534 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6826 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6831 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6849 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6856 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6862 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 6894 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
+ let r : (
+# 93 "parser_cocci_menhir.mly"
(Data.clt)
-# 6899 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6918 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6925 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6931 "parser_cocci_menhir.ml"
+# 7555 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 720 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 7562 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 6972 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 6977 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
+ let r : (
+# 93 "parser_cocci_menhir.mly"
(Data.clt)
-# 6982 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let _startpos = _startpos_r1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 7001 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 7007 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7014 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7020 "parser_cocci_menhir.ml"
+# 7583 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 722 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 7590 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7052 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7057 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 7075 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7082 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7088 "parser_cocci_menhir.ml"
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7621 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7627 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_ctype =
+# 724 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 7636 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7125 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7130 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7135 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7152 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 7158 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7165 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7171 "parser_cocci_menhir.ml"
+ let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_d_ident =
+# 1334 "parser_cocci_menhir.mly"
+ ( (_1, function t -> P.arrayify t _2) )
+# 7666 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7203 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7208 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7226 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7233 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7239 "parser_cocci_menhir.ml"
+ let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dargexpr =
+# 1472 "parser_cocci_menhir.mly"
+ ( _1 )
+# 7690 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7271 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7276 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7294 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7301 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7307 "parser_cocci_menhir.ml"
+ let a : 'tv_list_array_dec_ = Obj.magic a in
+ let i : 'tv_disj_ident = Obj.magic i in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_a_ in
+ let _v : 'tv_decl =
+# 1062 "parser_cocci_menhir.mly"
+ ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) )
+# 7726 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7339 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7344 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7362 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7369 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7375 "parser_cocci_menhir.ml"
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_decl =
+# 1063 "parser_cocci_menhir.mly"
+ ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
+# 7750 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 7407 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7412 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7431 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7438 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7444 "parser_cocci_menhir.ml"
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7806 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7812 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7817 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let i : 'tv_disj_ident = Obj.magic i in
+ let s : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7823 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7828 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_rp1_ in
+ let _v : 'tv_decl =
+# 1066 "parser_cocci_menhir.mly"
+ ( let fnptr =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
+ P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
+ Ast0.wrap(Ast0.Param(fnptr, Some i)) )
+# 7841 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 7485 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 7490 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7495 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let _startpos = _startpos_r1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 7514 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7520 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7527 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7533 "parser_cocci_menhir.ml"
+ let _1 : (
+# 108 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 7862 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl =
+# 1073 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
+# 7870 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7565 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7570 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7588 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7595 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7601 "parser_cocci_menhir.ml"
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 7891 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl =
+# 1075 "parser_cocci_menhir.mly"
+ ( tmeta_to_param _1 )
+# 7898 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7638 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7643 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7648 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7665 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7671 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7678 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7684 "parser_cocci_menhir.ml"
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 7919 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_ident =
+# 2051 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 7926 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7711 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( ty )
-# 7728 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7735 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7741 "parser_cocci_menhir.ml"
+ let _1 : (
+# 106 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 7947 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_ident =
+# 2053 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) )
+# 7955 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7768 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( ty )
-# 7785 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7792 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7798 "parser_cocci_menhir.ml"
+ let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_list_decl_ =
+# 2075 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+ (fun c -> Ast0.PComma c))) )
+# 7983 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7825 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( ty )
-# 7842 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7849 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7855 "parser_cocci_menhir.ml"
+ let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_list_name_opt_decl_ =
+# 2075 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+ (fun c -> Ast0.PComma c))) )
+# 8011 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
+ let _1 : (
+# 108 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 7882 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( ty )
-# 7900 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7907 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7913 "parser_cocci_menhir.ml"
+# 8032 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1398 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 8040 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 7949 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 7954 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 7972 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 7978 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 7985 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 7991 "parser_cocci_menhir.ml"
+ let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1401 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+ _1 )
+# 8068 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8018 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( ty )
-# 8035 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8042 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8048 "parser_cocci_menhir.ml"
+ let _1 : 'tv_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1406 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 8092 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8080 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8085 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let _startpos = _startpos_ty100_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 8101 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 8107 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8114 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8120 "parser_cocci_menhir.ml"
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8123 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
+ let _1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8129 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_decl_statement =
+# 1415 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ if List.for_all
+ (function x ->
+ match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
+ code
+ then []
+ else
+ [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
+ P.clt2mcode ")" _3))] )
+# 8144 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8147 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 557 "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"
- ( ty )
-# 8164 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8171 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8177 "parser_cocci_menhir.ml"
+ let _1 : (
+# 108 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 8165 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement_expr =
+# 1428 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 8173 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8204 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 559 "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"
- ( ty )
-# 8221 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8228 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8234 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement_expr =
+# 1431 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+ _1 )
+# 8201 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
MenhirLib.EngineTypes.startp = _startpos;
MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8261 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 561 "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"
- ( ty )
-# 8278 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8285 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8291 "parser_cocci_menhir.ml"
+ let _1 : 'tv_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement_expr =
+# 1436 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 8225 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8318 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 563 "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"
- ( ty )
-# 8335 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8342 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8348 "parser_cocci_menhir.ml"
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8256 "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 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8262 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_decl_statement_expr =
+# 1445 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ if List.for_all (function [] -> true | _ -> false) code
+ then []
+ else
+ let dot_code =
+ List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
+ [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
+ P.clt2mcode ")" _3))] )
+# 8276 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8375 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 565 "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"
- ( ty )
-# 8392 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8399 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8405 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8302 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var =
+# 1208 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
+# 8310 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 8331 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_var =
+# 1209 "parser_cocci_menhir.mly"
+ ( [P.meta_decl _1] )
+# 8338 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8432 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 567 "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"
- ( ty )
-# 8449 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8369 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_comma_list_d_ident_ = Obj.magic d in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
# 39 "standard.mly"
( None )
-# 8456 "parser_cocci_menhir.ml"
+# 8379 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8462 "parser_cocci_menhir.ml"
+# 1211 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
+ d )
+# 8388 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8495 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 569 "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"
- ( ty )
-# 8514 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8424 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_comma_list_d_ident_ = Obj.magic d in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 8521 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8436 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8527 "parser_cocci_menhir.ml"
+# 1211 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
+ d )
+# 8445 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let f : 'tv_funproto = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_f_ in
+ let _v : 'tv_decl_var =
+# 1215 "parser_cocci_menhir.mly"
+ ( [f] )
+# 8469 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "parser_cocci_menhir.mly"
+ let pv : (
+# 153 "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"
+# 8510 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 8575 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8580 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 8598 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 8607 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 8613 "parser_cocci_menhir.ml"
-
- in
- let cv =
+# 8516 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
# 39 "standard.mly"
( None )
-# 8620 "parser_cocci_menhir.ml"
+# 8526 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8626 "parser_cocci_menhir.ml"
+# 1217 "parser_cocci_menhir.mly"
+ (let (id,fn) = d in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 8533 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "parser_cocci_menhir.mly"
+ let pv : (
+# 153 "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"
+# 8579 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "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"
- (Data.clt)
-# 8685 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
+# 8585 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
+ let x = x0 in
+
# 41 "standard.mly"
( Some x )
-# 8706 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 8715 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 8721 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 8728 "parser_cocci_menhir.ml"
+# 8597 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8734 "parser_cocci_menhir.ml"
+# 1217 "parser_cocci_menhir.mly"
+ (let (id,fn) = d in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 8604 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 576 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 8776 "parser_cocci_menhir.ml"
-
- in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8635 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_comma_list_d_ident_ = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 8782 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 8645 "parser_cocci_menhir.ml"
in
- let cv =
+ let s =
# 39 "standard.mly"
( None )
-# 8789 "parser_cocci_menhir.ml"
+# 8652 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8795 "parser_cocci_menhir.ml"
+# 1222 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ 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)))
+ d )
+# 8663 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 8843 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 8862 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 8872 "parser_cocci_menhir.ml"
-
- in
+# 8699 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_comma_list_d_ident_ = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
+ let x = x0 in
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 8878 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8711 "parser_cocci_menhir.ml"
in
- let cv =
+ let s =
# 39 "standard.mly"
( None )
-# 8885 "parser_cocci_menhir.ml"
+# 8718 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8891 "parser_cocci_menhir.ml"
+# 1222 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ 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)))
+ d )
+# 8729 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 8944 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 8967 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 8977 "parser_cocci_menhir.ml"
-
- in
+# 8765 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_comma_list_d_ident_ = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 8983 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 8776 "parser_cocci_menhir.ml"
in
- let cv =
+ let s =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 8990 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8784 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 8996 "parser_cocci_menhir.ml"
+# 1222 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ 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)))
+ d )
+# 8795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.semv = x1;
+ MenhirLib.EngineTypes.startp = _startpos_x1_;
+ MenhirLib.EngineTypes.endp = _endpos_x1_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 9044 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 9049 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
-
-# 585 "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 "parser_cocci_menhir.ml"
-
- in
+# 8836 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_comma_list_d_ident_ = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x1 : 'tv_const_vol = Obj.magic x1 in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
+ let x = x1 in
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 9074 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8849 "parser_cocci_menhir.ml"
in
- let cv =
+ let s =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 9081 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8857 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9087 "parser_cocci_menhir.ml"
+# 1222 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ 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)))
+ d )
+# 8868 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 9114 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 9125 "parser_cocci_menhir.ml"
-
- in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8909 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8915 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 9131 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 8925 "parser_cocci_menhir.ml"
in
- let cv =
+ let s =
# 39 "standard.mly"
( None )
-# 9138 "parser_cocci_menhir.ml"
+# 8932 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9144 "parser_cocci_menhir.ml"
+# 1230 "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
+ [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv))] )
+# 8942 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9181 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9186 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8988 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8994 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 9205 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 9213 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9219 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9256 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9261 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 9280 "parser_cocci_menhir.ml"
+# 9006 "parser_cocci_menhir.ml"
in
- let cv =
- let x = x0 in
+ let s =
-# 41 "standard.mly"
- ( Some x )
-# 9288 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9013 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9294 "parser_cocci_menhir.ml"
+# 1230 "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
+ [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv))] )
+# 9023 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9331 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9336 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9069 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9075 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x0 : 'tv_storage = Obj.magic x0 in
let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 9349 "parser_cocci_menhir.ml"
-
- in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 9355 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9086 "parser_cocci_menhir.ml"
in
- let cv =
+ let s =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 9363 "parser_cocci_menhir.ml"
+# 9094 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9369 "parser_cocci_menhir.ml"
+# 1230 "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
+ [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv))] )
+# 9104 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x1;
+ MenhirLib.EngineTypes.startp = _startpos_x1_;
+ MenhirLib.EngineTypes.endp = _endpos_x1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 9406 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9411 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9155 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9161 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x1 : 'tv_const_vol = Obj.magic x1 in
+ let x0 : 'tv_storage = Obj.magic x0 in
let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let cv =
+ let x = x1 in
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 9431 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 9174 "parser_cocci_menhir.ml"
in
- let cv =
+ let s =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 9439 "parser_cocci_menhir.ml"
+# 9182 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9445 "parser_cocci_menhir.ml"
+# 1230 "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
+ [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv))] )
+# 9192 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 9491 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 9496 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9501 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 9521 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 9527 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9253 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9258 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9264 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9269 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9275 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9280 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
-# 41 "standard.mly"
- ( Some x )
-# 9535 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9289 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9541 "parser_cocci_menhir.ml"
+# 1240 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
+# 9301 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9578 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9583 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9367 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9372 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9378 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9383 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9389 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9394 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 9602 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 9610 "parser_cocci_menhir.ml"
+# 9405 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9616 "parser_cocci_menhir.ml"
+# 1240 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
+# 9417 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9658 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9663 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9668 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9686 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 9692 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 9700 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9706 "parser_cocci_menhir.ml"
+ let _5 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9458 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9463 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9469 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_decl_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_decl_var =
+# 1248 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
+# 9478 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9743 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9748 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9767 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 9775 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9781 "parser_cocci_menhir.ml"
+ let _7 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9529 "parser_cocci_menhir.ml"
+ ) = Obj.magic _7 in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9535 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9540 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9546 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_decl_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_decl_var =
+# 1251 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap
+ (Ast0.MacroDeclInit
+ (_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" _7))] )
+# 9558 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9818 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9823 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9842 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9629 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9635 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9640 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9646 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9651 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9657 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9662 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
-# 41 "standard.mly"
- ( Some x )
-# 9850 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9671 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9856 "parser_cocci_menhir.ml"
+# 1260 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 9683 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9893 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9898 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9759 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9765 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9770 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9776 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9781 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9787 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9792 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9917 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 9925 "parser_cocci_menhir.ml"
+# 9803 "parser_cocci_menhir.ml"
in
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 9931 "parser_cocci_menhir.ml"
+# 1260 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 9815 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 9968 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9851 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let s : (
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
-# 9973 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9993 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10001 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10007 "parser_cocci_menhir.ml"
+# 9858 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var =
+# 1268 "parser_cocci_menhir.mly"
+ ( let s = P.clt2mcode "typedef" s in
+ List.map
+ (function id ->
+ Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
+ id )
+# 9869 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10053 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 10058 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10063 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 10083 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 10089 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10097 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10103 "parser_cocci_menhir.ml"
+ let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_define_param_list_option =
+# 985 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
+ (fun c -> Ast0.DPComma c))) )
+# 9897 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10140 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10145 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 10164 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10172 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10178 "parser_cocci_menhir.ml"
+ let _1 : (
+# 127 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 9918 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_defineop =
+# 929 "parser_cocci_menhir.mly"
+ ( let (clt,ident) = _1 in
+ let aft = P.get_aft clt in (* move stuff after the define to the ident *)
+ function body ->
+ Ast0.wrap
+ (Ast0.Define
+ (P.clt2mcode "#define" (P.drop_aft clt),
+ (match ident with
+ TMetaId((nm,constraints,seed,pure,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap
+ (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
+ | TIdent((nm,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | TSymId(nm,clt) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")),
+ Ast0.wrap Ast0.NoParams,
+ body)) )
+# 9947 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10220 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10225 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10230 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 10248 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 10254 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10262 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10268 "parser_cocci_menhir.ml"
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9978 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_define_param_list_option = Obj.magic _2 in
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Data.clt * token * int * int)
+# 9984 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_defineop =
+# 953 "parser_cocci_menhir.mly"
+ ( let (clt,ident,parenoff,parencol) = _1 in
+ let aft = P.get_aft clt in (* move stuff after the define to the ( *)
+ (* clt is the start of the #define itself *)
+ let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
+ let lp =
+ P.clt2mcode "("
+ (arity,line,lline,parenoff,parencol,[],[],[]) in
+ function body ->
+ Ast0.wrap
+ (Ast0.Define
+ (P.clt2mcode "#define" (P.drop_aft clt),
+ (match ident with
+ TMetaId((nm,constraints,seed,pure,clt)) ->
+ Ast0.wrap
+ (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
+ | TIdent((nm,clt)) ->
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | TSymId(nm,clt) ->
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")),
+ (let clt = P.set_aft aft _3 in
+ Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" clt))),body)) )
+# 10015 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10300 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( ty )
-# 10318 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10326 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10332 "parser_cocci_menhir.ml"
+ let _1 : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 10036 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dep =
+# 273 "parser_cocci_menhir.mly"
+ ( Ast0.Dep _1 )
+# 10043 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10364 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( ty )
-# 10382 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10390 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10396 "parser_cocci_menhir.ml"
+ let _2 : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 10068 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_dep =
+# 274 "parser_cocci_menhir.mly"
+ ( Ast0.AntiDep (Ast0.Dep _2) )
+# 10075 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10428 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( ty )
-# 10446 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10454 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10460 "parser_cocci_menhir.ml"
+ let _3 : 'tv_dep = Obj.magic _3 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_dep =
+# 276 "parser_cocci_menhir.mly"
+ ( Ast0.AntiDep _3 )
+# 10111 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 10492 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( ty )
-# 10511 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10519 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10525 "parser_cocci_menhir.ml"
+ let _2 : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 10136 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_dep =
+# 277 "parser_cocci_menhir.mly"
+ ( Ast0.EverDep _2 )
+# 10143 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10566 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
+ let _2 : (
+# 88 "parser_cocci_menhir.mly"
(string)
-# 10571 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 10590 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 10596 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10604 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10610 "parser_cocci_menhir.ml"
+# 10168 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_dep =
+# 278 "parser_cocci_menhir.mly"
+ ( Ast0.NeverDep _2 )
+# 10175 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10642 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( ty )
-# 10660 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10668 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10674 "parser_cocci_menhir.ml"
+ let _3 : 'tv_dep = Obj.magic _3 in
+ let _1 : 'tv_dep = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_dep =
+# 279 "parser_cocci_menhir.mly"
+ ( Ast0.AndDep(_1, _3) )
+# 10209 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10711 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10716 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 10733 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 10739 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10747 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10753 "parser_cocci_menhir.ml"
+ let _3 : 'tv_dep = Obj.magic _3 in
+ let _1 : 'tv_dep = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_dep =
+# 280 "parser_cocci_menhir.mly"
+ ( Ast0.OrDep (_1, _3) )
+# 10243 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10785 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 557 "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"
- ( ty )
-# 10803 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10811 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10817 "parser_cocci_menhir.ml"
+ let _2 : 'tv_dep = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_dep =
+# 281 "parser_cocci_menhir.mly"
+ ( _2 )
+# 10275 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_depends =
+# 269 "parser_cocci_menhir.mly"
+ ( Ast0.NoDep )
+# 10292 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = parents;
+ MenhirLib.EngineTypes.startp = _startpos_parents_;
+ MenhirLib.EngineTypes.endp = _endpos_parents_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10849 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 559 "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"
- ( ty )
-# 10867 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10875 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10881 "parser_cocci_menhir.ml"
+ let parents : 'tv_dep = Obj.magic parents in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_parents_ in
+ let _v : 'tv_depends =
+# 270 "parser_cocci_menhir.mly"
+ ( parents )
+# 10324 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10913 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 561 "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"
- ( ty )
-# 10931 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10939 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 10945 "parser_cocci_menhir.ml"
+ let _2 : 'tv_disj_ident = Obj.magic _2 in
+ let _1 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10351 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_designator =
+# 1384 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
+# 10358 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10977 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 563 "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"
- ( ty )
-# 10995 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11003 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11009 "parser_cocci_menhir.ml"
+ let _3 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10389 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10395 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_designator =
+# 1386 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
+# 10402 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11041 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 565 "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"
- ( ty )
-# 11059 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11067 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11073 "parser_cocci_menhir.ml"
+ let _5 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10443 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : 'tv_eexpr = Obj.magic _4 in
+ let _3 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10449 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10455 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_designator =
+# 1388 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
+ _4,P.clt2mcode "]" _5) )
+# 10463 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11105 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 567 "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"
- ( ty )
-# 11123 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11131 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11137 "parser_cocci_menhir.ml"
+ let _1 : 'tv_pre_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dexpr =
+# 1471 "parser_cocci_menhir.mly"
+ ( _1 )
+# 10487 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11175 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 569 "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"
- ( ty )
-# 11195 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11203 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11209 "parser_cocci_menhir.ml"
+ let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_disable =
+# 287 "parser_cocci_menhir.mly"
+ ( List.map P.id2name _2 )
+# 10515 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 11262 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11267 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 11286 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 11295 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 11301 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11309 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11315 "parser_cocci_menhir.ml"
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_disj_ident =
+# 2039 "parser_cocci_menhir.mly"
+ ( _1 )
+# 10539 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "parser_cocci_menhir.mly"
+ let rp : (
+# 123 "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"
+# 10570 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in
+ let lp : (
+# 122 "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"
- (Data.clt)
-# 11379 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11401 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 11410 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 11416 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11424 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11430 "parser_cocci_menhir.ml"
+# 10576 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_disj_ident =
+# 2041 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 10585 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 576 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 11478 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 11484 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11492 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11498 "parser_cocci_menhir.ml"
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10606 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dot_expressions =
+# 1481 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
+# 10613 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 11551 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 11571 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 11581 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 11587 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11595 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11601 "parser_cocci_menhir.ml"
+ let _1 : 'tv_nest_expressions = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dot_expressions =
+# 1482 "parser_cocci_menhir.mly"
+ ( _1 )
+# 10637 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 11659 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11683 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 11693 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 11699 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11707 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11713 "parser_cocci_menhir.ml"
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dparam =
+# 981 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DParam _1) )
+# 10661 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 11766 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 11771 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
-
-# 585 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 11797 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11805 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11811 "parser_cocci_menhir.ml"
+ let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eargexpr =
+# 1469 "parser_cocci_menhir.mly"
+ ( _1 )
+# 10685 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 11843 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 11855 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 11861 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 11869 "parser_cocci_menhir.ml"
-
- in
-
-# 602 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 11875 "parser_cocci_menhir.ml"
+ let d : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10706 "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_ =
+# 2361 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 10713 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let r : (
-# 54 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
-# 11903 "parser_cocci_menhir.ml"
+ let w : 'tv_eexpr = Obj.magic w in
+ let d : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10752 "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_ =
+# 2362 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 10759 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let r : (
-# 54 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
-# 11931 "parser_cocci_menhir.ml"
+ let d : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10780 "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_ =
+# 2361 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 10787 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let rp : (
-# 81 "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"
+ let w : 'tv_enum_decl_one = Obj.magic w in
+ let d : (
+# 119 "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"
- ( let (mids,code) = t in
- Ast0.wrap
- (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 11977 "parser_cocci_menhir.ml"
+# 10826 "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_ =
+# 2362 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 10833 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_d_ident =
-# 1146 "parser_cocci_menhir.mly"
- ( (_1,
- function t ->
- List.fold_right
- (function (l,i,r) ->
- function rest ->
- Ast0.wrap
- (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
- _2 t) )
-# 12014 "parser_cocci_menhir.ml"
+ let d : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10854 "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_ =
+# 2361 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 10861 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let i : 'tv_ident = Obj.magic i in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_decl =
-# 900 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 12044 "parser_cocci_menhir.ml"
+ let w : 'tv_initialize = Obj.magic w in
+ let d : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10900 "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_ =
+# 2362 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 10907 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_decl =
-# 901 "parser_cocci_menhir.mly"
- ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
-# 12068 "parser_cocci_menhir.ml"
+ let d : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10928 "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_ =
+# 2361 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 10935 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 12130 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 81 "parser_cocci_menhir.mly"
+ let w : 'tv_struct_decl_one = Obj.magic w in
+ let d : (
+# 119 "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"
- (Data.clt)
-# 12141 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12146 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_rp1_ in
- let _v : 'tv_decl =
-# 904 "parser_cocci_menhir.mly"
- ( let fnptr =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
- P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
- Ast0.wrap(Ast0.Param(fnptr, Some i)) )
-# 12159 "parser_cocci_menhir.ml"
+# 10974 "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_ =
+# 2362 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 10981 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12180 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_pre_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl =
-# 911 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 12188 "parser_cocci_menhir.ml"
+ let _v : 'tv_eexpr =
+# 1468 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11005 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12209 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1713 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 12216 "parser_cocci_menhir.ml"
+ let _v : 'tv_eexpr_list_option =
+# 2341 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
+ (fun c -> Ast0.EComma c))) )
+# 11033 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
+# 2103 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 11050 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 66 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 12237 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1715 "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"
+ let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
+# 2104 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11074 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
+# 2103 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 11091 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_decl_ =
-# 1736 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.DOTS
- (_1
- (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
- (fun c -> Ast0.PComma c))) )
-# 12273 "parser_cocci_menhir.ml"
+ let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
+# 2104 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11115 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ 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__ =
+# 2103 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 11132 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_name_opt_decl_ =
-# 1736 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.DOTS
- (_1
- (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
- (fun c -> Ast0.PComma c))) )
-# 12301 "parser_cocci_menhir.ml"
+ let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2104 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11156 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ 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_ =
+# 2103 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 11173 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12322 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1204 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 12330 "parser_cocci_menhir.ml"
+ let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
+# 2104 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11197 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ 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_ =
+# 2103 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 11214 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1207 "parser_cocci_menhir.mly"
- ( List.map
- (function x ->
- Ast0.wrap
- (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
- _1 )
-# 12358 "parser_cocci_menhir.ml"
+ let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2104 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11238 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_statement = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1212 "parser_cocci_menhir.mly"
- ( [_1] )
-# 12382 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_decl_list =
+# 827 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
+# 11262 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_decl_one =
+# 798 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 11286 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = _1;
};
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
+ let _3 : 'tv_enum_val = Obj.magic _3 in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 12419 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 11318 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_decl_statement =
-# 1221 "parser_cocci_menhir.mly"
- ( let (mids,code) = t in
- if List.for_all
- (function x ->
- match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
- code
- then []
- else
- [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
- P.clt2mcode ")" _3))] )
-# 12434 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_decl_one =
+# 800 "parser_cocci_menhir.mly"
+ ( let id = Ast0.wrap(Ast0.Ident(_1)) in
+ Ast0.wrap
+ (Ast0.Assignment
+ (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
+ false)) )
+# 11330 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12455 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_ident = 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"
- ( let (nm,pure,clt) = _1 in
- [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 12463 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_val =
+# 807 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 11354 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 11375 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1237 "parser_cocci_menhir.mly"
- ( List.map
- (function x ->
- Ast0.wrap
- (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
- _1 )
-# 12491 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_val =
+# 809 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 11383 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_statement = Obj.magic _1 in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 11404 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1242 "parser_cocci_menhir.mly"
- ( [_1] )
-# 12515 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_val =
+# 811 "parser_cocci_menhir.mly"
+ ( tmeta_to_exp _1 )
+# 11411 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _3 : (
-# 81 "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"
- (Data.clt)
-# 12552 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 11432 "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"
- ( let (mids,code) = t in
- if List.for_all (function [] -> true | _ -> false) code
- then []
- else
- let dot_code =
- List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
- [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
- P.clt2mcode ")" _3))] )
-# 12566 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 813 "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)) )
+# 11441 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12592 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var =
-# 1032 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 12600 "parser_cocci_menhir.ml"
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 11462 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 817 "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)) )
+# 11471 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 69 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12621 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 11492 "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"
- ( [P.meta_decl _1] )
-# 12628 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_val =
+# 821 "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)) )
+# 11501 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12659 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_comma_list_d_ident_ = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
-
-# 39 "standard.mly"
- ( None )
-# 12669 "parser_cocci_menhir.ml"
-
- in
-
-# 1035 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
- d )
-# 12678 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_exists =
+# 290 "parser_cocci_menhir.mly"
+ ( Ast.Exists )
+# 11523 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12714 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_comma_list_d_ident_ = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 12726 "parser_cocci_menhir.ml"
-
- in
-
-# 1035 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
- d )
-# 12735 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_exists =
+# 291 "parser_cocci_menhir.mly"
+ ( Ast.Forall )
+# 11545 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_exists =
+# 292 "parser_cocci_menhir.mly"
+ ( Ast.Undetermined )
+# 11562 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let f : 'tv_funproto = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_f_ in
- let _v : 'tv_decl_var =
-# 1039 "parser_cocci_menhir.mly"
- ( [f] )
-# 12759 "parser_cocci_menhir.ml"
+ let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_expr =
+# 1466 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11586 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 12806 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
-
-# 39 "standard.mly"
- ( None )
-# 12816 "parser_cocci_menhir.ml"
-
- in
-
-# 1041 "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"
+ let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_expr_dots_TEllipsis_ =
+# 1739 "parser_cocci_menhir.mly"
+ ( r )
+# 11610 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 12875 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 12887 "parser_cocci_menhir.ml"
-
- in
-
-# 1041 "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"
+ let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 565 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify Type_cocci.Unknown m )
+# 11634 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12925 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_comma_list_d_ident_ = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 12935 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 12942 "parser_cocci_menhir.ml"
-
- in
-
-# 1046 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- 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)))
- d )
-# 12953 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 567 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
+# 11662 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12989 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_comma_list_d_ident_ = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13001 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 13008 "parser_cocci_menhir.ml"
-
- in
-
-# 1046 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- 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)))
- d )
-# 13019 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 569 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify
+ (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
+# 11691 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13055 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_comma_list_d_ident_ = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 13066 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13074 "parser_cocci_menhir.ml"
-
- in
-
-# 1046 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- 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)))
- d )
-# 13085 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 572 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify
+ (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
+# 11720 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_extends =
+# 264 "parser_cocci_menhir.mly"
+ ( () )
+# 11737 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = parent;
+ MenhirLib.EngineTypes.startp = _startpos_parent_;
+ MenhirLib.EngineTypes.endp = _endpos_parent_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x1;
- MenhirLib.EngineTypes.startp = _startpos_x1_;
- MenhirLib.EngineTypes.endp = _endpos_x1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13126 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_comma_list_d_ident_ = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x1 : 'tv_const_vol = Obj.magic x1 in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
- let x = x1 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13139 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13147 "parser_cocci_menhir.ml"
-
- in
-
-# 1046 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- 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)))
- d )
-# 13158 "parser_cocci_menhir.ml"
+ let parent : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 11762 "parser_cocci_menhir.ml"
+ ) = Obj.magic parent in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_parent_ in
+ let _v : 'tv_extends =
+# 266 "parser_cocci_menhir.mly"
+ ( !Data.install_bindings (parent) )
+# 11769 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 13205 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 13215 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 13222 "parser_cocci_menhir.ml"
-
- in
-
-# 1054 "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
- [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv))] )
-# 13232 "parser_cocci_menhir.ml"
+ let _2 : (
+# 129 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 11795 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 129 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 11800 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_filespec =
+# 864 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap
+ (Ast0.FILEINFO(P.id2mcode _1,
+ P.id2mcode _2))] )
+# 11809 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 13284 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13296 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 13303 "parser_cocci_menhir.ml"
-
- in
-
-# 1054 "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
- [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv))] )
-# 13313 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 13365 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 13376 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13384 "parser_cocci_menhir.ml"
-
- in
-
-# 1054 "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
- [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv))] )
-# 13394 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x1;
- MenhirLib.EngineTypes.startp = _startpos_x1_;
- MenhirLib.EngineTypes.endp = _endpos_x1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 13451 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x1 : 'tv_const_vol = Obj.magic x1 in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let cv =
- let x = x1 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13464 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13472 "parser_cocci_menhir.ml"
-
- in
-
-# 1054 "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
- [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv))] )
-# 13482 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13543 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 13554 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 13565 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13570 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
-
-# 39 "standard.mly"
- ( None )
-# 13579 "parser_cocci_menhir.ml"
-
- in
-
-# 1064 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
-# 13591 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13657 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 13668 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 13679 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13684 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13695 "parser_cocci_menhir.ml"
-
- in
-
-# 1064 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
-# 13707 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- } = _menhir_stack in
- let _5 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13748 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 81 "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"
- (Data.clt)
-# 13759 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_decl_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_decl_var =
-# 1072 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
- P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 13768 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 13845 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 13856 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 13867 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13872 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
-
-# 39 "standard.mly"
- ( None )
-# 13881 "parser_cocci_menhir.ml"
-
- in
-
-# 1078 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 13893 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 13975 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 13986 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 13997 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 14002 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 14013 "parser_cocci_menhir.ml"
-
- in
-
-# 1078 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 14025 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "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"
- (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"
- ( let s = P.clt2mcode "typedef" s in
- List.map
- (function id ->
- Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
- id )
-# 14079 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list_option =
-# 823 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.DOTS
- (_1
- (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
- (fun c -> Ast0.DPComma c))) )
-# 14107 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 85 "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"
- ( let (clt,ident) = _1 in
- function body ->
- Ast0.wrap
- (Ast0.Define
- (P.clt2mcode "#define" clt,
- (match ident with
- TMetaId((nm,constraints,pure,clt)) ->
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
- | TIdent(nm_pure) ->
- Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
- | _ ->
- raise
- (Semantic_cocci.Semantic
- "unexpected name for a #define")),
- Ast0.wrap Ast0.NoParams,
- body)) )
-# 14150 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : (
-# 81 "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"
- (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"
- ( 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
- let lp =
- P.clt2mcode "("
- (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
- function body ->
- Ast0.wrap
- (Ast0.Define
- (P.clt2mcode "#define" clt,
- (match ident with
- TMetaId((nm,constraints,pure,clt)) ->
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
- | TIdent(nm_pure) ->
- Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
- | _ ->
- raise
- (Semantic_cocci.Semantic
- "unexpected name for a #define")),
- Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
-# 14213 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_pnrule = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dep =
-# 231 "parser_cocci_menhir.mly"
- ( _1 )
-# 14237 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_dep = Obj.magic _3 in
- let _1 : 'tv_dep = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_dep =
-# 232 "parser_cocci_menhir.mly"
- ( Ast.AndDep(_1, _3) )
-# 14271 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_dep = Obj.magic _3 in
- let _1 : 'tv_dep = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_dep =
-# 233 "parser_cocci_menhir.mly"
- ( Ast.OrDep (_1, _3) )
-# 14305 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( Ast.NoDep )
-# 14322 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = parents;
- MenhirLib.EngineTypes.startp = _startpos_parents_;
- MenhirLib.EngineTypes.endp = _endpos_parents_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let parents : 'tv_dep = Obj.magic parents in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_parents_ in
- let _v : 'tv_depends =
-# 228 "parser_cocci_menhir.mly"
- ( parents )
-# 14354 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : 'tv_ident = Obj.magic _2 in
- let _1 : (
-# 111 "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"
- ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 14388 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : (
-# 106 "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"
- (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"
- ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 14432 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- } = _menhir_stack in
- let _5 : (
-# 106 "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"
- (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"
- (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"
- ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
- _4,P.clt2mcode "]" _5) )
-# 14493 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dexpr =
-# 1271 "parser_cocci_menhir.mly"
- ( _1 )
-# 14517 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_disable =
-# 246 "parser_cocci_menhir.mly"
- ( List.map P.id2name _2 )
-# 14545 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 77 "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"
- ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 14573 "parser_cocci_menhir.ml"
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_fn_ident =
+# 2014 "parser_cocci_menhir.mly"
+ ( _1 )
+# 11833 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_nest_expressions = Obj.magic _1 in
+ let _1 : (
+# 105 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 11854 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_dot_expressions =
-# 1281 "parser_cocci_menhir.mly"
- ( _1 )
-# 14597 "parser_cocci_menhir.ml"
+ let _v : 'tv_fn_ident =
+# 2016 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 11862 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _1 : (
+# 105 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 11883 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_dparam =
-# 819 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DParam _1) )
-# 14621 "parser_cocci_menhir.ml"
+ let _v : 'tv_fn_ident =
+# 2019 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 11892 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let d : (
-# 77 "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"
- ( (d,None) )
-# 14649 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fninfo =
+# 1017 "parser_cocci_menhir.mly"
+ ( [] )
+# 11909 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let w : 'tv_eexpr = Obj.magic w in
- let d : (
-# 77 "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"
- ( (d,Some w) )
-# 14695 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let d : (
-# 77 "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"
- ( (d,None) )
-# 14723 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _1 : 'tv_storage = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 1019 "parser_cocci_menhir.mly"
+ ( try
+ let _ =
+ List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate storage")
+ with Not_found -> (Ast0.FStorage(_1))::_2 )
+# 11943 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let w : 'tv_enum_decl_one = Obj.magic w in
- let d : (
-# 77 "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"
- ( (d,Some w) )
-# 14769 "parser_cocci_menhir.ml"
+ let r : 'tv_fninfo_nt = Obj.magic r in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_fninfo =
+# 1024 "parser_cocci_menhir.mly"
+ ( (Ast0.FType(t))::r )
+# 11973 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let d : (
-# 77 "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"
- ( (d,None) )
-# 14797 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _1 : (
+# 95 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12000 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 1026 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate inline")
+ with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
+# 12010 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let w : 'tv_initialize = Obj.magic w in
- let d : (
-# 77 "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"
- ( (d,Some w) )
-# 14843 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _1 : (
+# 97 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 12037 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 1031 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "multiple attributes")
+ with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
+# 12047 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let d : (
-# 77 "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"
- ( (d,None) )
-# 14871 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fninfo_nt =
+# 1037 "parser_cocci_menhir.mly"
+ ( [] )
+# 12064 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let w : 'tv_struct_decl_one = Obj.magic w in
- let d : (
-# 77 "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"
- ( (d,Some w) )
-# 14917 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+ let _1 : 'tv_storage = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 1039 "parser_cocci_menhir.mly"
+ ( try
+ let _ =
+ List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate storage")
+ with Not_found -> (Ast0.FStorage(_1))::_2 )
+# 12098 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+ let _1 : (
+# 95 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12125 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr =
-# 1269 "parser_cocci_menhir.mly"
- ( _1 )
-# 14941 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 1045 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate inline")
+ with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
+# 12135 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+ let _1 : (
+# 97 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 12162 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list_option =
-# 2002 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.DOTS
- (_1
- (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
- (fun c -> Ast0.EComma c))) )
-# 14969 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 1050 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate init")
+ with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
+# 12172 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
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"
- ( fun build_dots build_comma -> [] )
-# 14986 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_dots =
+# 2274 "parser_cocci_menhir.mly"
+ ([])
+# 12189 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
+ let _2 : 'tv_fun_after_exp = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
-# 1765 "parser_cocci_menhir.mly"
- ( _1 )
-# 15010 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 2275 "parser_cocci_menhir.mly"
+ (_2)
+# 12217 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( fun build_dots build_comma -> [] )
-# 15027 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fun_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 2276 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 12247 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
+ let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
-# 1765 "parser_cocci_menhir.mly"
- ( _1 )
-# 15051 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 2277 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 12277 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
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"
- ( fun build_dots build_comma -> [] )
-# 15068 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_dots_or =
+# 2284 "parser_cocci_menhir.mly"
+ ([])
+# 12294 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots_or =
+# 2285 "parser_cocci_menhir.mly"
+ (_2)
+# 12322 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
+ let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
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"
- ( _1 )
-# 15092 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots_or =
+# 2286 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 12352 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( fun build_dots build_comma -> [] )
-# 15109 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots_or =
+# 2287 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 12382 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+ let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
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"
- ( _1 )
-# 15133 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_exp =
+# 2280 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 12412 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
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"
- ( fun build_dots build_comma -> [] )
-# 15150 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_exp_or =
+# 2290 "parser_cocci_menhir.mly"
+ ([])
+# 12429 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+ let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
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"
- ( _1 )
-# 15174 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_exp_or =
+# 2291 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 12459 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_enum_decl_list =
-# 697 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
-# 15198 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fun_after_stm =
+# 2269 "parser_cocci_menhir.mly"
+ ([])
+# 12476 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_enum_decl_one =
-# 669 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 15222 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_stm =
+# 2270 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 12506 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_enum_val = Obj.magic _3 in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15254 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_enum_decl_one =
-# 671 "parser_cocci_menhir.mly"
- ( let id = Ast0.wrap(Ast0.Ident(_1)) in
- Ast0.wrap
- (Ast0.Assignment
- (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
- false)) )
-# 15266 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_stm =
+# 2271 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 12536 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _1 : 'tv_fun_after_stm = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_enum_val =
-# 678 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 15290 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_start =
+# 2266 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 12560 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15311 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_enum_val =
-# 680 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 15319 "parser_cocci_menhir.ml"
+ let _v : 'tv_func_ident =
+# 2005 "parser_cocci_menhir.mly"
+ ( _1 )
+# 12584 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 15340 "parser_cocci_menhir.ml"
+# 105 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 12605 "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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 15349 "parser_cocci_menhir.ml"
+ let _v : 'tv_func_ident =
+# 2007 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 12613 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 15370 "parser_cocci_menhir.ml"
+# 105 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 12634 "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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 15379 "parser_cocci_menhir.ml"
+ let _v : 'tv_func_ident =
+# 2010 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 12643 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = rb;
+ MenhirLib.EngineTypes.startp = _startpos_rb_;
+ MenhirLib.EngineTypes.endp = _endpos_rb_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lb;
+ MenhirLib.EngineTypes.startp = _startpos_lb_;
+ MenhirLib.EngineTypes.endp = _endpos_lb_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 71 "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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 15409 "parser_cocci_menhir.ml"
+ let rb : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12703 "parser_cocci_menhir.ml"
+ ) = Obj.magic rb in
+ let b : 'tv_fun_start = Obj.magic b in
+ let lb : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12709 "parser_cocci_menhir.ml"
+ ) = Obj.magic lb in
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12714 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_decl_ = Obj.magic d in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12720 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let i : 'tv_fn_ident = Obj.magic i in
+ let f : 'tv_fninfo = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_rb_ in
+ let _v : 'tv_fundecl =
+# 1008 "parser_cocci_menhir.mly"
+ ( P.verify_parameter_declarations (Ast0.undots d);
+ Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
+ f, i,
+ P.clt2mcode "(" lp, d,
+ P.clt2mcode ")" rp,
+ P.clt2mcode "{" lb, b,
+ P.clt2mcode "}" rb)) )
+# 12735 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = pt;
+ MenhirLib.EngineTypes.startp = _startpos_pt_;
+ MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 249 "parser_cocci_menhir.mly"
- ( Ast.Exists )
-# 15431 "parser_cocci_menhir.ml"
+ let pt : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12781 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12786 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12792 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let id : 'tv_fn_ident = Obj.magic id in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pt_ in
+ let _v : 'tv_funproto = let s =
+
+# 39 "standard.mly"
+ ( None )
+# 12802 "parser_cocci_menhir.ml"
+
+ in
+
+# 996 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.UnInit
+ (s,
+ Ast0.wrap
+ (Ast0.FunctionType(Some t,
+ P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
+ id, P.clt2mcode ";" pt)) )
+# 12814 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = pt;
+ MenhirLib.EngineTypes.startp = _startpos_pt_;
+ MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 250 "parser_cocci_menhir.mly"
- ( Ast.Forall )
-# 15453 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( Ast.Undetermined )
-# 15470 "parser_cocci_menhir.ml"
+ let pt : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12865 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12870 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12876 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let id : 'tv_fn_ident = Obj.magic id in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pt_ in
+ let _v : 'tv_funproto = let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12888 "parser_cocci_menhir.ml"
+
+ in
+
+# 996 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.UnInit
+ (s,
+ Ast0.wrap
+ (Ast0.FunctionType(Some t,
+ P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
+ id, P.clt2mcode ";" pt)) )
+# 12900 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_expr =
-# 1267 "parser_cocci_menhir.mly"
- ( _1 )
-# 15494 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
- let _startpos = _startpos_r_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_expr_dots_TEllipsis_ =
-# 1451 "parser_cocci_menhir.mly"
- ( r )
-# 15518 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_expression_type =
-# 470 "parser_cocci_menhir.mly"
- ( P.ty_pointerify Type_cocci.Unknown m )
-# 15542 "parser_cocci_menhir.ml"
+ let _v : 'tv_ident =
+# 2024 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 12924 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_expression_type =
-# 472 "parser_cocci_menhir.mly"
- ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
-# 15570 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
+ let _1 : 'tv_wrapped_sym_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_expression_type =
-# 474 "parser_cocci_menhir.mly"
- ( P.ty_pointerify
- (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
-# 15599 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident =
+# 2025 "parser_cocci_menhir.mly"
+ ( _1 )
+# 12948 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
+ let _1 : (
+# 104 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 12969 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_expression_type =
-# 477 "parser_cocci_menhir.mly"
- ( P.ty_pointerify
- (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
-# 15628 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident =
+# 2027 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,seed,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) )
+# 12977 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( () )
-# 15645 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let i : 'tv_pure_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_ident_or_const =
+# 1977 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
+# 13001 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = parent;
- MenhirLib.EngineTypes.startp = _startpos_parent_;
- MenhirLib.EngineTypes.endp = _endpos_parent_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let parent : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 15670 "parser_cocci_menhir.ml"
- ) = Obj.magic parent in
+ let _1 : 'tv_wrapped_sym_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_parent_ in
- let _v : 'tv_extends =
-# 224 "parser_cocci_menhir.mly"
- ( !Data.install_bindings (parent) )
-# 15677 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident_or_const =
+# 1978 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 13025 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15703 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 15708 "parser_cocci_menhir.ml"
+# 13046 "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"
- ( [Ast0.wrap
- (Ast0.FILEINFO(P.id2mcode _1,
- P.id2mcode _2))] )
-# 15717 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident_or_const =
+# 1980 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 13054 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( [] )
-# 15734 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 126 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 13075 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_incl =
+# 303 "parser_cocci_menhir.mly"
+ ( let (x,_) = _1 in Data.Include(x) )
+# 13082 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : 'tv_storage = Obj.magic _1 in
+ let _2 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 13107 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 857 "parser_cocci_menhir.mly"
- ( try
- let _ =
- List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate storage")
- with Not_found -> (Ast0.FStorage(_1))::_2 )
-# 15768 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let r : 'tv_fninfo_nt = Obj.magic r in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_fninfo =
-# 862 "parser_cocci_menhir.mly"
- ( (Ast0.FType(t))::r )
-# 15798 "parser_cocci_menhir.ml"
+ let _v : 'tv_incl =
+# 304 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Left(P.id2name _2)) )
+# 13114 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : (
-# 56 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15825 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : (
+# 125 "parser_cocci_menhir.mly"
+ (string)
+# 13139 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 864 "parser_cocci_menhir.mly"
- ( try
- let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate inline")
- with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
-# 15835 "parser_cocci_menhir.ml"
+ let _v : 'tv_incl =
+# 305 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Right _2) )
+# 13146 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15862 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 869 "parser_cocci_menhir.mly"
- ( try
- let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "multiple attributes")
- with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
-# 15872 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( [] )
-# 15889 "parser_cocci_menhir.ml"
+ let _v : 'tv_incl =
+# 307 "parser_cocci_menhir.mly"
+ ( let names = List.map P.id2name _2 in
+ Iteration.parsed_virtual_rules :=
+ Common.union_set names !Iteration.parsed_virtual_rules;
+ (* ensure that the names of virtual and real rules don't overlap *)
+ List.iter
+ (function name -> Hashtbl.add Data.all_metadecls name [])
+ names;
+ Data.Virt(names) )
+# 13181 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fninfo_nt = Obj.magic _2 in
- let _1 : 'tv_storage = Obj.magic _1 in
+ let _1 : 'tv_list_incl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 877 "parser_cocci_menhir.mly"
- ( try
- let _ =
- List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate storage")
- with Not_found -> (Ast0.FStorage(_1))::_2 )
-# 15923 "parser_cocci_menhir.ml"
+ let _v : (
+# 194 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 13209 "parser_cocci_menhir.ml"
+ ) =
+# 299 "parser_cocci_menhir.mly"
+ ( _1 )
+# 13213 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fninfo_nt = Obj.magic _2 in
- let _1 : (
-# 56 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15950 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_list_incl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 883 "parser_cocci_menhir.mly"
- ( try
- let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate inline")
- with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
-# 15960 "parser_cocci_menhir.ml"
+ let _v : (
+# 194 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 13241 "parser_cocci_menhir.ml"
+ ) =
+# 300 "parser_cocci_menhir.mly"
+ ( _1 )
+# 13245 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fninfo_nt = Obj.magic _2 in
let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15987 "parser_cocci_menhir.ml"
+# 126 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 13266 "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"
- ( try
- let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate init")
- with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
-# 15997 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_includes =
+# 870 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include"
+ (P.drop_pos (P.drop_aft (P.id2clt _1))),
+ let (arity,ln,lln,offset,col,strbef,straft,pos) =
+ P.id2clt _1 in
+ let clt =
+ (arity,ln,lln,offset,0,strbef,straft,pos) in
+ P.clt2mcode
+ (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
+ (P.drop_bef clt))) )
+# 13282 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 16014 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 126 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 13303 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_includes =
+# 881 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include"
+ (P.drop_pos (P.drop_aft (P.id2clt _1))),
+ let (arity,ln,lln,offset,col,strbef,straft,pos) =
+ P.id2clt _1 in
+ let clt =
+ (arity,ln,lln,offset,0,strbef,straft,pos) in
+ P.clt2mcode
+ (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
+ (P.drop_bef clt))) )
+# 13319 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp = Obj.magic _2 in
+ let _1 : (
+# 127 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 13344 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1936 "parser_cocci_menhir.mly"
- (_2)
-# 16042 "parser_cocci_menhir.ml"
+ let _v : 'tv_includes =
+# 892 "parser_cocci_menhir.mly"
+ ( let (clt,ident) = _1 in
+ let aft = P.get_aft clt in (* move stuff after the define to the ident *)
+ Ast0.wrap
+ (Ast0.Undef
+ (P.clt2mcode "#undef" (P.drop_aft clt),
+ (match ident with
+ TMetaId((nm,constraints,seed,pure,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
+ | TIdent((nm,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | TSymId(nm,clt) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")))) )
+# 13369 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
+ let d : 'tv_defineop = Obj.magic d in
+ let _startpos = _startpos_d_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1937 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 16072 "parser_cocci_menhir.ml"
+ let _v : 'tv_includes =
+# 912 "parser_cocci_menhir.mly"
+ ( d (Ast0.wrap(Ast0.DOTS([]))) )
+# 13397 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1938 "parser_cocci_menhir.mly"
- (_1@_2)
-# 16102 "parser_cocci_menhir.ml"
+ let t : 'tv_ctype = Obj.magic t in
+ let d : 'tv_defineop = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_includes =
+# 914 "parser_cocci_menhir.mly"
+ ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
+ d (Ast0.wrap(Ast0.DOTS([ty]))) )
+# 13432 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 16119 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
+ let _1 : 'tv_defineop = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_includes =
+# 917 "parser_cocci_menhir.mly"
+ ( let body =
+ match b with
+ [e] ->
+ (match Ast0.unwrap e with
+ Ast0.Exp(e1) ->
+ [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
+ | _ -> b)
+ | _ -> b in
+ _1 (Ast0.wrap(Ast0.DOTS(body))) )
+# 13474 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+ let _1 : 'tv_eexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots_or =
-# 1946 "parser_cocci_menhir.mly"
- (_2)
-# 16147 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize =
+# 1340 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 13498 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _3 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13529 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13535 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots_or =
-# 1947 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 16177 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize =
+# 1342 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 13547 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 13568 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots_or =
-# 1948 "parser_cocci_menhir.mly"
- (_1@_2)
-# 16207 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize =
+# 1349 "parser_cocci_menhir.mly"
+ (let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 13576 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_exp =
-# 1941 "parser_cocci_menhir.mly"
- (_1::_2)
-# 16237 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1355 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 13600 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 16254 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nest_expressions_only = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1356 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 13624 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _3 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13655 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13661 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_exp_or =
-# 1952 "parser_cocci_menhir.mly"
- (_1::_2)
-# 16284 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1358 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 13673 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 16301 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_initialize2 = Obj.magic _3 in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13705 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_list_designator_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1366 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
+# 13713 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _3 : 'tv_initialize2 = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13745 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_mident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1931 "parser_cocci_menhir.mly"
- (_1::_2)
-# 16331 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1368 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
+# 13753 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 13774 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1932 "parser_cocci_menhir.mly"
- (_1@_2)
-# 16361 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1370 "parser_cocci_menhir.mly"
+ (let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 13782 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_fun_after_stm = Obj.magic _1 in
+ let _1 : (
+# 110 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 13803 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_fun_start =
-# 1927 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 16385 "parser_cocci_menhir.ml"
+ let _v : 'tv_initialize2 =
+# 1373 "parser_cocci_menhir.mly"
+ (let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Ast.AnyLen -> Ast0.AnyListLen
+ | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+ | Ast.CstLen n -> Ast0.CstListLen n in
+ Ast0.wrap(Ast0.MetaInitList(nm,lenname,pure)) )
+# 13817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1693 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 16409 "parser_cocci_menhir.ml"
+ let _v : 'tv_initialize_list =
+# 1393 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
+# 13841 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 65 "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"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 16438 "parser_cocci_menhir.ml"
+ let _v : 'tv_invalid =
+# 1478 "parser_cocci_menhir.mly"
+ ( raise (Semantic_cocci.Semantic "not matchable") )
+# 13863 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_is_expression =
+# 295 "parser_cocci_menhir.mly"
+ ( false )
+# 13880 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 65 "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"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 16467 "parser_cocci_menhir.ml"
+ let _v : 'tv_is_expression =
+# 296 "parser_cocci_menhir.mly"
+ ( true )
+# 13902 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_ctype_ =
+# 2417 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 13930 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 65 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 16488 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1701 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 16497 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_ctype_ =
+# 2418 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 13958 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rb;
- MenhirLib.EngineTypes.startp = _startpos_rb_;
- MenhirLib.EngineTypes.endp = _endpos_rb_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lb;
- MenhirLib.EngineTypes.startp = _startpos_lb_;
- MenhirLib.EngineTypes.endp = _endpos_lb_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let rb : (
-# 105 "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"
- (Data.clt)
-# 16563 "parser_cocci_menhir.ml"
- ) = Obj.magic lb in
- let rp : (
-# 81 "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"
- (Data.clt)
-# 16574 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let i : 'tv_func_ident = Obj.magic i in
- let f : 'tv_fninfo = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_rb_ in
- let _v : 'tv_fundecl =
-# 846 "parser_cocci_menhir.mly"
- ( P.verify_parameter_declarations (Ast0.undots d);
- Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
- f, i,
- P.clt2mcode "(" lp, d,
- P.clt2mcode ")" rp,
- P.clt2mcode "{" lb, b,
- P.clt2mcode "}" rb)) )
-# 16589 "parser_cocci_menhir.ml"
+ let t : 'tv_decl_var = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 2417 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 13986 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pt : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16635 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 81 "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"
- (Data.clt)
-# 16646 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pt_ in
- let _v : 'tv_funproto = let s =
-
-# 39 "standard.mly"
- ( None )
-# 16656 "parser_cocci_menhir.ml"
-
- in
-
-# 834 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.UnInit
- (s,
- Ast0.wrap
- (Ast0.FunctionType(Some t,
- P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
- id, P.clt2mcode ";" pt)) )
-# 16668 "parser_cocci_menhir.ml"
+ let t : 'tv_decl_var = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 2418 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 14014 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pt : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16719 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 81 "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"
- (Data.clt)
-# 16730 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pt_ in
- let _v : 'tv_funproto = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 16742 "parser_cocci_menhir.ml"
-
- in
-
-# 834 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.UnInit
- (s,
- Ast0.wrap
- (Ast0.FunctionType(Some t,
- P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
- id, P.clt2mcode ";" pt)) )
-# 16754 "parser_cocci_menhir.ml"
+ let t : 'tv_eexpr = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_eexpr_ =
+# 2417 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 14042 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let t : 'tv_eexpr = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_eexpr_ =
+# 2418 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 14070 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let t : 'tv_iso_statement = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1706 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 16778 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_iso_statement_ =
+# 2417 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 14098 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 65 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 16799 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let t : 'tv_iso_statement = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1708 "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"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_iso_statement_ =
+# 2418 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 14126 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_ident_or_const =
-# 1666 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 16831 "parser_cocci_menhir.ml"
+ let t : 'tv_nest_start = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_nest_start_ =
+# 2417 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 14154 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 16852 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let t : 'tv_nest_start = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident_or_const =
-# 1668 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 16860 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_nest_start_ =
+# 2418 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 14182 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 84 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 16881 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_incl =
-# 262 "parser_cocci_menhir.mly"
- ( let (x,_) = _1 in Data.Include(x) )
-# 16888 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14220 "parser_cocci_menhir.ml"
+ ) =
+# 2385 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
+# 14224 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let _2 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 16913 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 263 "parser_cocci_menhir.mly"
- ( Data.Iso(Common.Left(P.id2name _2)) )
-# 16920 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14262 "parser_cocci_menhir.ml"
+ ) =
+# 2387 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
+# 14266 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let _2 : (
-# 83 "parser_cocci_menhir.mly"
- (string)
-# 16945 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 264 "parser_cocci_menhir.mly"
- ( Data.Iso(Common.Right _2) )
-# 16952 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14304 "parser_cocci_menhir.ml"
+ ) =
+# 2389 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
+# 14308 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 266 "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
- (function name -> Hashtbl.add Data.all_metadecls name [])
- names;
- Data.Virt(names) )
-# 16985 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14346 "parser_cocci_menhir.ml"
+ ) =
+# 2391 "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 )
+# 14352 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = sl;
+ MenhirLib.EngineTypes.startp = _startpos_sl_;
+ MenhirLib.EngineTypes.endp = _endpos_sl_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s1;
+ MenhirLib.EngineTypes.startp = _startpos_s1_;
+ MenhirLib.EngineTypes.endp = _endpos_s1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let _1 : 'tv_list_incl_ = Obj.magic _1 in
+ let sl : 'tv_list_iso_iso_statement__ = Obj.magic sl in
+ let s1 : 'tv_iso_statement = Obj.magic s1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
+ let _endpos = _endpos__4_ in
let _v : (
-# 152 "parser_cocci_menhir.mly"
- (Data.incl_iso list)
-# 17013 "parser_cocci_menhir.ml"
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14390 "parser_cocci_menhir.ml"
) =
-# 258 "parser_cocci_menhir.mly"
- ( _1 )
-# 17017 "parser_cocci_menhir.ml"
+# 2395 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
+# 14394 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = tl;
+ MenhirLib.EngineTypes.startp = _startpos_tl_;
+ MenhirLib.EngineTypes.endp = _endpos_tl_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t1;
+ MenhirLib.EngineTypes.startp = _startpos_t1_;
+ MenhirLib.EngineTypes.endp = _endpos_t1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let _1 : 'tv_list_incl_ = Obj.magic _1 in
+ let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
+ let t1 : 'tv_ctype = Obj.magic t1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
+ let _endpos = _endpos__4_ in
let _v : (
-# 152 "parser_cocci_menhir.mly"
- (Data.incl_iso list)
-# 17045 "parser_cocci_menhir.ml"
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14432 "parser_cocci_menhir.ml"
) =
-# 259 "parser_cocci_menhir.mly"
- ( _1 )
-# 17049 "parser_cocci_menhir.ml"
+# 2397 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
+# 14436 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 84 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 17070 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let el : 'tv_list_iso_nest_start__ = Obj.magic el in
+ let e1 : 'tv_nest_start = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_includes =
-# 740 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Include(P.clt2mcode "#include"
- (P.drop_pos (P.drop_aft (P.id2clt _1))),
- let (arity,ln,lln,offset,col,strbef,straft,pos) =
- P.id2clt _1 in
- let clt =
- (arity,ln,lln,offset,0,strbef,straft,pos) in
- P.clt2mcode
- (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
- (P.drop_bef clt))) )
-# 17086 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14474 "parser_cocci_menhir.ml"
+ ) =
+# 2399 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
+# 14478 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = dl;
+ MenhirLib.EngineTypes.startp = _startpos_dl_;
+ MenhirLib.EngineTypes.endp = _endpos_dl_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d1;
+ MenhirLib.EngineTypes.startp = _startpos_d1_;
+ MenhirLib.EngineTypes.endp = _endpos_d1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 84 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 17107 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
+ let d1 : 'tv_decl_var = Obj.magic d1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_includes =
-# 751 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Include(P.clt2mcode "#include"
- (P.drop_pos (P.drop_aft (P.id2clt _1))),
- let (arity,ln,lln,offset,col,strbef,straft,pos) =
- P.id2clt _1 in
- let clt =
- (arity,ln,lln,offset,0,strbef,straft,pos) in
- P.clt2mcode
- (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
- (P.drop_bef clt))) )
-# 17123 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 210 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 14516 "parser_cocci_menhir.ml"
+ ) =
+# 2401 "parser_cocci_menhir.mly"
+ ( let check_one = function
+ [x] -> x
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "only one variable per declaration in an isomorphism rule") in
+ let d1 = check_one d1 in
+ let dl =
+ List.map
+ (function
+ Common.Left x -> Common.Left(check_one x)
+ | Common.Right x -> Common.Right(check_one x))
+ dl in
+ let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
+# 14533 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let d : 'tv_defineop = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_includes =
-# 762 "parser_cocci_menhir.mly"
- ( d (Ast0.wrap(Ast0.DOTS([]))) )
-# 17151 "parser_cocci_menhir.ml"
+ let m : 'tv_metadec = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : (
+# 213 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 14557 "parser_cocci_menhir.ml"
+ ) =
+# 230 "parser_cocci_menhir.mly"
+ ( m "" )
+# 14561 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = nm;
+ MenhirLib.EngineTypes.startp = _startpos_nm_;
+ MenhirLib.EngineTypes.endp = _endpos_nm_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let d : 'tv_defineop = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_includes =
-# 764 "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"
+ let nm : 'tv_pure_ident = Obj.magic nm in
+ let _startpos = _startpos_nm_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 197 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 14589 "parser_cocci_menhir.ml"
+ ) =
+# 245 "parser_cocci_menhir.mly"
+ ( P.make_iso_rule_name_result (P.id2name nm) )
+# 14593 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
- let _1 : 'tv_defineop = Obj.magic _1 in
+ let _1 : 'tv_statement = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_includes =
-# 767 "parser_cocci_menhir.mly"
- ( let body =
- match b with
- [e] ->
- (match Ast0.unwrap e with
- Ast0.Exp(e1) ->
- [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
- | _ -> b)
- | _ -> b in
- _1 (Ast0.wrap(Ast0.DOTS(body))) )
-# 17228 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_iso_statement =
+# 1183 "parser_cocci_menhir.mly"
+ ( _1 )
+# 14617 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr = Obj.magic _1 in
+ let _1 : 'tv_decl_var = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_initialize =
-# 1159 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 17252 "parser_cocci_menhir.ml"
+ let _v : 'tv_iso_statement =
+# 1185 "parser_cocci_menhir.mly"
+ ( match _1 with
+ [decl] ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),decl))
+ | _ -> failwith "exactly one decl allowed in statement iso" )
+# 14645 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _3 : (
-# 105 "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"
- (Data.clt)
-# 17289 "parser_cocci_menhir.ml"
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 14666 "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"
- ( if P.struct_initializer _2
- then
- let il = P.drop_dot_commas _2 in
- Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
- else
- Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
-# 17301 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_iter_ident =
+# 2058 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 14673 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 69 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 17322 "parser_cocci_menhir.ml"
+# 106 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 14694 "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"
- (let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 17330 "parser_cocci_menhir.ml"
+ let _v : 'tv_iter_ident =
+# 2060 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) )
+# 14702 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize2 =
-# 1174 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 17354 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_TMul_ =
+# 114 "standard.mly"
+ ( [] )
+# 14719 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 105 "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"
+ let xs : 'tv_list_TMul_ = Obj.magic xs in
+ let x : (
+# 145 "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"
- ( if P.struct_initializer _2
- then
- let il = P.drop_dot_commas _2 in
- Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
- else
- Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
-# 17403 "parser_cocci_menhir.ml"
+# 14746 "parser_cocci_menhir.ml"
+ ) = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_TMul_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 14753 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_initialize2 = Obj.magic _3 in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 17435 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_list_designator_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1184 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 17443 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_array_dec_ =
+# 114 "standard.mly"
+ ( [] )
+# 14770 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_initialize2 = Obj.magic _3 in
- let _2 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 17475 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1186 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 17483 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_array_dec_ = Obj.magic xs in
+ let x : 'tv_array_dec = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_array_dec_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 14800 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_case_line_ =
+# 114 "standard.mly"
+ ( [] )
+# 14817 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize_list =
-# 1199 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
-# 17507 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_case_line_ = Obj.magic xs in
+ let x : 'tv_case_line = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_case_line_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 14847 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_decl_var_ =
+# 114 "standard.mly"
+ ( [] )
+# 14864 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_invalid =
-# 1277 "parser_cocci_menhir.mly"
- ( raise (Semantic_cocci.Semantic "not matchable") )
-# 17529 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_decl_var_ = Obj.magic xs in
+ let x : 'tv_decl_var = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_decl_var_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 14894 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
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"
- ( false )
-# 17546 "parser_cocci_menhir.ml"
+ let _v : 'tv_list_designator_ =
+# 114 "standard.mly"
+ ( [] )
+# 14911 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let xs : 'tv_list_designator_ = Obj.magic xs in
+ let x : 'tv_designator = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_designator_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 14941 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_is_expression =
-# 255 "parser_cocci_menhir.mly"
- ( true )
-# 17568 "parser_cocci_menhir.ml"
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_incl_ =
+# 114 "standard.mly"
+ ( [] )
+# 14958 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 2078 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 17596 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_incl_ = Obj.magic xs in
+ let x : 'tv_incl = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_incl_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 14988 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_ctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 15005 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 2079 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 17624 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
+ let x : 'tv_iso_ctype_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_ctype__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15035 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_decl_var__ =
+# 114 "standard.mly"
+ ( [] )
+# 15052 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_decl_var = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_decl_var_ =
-# 2078 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 17652 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
+ let x : 'tv_iso_decl_var_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_decl_var__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15082 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_eexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 15099 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_decl_var = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_decl_var_ =
-# 2079 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 17680 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
+ let x : 'tv_iso_eexpr_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_eexpr__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15129 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_iso_statement__ =
+# 114 "standard.mly"
+ ( [] )
+# 15146 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_eexpr = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_eexpr_ =
-# 2078 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 17708 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_iso_statement__ = Obj.magic xs in
+ let x : 'tv_iso_iso_statement_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_iso_statement__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15176 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_nest_start__ =
+# 114 "standard.mly"
+ ( [] )
+# 15193 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_eexpr = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_eexpr_ =
-# 2079 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 17736 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
+ let x : 'tv_iso_nest_start_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_nest_start__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15223 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_nest_start = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_nest_start_ =
-# 2078 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 17764 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mul_ =
+# 114 "standard.mly"
+ ( [] )
+# 15240 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_nest_start = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_nest_start_ =
-# 2079 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 17792 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mul_ = Obj.magic xs in
+ let x : 'tv_mul = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mul_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15270 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_single_statement = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 2078 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 17820 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_ctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 15287 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_single_statement = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 2079 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 17848 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
+ let x : 'tv_mzl_ctype_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_ctype__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15317 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 17886 "parser_cocci_menhir.ml"
- ) =
-# 2046 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
-# 17890 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_disj_ident__ =
+# 114 "standard.mly"
+ ( [] )
+# 15334 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 17928 "parser_cocci_menhir.ml"
- ) =
-# 2048 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
-# 17932 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_disj_ident__ = Obj.magic xs in
+ let x : 'tv_mzl_disj_ident_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_disj_ident__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15364 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 17970 "parser_cocci_menhir.ml"
- ) =
-# 2050 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
-# 17974 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_eexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 15381 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 18012 "parser_cocci_menhir.ml"
- ) =
-# 2052 "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 )
-# 18018 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
+ let x : 'tv_mzl_eexpr_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_eexpr__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15411 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = sl;
- MenhirLib.EngineTypes.startp = _startpos_sl_;
- MenhirLib.EngineTypes.endp = _endpos_sl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s1;
- MenhirLib.EngineTypes.startp = _startpos_s1_;
- MenhirLib.EngineTypes.endp = _endpos_s1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
- let s1 : 'tv_single_statement = Obj.magic s1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 18056 "parser_cocci_menhir.ml"
- ) =
-# 2056 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
-# 18060 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_fun_after_dots_or__ =
+# 114 "standard.mly"
+ ( [] )
+# 15428 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = tl;
- MenhirLib.EngineTypes.startp = _startpos_tl_;
- MenhirLib.EngineTypes.endp = _endpos_tl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t1;
- MenhirLib.EngineTypes.startp = _startpos_t1_;
- MenhirLib.EngineTypes.endp = _endpos_t1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
- let t1 : 'tv_ctype = Obj.magic t1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 18098 "parser_cocci_menhir.ml"
- ) =
-# 2058 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
-# 18102 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
+ let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_fun_after_dots_or__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15458 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let el : 'tv_list_iso_nest_start__ = Obj.magic el in
- let e1 : 'tv_nest_start = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 18140 "parser_cocci_menhir.ml"
- ) =
-# 2060 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
-# 18144 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_fun_start__ =
+# 114 "standard.mly"
+ ( [] )
+# 15475 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = dl;
- MenhirLib.EngineTypes.startp = _startpos_dl_;
- MenhirLib.EngineTypes.endp = _endpos_dl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d1;
- MenhirLib.EngineTypes.startp = _startpos_d1_;
- MenhirLib.EngineTypes.endp = _endpos_d1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
- let d1 : 'tv_decl_var = Obj.magic d1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 18182 "parser_cocci_menhir.ml"
- ) =
-# 2062 "parser_cocci_menhir.mly"
- ( let check_one = function
- [x] -> x
- | _ ->
- raise
- (Semantic_cocci.Semantic
- "only one variable per declaration in an isomorphism rule") in
- let d1 = check_one d1 in
- let dl =
- List.map
- (function
- Common.Left x -> Common.Left(check_one x)
- | Common.Right x -> Common.Right(check_one x))
- dl in
- let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
-# 18199 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
+ let x : 'tv_mzl_fun_start_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_fun_start__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15505 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let m : 'tv_metadec = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
- let _v : (
-# 171 "parser_cocci_menhir.mly"
- ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 18223 "parser_cocci_menhir.ml"
- ) =
-# 188 "parser_cocci_menhir.mly"
- ( m "" )
-# 18227 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_mctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 15522 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = nm;
- MenhirLib.EngineTypes.startp = _startpos_nm_;
- MenhirLib.EngineTypes.endp = _endpos_nm_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let nm : 'tv_pure_ident = Obj.magic nm in
- let _startpos = _startpos_nm_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 155 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 18255 "parser_cocci_menhir.ml"
- ) =
-# 203 "parser_cocci_menhir.mly"
- ( P.make_iso_rule_name_result (P.id2name nm) )
-# 18259 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_mctype__ = Obj.magic xs in
+ let x : 'tv_mzl_mctype_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_mctype__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15552 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 62 "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"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 18287 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_rule_elem_statement__ =
+# 114 "standard.mly"
+ ( [] )
+# 15569 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 66 "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"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 18316 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
+ let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_rule_elem_statement__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 15599 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_TMul_ =
+ let _v : 'tv_list_mzl_statement__ =
# 114 "standard.mly"
( [] )
-# 18333 "parser_cocci_menhir.ml"
+# 15616 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let xs : 'tv_list_TMul_ = Obj.magic xs in
- let x : (
-# 103 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18360 "parser_cocci_menhir.ml"
- ) = Obj.magic x in
+ let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
+ let x : 'tv_mzl_statement_ = Obj.magic x in
let _startpos = _startpos_x_ in
let _endpos = _endpos_xs_ in
- let _v : 'tv_list_TMul_ =
+ let _v : 'tv_list_mzl_statement__ =
# 116 "standard.mly"
( x :: xs )
-# 18367 "parser_cocci_menhir.ml"
+# 15646 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_array_dec_ =
+ let _v : 'tv_list_mzl_struct_decl_one__ =
# 114 "standard.mly"
( [] )
-# 18384 "parser_cocci_menhir.ml"
+# 15663 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let xs : 'tv_list_array_dec_ = Obj.magic xs in
- let x : 'tv_array_dec = Obj.magic x in
+ let xs : 'tv_list_mzl_struct_decl_one__ = Obj.magic xs in
+ let x : 'tv_mzl_struct_decl_one_ = Obj.magic x in
let _startpos = _startpos_x_ in
let _endpos = _endpos_xs_ in
- let _v : 'tv_list_array_dec_ =
+ let _v : 'tv_list_mzl_struct_decl_one__ =
# 116 "standard.mly"
( x :: xs )
-# 18414 "parser_cocci_menhir.ml"
+# 15693 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_case_line_ =
+ let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
# 114 "standard.mly"
( [] )
-# 18431 "parser_cocci_menhir.ml"
+# 15710 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_xs_;
MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = y0;
+ MenhirLib.EngineTypes.startp = _startpos_y0_;
+ MenhirLib.EngineTypes.endp = _endpos_y0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_case_line_ = Obj.magic xs in
- let x : 'tv_case_line = Obj.magic x in
- let _startpos = _startpos_x_ in
+ let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
+ let y0 : 'tv_dexpr = Obj.magic y0 in
+ let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_xs_ in
- let _v : 'tv_list_case_line_ =
+ let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
+ let y = y0 in
+ let x = x0 in
+
+# 70 "standard.mly"
+ ( (x, y) )
+# 15749 "parser_cocci_menhir.ml"
+
+ in
+
# 116 "standard.mly"
( x :: xs )
-# 18461 "parser_cocci_menhir.ml"
+# 15755 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_decl_var_ =
+ let _v : 'tv_list_whenppdecs_ =
# 114 "standard.mly"
( [] )
-# 18478 "parser_cocci_menhir.ml"
+# 15772 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let xs : 'tv_list_decl_var_ = Obj.magic xs in
- let x : 'tv_decl_var = Obj.magic x in
+ let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
+ let x : 'tv_whenppdecs = Obj.magic x in
let _startpos = _startpos_x_ in
let _endpos = _endpos_xs_ in
- let _v : 'tv_list_decl_var_ =
+ let _v : 'tv_list_whenppdecs_ =
# 116 "standard.mly"
( x :: xs )
-# 18508 "parser_cocci_menhir.ml"
+# 15802 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_designator_ =
-# 114 "standard.mly"
- ( [] )
-# 18525 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_list_len =
+# 399 "parser_cocci_menhir.mly"
+ ( Common.Left _1 )
+# 15826 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 15847 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_list_len =
+# 400 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in Common.Right (int_of_string x) )
+# 15854 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_designator_ = Obj.magic xs in
- let x : 'tv_designator = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_designator_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18555 "parser_cocci_menhir.ml"
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_list_len =
+# 402 "parser_cocci_menhir.mly"
+ ( let nm = ("virtual",P.id2name _3) in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [snd nm]
+ !Iteration.parsed_virtual_identifiers;
+ try
+ Common.Right (int_of_string
+ (List.assoc (snd nm) !Flag.defined_virtual_env))
+ with Not_found | Failure "int_of_string" ->
+ begin
+ Common.Left (Some "virtual",P.id2name _3)
+ end
+ )
+# 15897 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_incl_ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_choose_iso_ =
+# 57 "standard.mly"
( [] )
-# 18572 "parser_cocci_menhir.ml"
+# 15914 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_incl_ = Obj.magic xs in
- let x : 'tv_incl = Obj.magic x in
+ let x : 'tv_choose_iso = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_incl_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18602 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_choose_iso_ =
+# 59 "standard.mly"
+ ( x )
+# 15938 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_iso_ctype__ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_disable_ =
+# 57 "standard.mly"
( [] )
-# 18619 "parser_cocci_menhir.ml"
+# 15955 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
- let x : 'tv_iso_ctype_ = Obj.magic x in
+ let x : 'tv_disable = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_ctype__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18649 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_disable_ =
+# 59 "standard.mly"
+ ( x )
+# 15979 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_iso_decl_var__ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_filespec_ =
+# 57 "standard.mly"
( [] )
-# 18666 "parser_cocci_menhir.ml"
+# 15996 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
- let x : 'tv_iso_decl_var_ = Obj.magic x in
+ let x : 'tv_filespec = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_decl_var__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18696 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_filespec_ =
+# 59 "standard.mly"
+ ( x )
+# 16020 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_iso_eexpr__ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_minus_start_ =
+# 57 "standard.mly"
( [] )
-# 18713 "parser_cocci_menhir.ml"
+# 16037 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
- let x : 'tv_iso_eexpr_ = Obj.magic x in
+ let x : 'tv_minus_start = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_eexpr__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18743 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_minus_start_ =
+# 59 "standard.mly"
+ ( x )
+# 16061 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_iso_nest_start__ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_not_pos_ =
+# 57 "standard.mly"
( [] )
-# 18760 "parser_cocci_menhir.ml"
+# 16078 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
- let x : 'tv_iso_nest_start_ = Obj.magic x in
+ let x : 'tv_not_pos = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_nest_start__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18790 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_not_pos_ =
+# 59 "standard.mly"
+ ( x )
+# 16102 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_iso_single_statement__ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_plus_start_ =
+# 57 "standard.mly"
( [] )
-# 18807 "parser_cocci_menhir.ml"
+# 16119 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
- let x : 'tv_iso_single_statement_ = Obj.magic x in
+ let x : 'tv_plus_start = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_single_statement__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18837 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_plus_start_ =
+# 59 "standard.mly"
+ ( x )
+# 16143 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_ctype__ =
-# 114 "standard.mly"
- ( [] )
-# 18854 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 16164 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mctype =
+# 731 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 16171 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mctype =
+# 732 "parser_cocci_menhir.mly"
+ (_1)
+# 16195 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_meta_exp_type =
+# 609 "parser_cocci_menhir.mly"
+ ( [Ast0_cocci.ast0_type_to_type t] )
+# 16219 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
- let x : 'tv_mzl_ctype_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_ctype__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18884 "parser_cocci_menhir.ml"
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_exp_type =
+# 611 "parser_cocci_menhir.mly"
+ ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
+# 16251 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_eexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 18901 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let t : 'tv_comma_list_ctype_ = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_meta_exp_type =
+# 613 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
+ t )
+# 16291 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
- let x : 'tv_mzl_eexpr_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_eexpr__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18931 "parser_cocci_menhir.ml"
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _1 : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 16322 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_ident =
+# 1782 "parser_cocci_menhir.mly"
+ ( (Some _1,P.id2name _3) )
+# 16329 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_fun_after_dots_or__ =
-# 114 "standard.mly"
- ( [] )
-# 18948 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
+ let _1 : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 16360 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_ident =
+# 1783 "parser_cocci_menhir.mly"
+ ( (Some _1,_3) )
+# 16367 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let m : 'tv_metadec = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : (
+# 205 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 16391 "parser_cocci_menhir.ml"
+ ) =
+# 229 "parser_cocci_menhir.mly"
+ ( m (!Ast0.rule_name) )
+# 16395 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
- let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_fun_after_dots_or__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18978 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_fun_start__ =
-# 114 "standard.mly"
- ( [] )
-# 18995 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 425 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in
+ !Data.add_meta_meta name pure; tok) )
+# 16442 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16448 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
- let x : 'tv_mzl_fun_start_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_fun_start__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 19025 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 429 "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) )
+# 16495 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16501 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_rule_elem_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 19042 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 433 "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
+ !Data.add_paramlist_meta name len pure; tok) )
+# 16553 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16559 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
- let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_rule_elem_statement__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 19072 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 438 "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
+ !Data.add_explist_meta name len pure; tok) )
+# 16611 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16617 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 19089 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 443 "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) )
+# 16664 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16670 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
- let x : 'tv_mzl_statement_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_statement__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 19119 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 447 "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) )
+# 16717 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16723 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 19136 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 451 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaInitListDecl(arity,name,len)) in
+ !Data.add_initlist_meta name len pure; tok) )
+# 16775 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16781 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = y0;
- MenhirLib.EngineTypes.startp = _startpos_y0_;
- MenhirLib.EngineTypes.endp = _endpos_y0_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
- let y0 : 'tv_dexpr = Obj.magic y0 in
- let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
- let y = y0 in
- let x = x0 in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
-# 70 "standard.mly"
- ( (x, y) )
-# 19175 "parser_cocci_menhir.ml"
+# 456 "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) )
+# 16828 "parser_cocci_menhir.ml"
in
-# 116 "standard.mly"
- ( x :: xs )
-# 19181 "parser_cocci_menhir.ml"
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16834 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_whenppdecs_ =
-# 114 "standard.mly"
- ( [] )
-# 19198 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 460 "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) )
+# 16881 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
- let x : 'tv_whenppdecs = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_whenppdecs_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 19228 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 464 "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) )
+# 16934 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16940 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_list_len =
-# 335 "parser_cocci_menhir.mly"
- ( Common.Left _1 )
-# 19252 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 468 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in
+ !Data.add_field_list_meta name len pure; tok) )
+# 16992 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 16998 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in Common.Right (int_of_string x) )
-# 19280 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_choose_iso_ =
-# 57 "standard.mly"
- ( [] )
-# 19297 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 473 "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) )
+# 17049 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 17055 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_choose_iso = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_choose_iso_ =
-# 59 "standard.mly"
- ( x )
-# 19321 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 477 "parser_cocci_menhir.mly"
+ ( (fun arity (_,name) pure check_meta ->
+ if arity = Ast.NONE && pure = Ast0.Impure
+ then (!Data.add_type_name name; [])
+ else raise (Semantic_cocci.Semantic "bad typedef")) )
+# 17103 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 17109 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_disable_ =
-# 57 "standard.mly"
- ( [] )
-# 19338 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 482 "parser_cocci_menhir.mly"
+ ( (fun arity (_,name) pure check_meta ->
+ if arity = Ast.NONE && pure = Ast0.Impure
+ then (!Data.add_declarer_name name; [])
+ else raise (Semantic_cocci.Semantic "bad declarer")) )
+# 17161 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 17167 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_disable = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_disable_ =
-# 59 "standard.mly"
- ( x )
-# 19362 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 487 "parser_cocci_menhir.mly"
+ ( (fun arity (_,name) pure check_meta ->
+ if arity = Ast.NONE && pure = Ast0.Impure
+ then (!Data.add_iterator_name name; [])
+ else raise (Semantic_cocci.Semantic "bad iterator")) )
+# 17219 "parser_cocci_menhir.ml"
+
+ in
+
+# 319 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 17225 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_filespec_ =
-# 57 "standard.mly"
- ( [] )
-# 19379 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 418 "parser_cocci_menhir.mly"
+ ( (fun name check_meta seed ->
+ let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
+ !Data.add_fresh_id_meta name seed; tok) )
+# 17264 "parser_cocci_menhir.ml"
+
+ in
+
+# 322 "parser_cocci_menhir.mly"
+ ( P.create_fresh_metadec kindfn ids )
+# 17270 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_filespec = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_filespec_ =
-# 59 "standard.mly"
- ( x )
-# 19403 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 494 "parser_cocci_menhir.mly"
+ (
+ let idfn arity name pure check_meta constraints =
+ let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+ !Data.add_id_meta name constraints pure; tok in
+ let virtfn arity name pure check_meta virtual_env =
+ try
+ let vl = List.assoc name virtual_env in
+ !Data.add_virt_id_meta_found name vl; []
+ with Not_found ->
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [name]
+ !Iteration.parsed_virtual_identifiers;
+ let name = ("virtual",name) in
+ let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+ !Data.add_virt_id_meta_not_found name pure; tok in
+ (idfn,virtfn) )
+# 17330 "parser_cocci_menhir.ml"
+
+ in
+
+# 328 "parser_cocci_menhir.mly"
+ ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
+ let (idfn,virtfn) = kindfn in
+ function cr ->
+ (P.create_metadec_with_constraints ar ispure idfn normal cr) @
+ (P.create_metadec_virt ar ispure virtfn virt cr) )
+# 17340 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_minus_start_ =
-# 57 "standard.mly"
- ( [] )
-# 19420 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 513 "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) )
+# 17387 "parser_cocci_menhir.ml"
+
+ in
+
+# 337 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17393 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_minus_start = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_minus_start_ =
-# 59 "standard.mly"
- ( x )
-# 19444 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 517 "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;
+ tok) )
+# 17445 "parser_cocci_menhir.ml"
+
+ in
+
+# 337 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17451 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_not_pos_ =
-# 57 "standard.mly"
- ( [] )
-# 19461 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 522 "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) )
+# 17498 "parser_cocci_menhir.ml"
+
+ in
+
+# 337 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17504 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_not_pos = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_not_pos_ =
-# 59 "standard.mly"
- ( x )
-# 19485 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_plus_start_ =
-# 57 "standard.mly"
- ( [] )
-# 19502 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 526 "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) )
+# 17551 "parser_cocci_menhir.ml"
+
+ in
+
+# 337 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17557 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_plus_start = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_plus_start_ =
-# 59 "standard.mly"
- ( x )
-# 19526 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 532 "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) )
+# 17604 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17610 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let t : 'tv_typedef_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_meta_exp_type =
-# 513 "parser_cocci_menhir.mly"
- ( [Ast0_cocci.ast0_type_to_type t] )
-# 19550 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let l = l0 in
+ let ty =
+
+# 39 "standard.mly"
+ ( None )
+# 17663 "parser_cocci_menhir.ml"
+
+ in
+
+# 536 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ match l with
+ None ->
+ !Data.add_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+ | Some _ ->
+ !Data.add_local_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 17676 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17682 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = x00;
+ MenhirLib.EngineTypes.startp = _startpos_x00_;
+ MenhirLib.EngineTypes.endp = _endpos_x00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let t : 'tv_typedef_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_meta_exp_type =
-# 515 "parser_cocci_menhir.mly"
- ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
-# 19582 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_metadec = let kindfn =
+ let x0 = x00 in
+ let l = l0 in
+ let ty =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 17743 "parser_cocci_menhir.ml"
+
+ in
+
+# 536 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ match l with
+ None ->
+ !Data.add_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+ | Some _ ->
+ !Data.add_local_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 17756 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17762 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = m0;
+ MenhirLib.EngineTypes.startp = _startpos_m0_;
+ MenhirLib.EngineTypes.endp = _endpos_m0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let t : 'tv_comma_list_ctype_ = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_meta_exp_type =
-# 517 "parser_cocci_menhir.mly"
- ( List.map
- (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
- t )
-# 19622 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_metadec = let kindfn =
+ let m = m0 in
+ let l = l0 in
+
+# 545 "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
+ None ->
+ !Data.add_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+ | Some _ ->
+ !Data.add_local_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 17829 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17835 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ty0;
+ MenhirLib.EngineTypes.startp = _startpos_ty0_;
+ MenhirLib.EngineTypes.endp = _endpos_ty0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : 'tv_pure_ident = Obj.magic _3 in
- let _1 : (
-# 49 "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"
- ( (Some _1,P.id2name _3) )
-# 19660 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ty0 : 'tv_expression_type = Obj.magic ty0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let ty = ty0 in
+
+# 555 "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
+ !Data.add_exp_meta ty name constraints pure; tok) )
+# 17890 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17896 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
- let _1 : (
-# 49 "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"
- ( (Some _1,_3) )
-# 19698 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+ let ty =
+
+# 39 "standard.mly"
+ ( None )
+# 17942 "parser_cocci_menhir.ml"
+
+ in
+
+# 560 "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) )
+# 17950 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 17956 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x00;
+ MenhirLib.EngineTypes.startp = _startpos_x00_;
+ MenhirLib.EngineTypes.endp = _endpos_x00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let m : 'tv_metadec = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
- let _v : (
-# 163 "parser_cocci_menhir.mly"
- ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 19722 "parser_cocci_menhir.ml"
- ) =
-# 187 "parser_cocci_menhir.mly"
- ( m (!Ast0.rule_name) )
-# 19726 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let x0 = x00 in
+ let ty =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 18010 "parser_cocci_menhir.ml"
+
+ in
+
+# 560 "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) )
+# 18018 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 18024 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
let ispure : 'tv_pure = Obj.magic ispure in
let ar : 'tv_arity = Obj.magic ar in
let _startpos = _startpos_ar_ in
let _endpos = _endpos__5_ in
let _v : 'tv_metadec = let kindfn =
-# 347 "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 "parser_cocci_menhir.ml"
+# 578 "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) )
+# 18071 "parser_cocci_menhir.ml"
in
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19779 "parser_cocci_menhir.ml"
+# 347 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 18077 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = ids;
MenhirLib.EngineTypes.startp = _startpos_ids_;
MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = vl0;
+ MenhirLib.EngineTypes.startp = _startpos_vl0_;
+ MenhirLib.EngineTypes.endp = _endpos_vl0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
+ let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
let ispure : 'tv_pure = Obj.magic ispure in
let ar : 'tv_arity = Obj.magic ar in
let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
+ let _endpos = _endpos__5_ in
let _v : 'tv_metadec = let kindfn =
+ let vl = vl0 in
-# 351 "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
- !Data.add_paramlist_meta name len pure; tok) )
-# 19831 "parser_cocci_menhir.ml"
+# 582 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some vl in
+ (match constraints with
+ Ast0.NotExpCstrt constraints ->
+ List.iter
+ (function c ->
+ match Ast0.unwrap c with
+ Ast0.Constant(_) ->
+ if not
+ (List.exists
+ (function
+ Type_cocci.BaseType(Type_cocci.IntType) -> true
+ | Type_cocci.BaseType(Type_cocci.ShortType) -> true
+ | Type_cocci.BaseType(Type_cocci.LongType) -> true
+ | _ -> false)
+ vl)
+ then
+ failwith "metavariable with int constraint must be an int"
+ | _ -> ())
+ constraints
+ | _ -> ());
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+ !Data.add_exp_meta ty name constraints pure; tok)
+ )
+# 18148 "parser_cocci_menhir.ml"
in
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19837 "parser_cocci_menhir.ml"
+# 347 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 18154 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = ids;
MenhirLib.EngineTypes.startp = _startpos_ids_;
MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
+ let a : 'tv_option_TPosAny_ = Obj.magic a in
let ar : 'tv_arity = Obj.magic ar in
let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 356 "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
- !Data.add_explist_meta name len pure; tok) )
-# 19889 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19895 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec =
+# 353 "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 =
+ let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
+ let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
+ !Data.add_pos_meta name constraints any; tok in
+ P.create_metadec_with_constraints ar false kindfn ids )
+# 18204 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = ids;
MenhirLib.EngineTypes.startp = _startpos_ids_;
MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
};
};
} = _menhir_stack in
let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
let ispure : 'tv_pure = Obj.magic ispure in
let ar : 'tv_arity = Obj.magic ar in
let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 361 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19948 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 363 "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
+ !Data.add_paramlist_meta name lenname pure; tok)
+ len ids )
+# 18270 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = ids;
MenhirLib.EngineTypes.startp = _startpos_ids_;
MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
};
};
} = _menhir_stack in
let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
let ispure : 'tv_pure = Obj.magic ispure in
let ar : 'tv_arity = Obj.magic ar in
let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 365 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20001 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 371 "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
+ !Data.add_explist_meta name lenname pure; tok)
+ len ids )
+# 18336 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = ids;
MenhirLib.EngineTypes.startp = _startpos_ids_;
MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
};
};
} = _menhir_stack in
let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
let ispure : 'tv_pure = Obj.magic ispure in
let ar : 'tv_arity = Obj.magic ar in
let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 369 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20054 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 379 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in
+ !Data.add_field_list_meta name lenname pure; tok)
+ len ids )
+# 18402 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = ids;
MenhirLib.EngineTypes.startp = _startpos_ids_;
MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
};
};
} = _menhir_stack in
let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
let ispure : 'tv_pure = Obj.magic ispure in
let ar : 'tv_arity = Obj.magic ar in
let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 373 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20107 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 387 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaInitListDecl(arity,name,lenname)) in
+ !Data.add_initlist_meta name lenname pure; tok)
+ len ids )
+# 18468 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_ = Obj.magic ids in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_metadec =
+# 393 "parser_cocci_menhir.mly"
+ ( (fun _ ->
+ let add_sym = fun (nm,_) -> !Data.add_symbol_meta nm in
+ List.iter add_sym ids; [])
+ )
+# 18503 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 2031 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 18527 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_wrapped_sym_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 2032 "parser_cocci_menhir.mly"
+ ( _1 )
+# 18551 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 18572 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 2033 "parser_cocci_menhir.mly"
+ ( tmeta_to_ident _1 )
+# 18579 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 104 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 18600 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 2035 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,seed,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) )
+# 18608 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let b : 'tv_list_mzl_ctype__ = Obj.magic b in
+ let a : 'tv_ctype = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_ctype_ctype_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18638 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 377 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20160 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_disj_ident__ = Obj.magic b in
+ let a : 'tv_disj_ident = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_disj_ident_disj_ident_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18668 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 381 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20217 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+ let a : 'tv_eexpr = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_eexpr_eexpr_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18698 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 385 "parser_cocci_menhir.mly"
- ( (fun arity (_,name) pure check_meta ->
- if arity = Ast.NONE && pure = Ast0.Impure
- then (!Data.add_type_name name; [])
- else raise (Semantic_cocci.Semantic "bad typedef")) )
-# 20265 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20271 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+ let a : 'tv_expr = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_expr_eexpr_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18728 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 390 "parser_cocci_menhir.mly"
- ( (fun arity (_,name) pure check_meta ->
- if arity = Ast.NONE && pure = Ast0.Impure
- then (!Data.add_declarer_name name; [])
- else raise (Semantic_cocci.Semantic "bad declarer")) )
-# 20323 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20329 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
+ let a : 'tv_fun_after_stm = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18758 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 395 "parser_cocci_menhir.mly"
- ( (fun arity (_,name) pure check_meta ->
- if arity = Ast.NONE && pure = Ast0.Impure
- then (!Data.add_iterator_name name; [])
- else raise (Semantic_cocci.Semantic "bad iterator")) )
-# 20381 "parser_cocci_menhir.ml"
-
- in
-
-# 276 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 20387 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
+ let a : 'tv_fun_start = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_fun_start_fun_start_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18788 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 340 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 279 "parser_cocci_menhir.mly"
- ( P.create_fresh_metadec kindfn ids )
-# 20432 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_mctype__ = Obj.magic b in
+ let a : 'tv_mctype = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_mctype_mctype_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18818 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 402 "parser_cocci_menhir.mly"
- (
- let idfn arity name pure check_meta constraints =
- let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
- !Data.add_id_meta name constraints pure; tok in
- let virtfn arity name pure check_meta virtual_env =
- try
- let vl = List.assoc name virtual_env in
- !Data.add_virt_id_meta_found name vl; []
- with Not_found ->
- let name = ("virtual",name) in
- let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
- !Data.add_virt_id_meta_not_found name pure; tok in
- (idfn,virtfn) )
-# 20489 "parser_cocci_menhir.ml"
-
- in
-
-# 285 "parser_cocci_menhir.mly"
- ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
- let (idfn,virtfn) = kindfn in
- function cr ->
- (P.create_metadec_with_constraints ar ispure idfn normal cr) @
- (P.create_metadec_virt ar ispure virtfn virt cr) )
-# 20499 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
+ let a : 'tv_rule_elem_statement = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18848 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 418 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 294 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20552 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_statement__ = Obj.magic b in
+ let a : 'tv_statement = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_statement_statement_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18878 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 422 "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;
- tok) )
-# 20604 "parser_cocci_menhir.ml"
-
- in
-
-# 294 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20610 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_struct_decl_one__ = Obj.magic b in
+ let a : 'tv_struct_decl_one = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_struct_decl_one_struct_decl_one_ =
+# 2355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 18908 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- } = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 427 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 294 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20663 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let b : 'tv_loption_minus_start_ = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_minus_body =
+# 838 "parser_cocci_menhir.mly"
+ ( match f@b(*@ew*) with
+ [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+ | code -> code )
+# 18940 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 431 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 294 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20716 "parser_cocci_menhir.ml"
+ let b : 'tv_top_eexpr = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_minus_exp_body =
+# 852 "parser_cocci_menhir.mly"
+ ( match f@[b](*@ew*) with
+ [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+ | code -> code )
+# 18972 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 437 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 299 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20769 "parser_cocci_menhir.ml"
+ let _1 : 'tv_minus_exp_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 185 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 19000 "parser_cocci_menhir.ml"
+ ) =
+# 225 "parser_cocci_menhir.mly"
+ ( _1 )
+# 19004 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l0;
- MenhirLib.EngineTypes.startp = _startpos_l0_;
- MenhirLib.EngineTypes.endp = _endpos_l0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
- let l = l0 in
- let ty =
-
-# 39 "standard.mly"
- ( None )
-# 20822 "parser_cocci_menhir.ml"
-
- in
-
-# 441 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- match l with
- None ->
- !Data.add_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaIdExpDecl(arity,name,ty))
- | Some _ ->
- !Data.add_local_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 20835 "parser_cocci_menhir.ml"
-
- in
-
-# 299 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20841 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_exp_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 185 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 19032 "parser_cocci_menhir.ml"
+ ) =
+# 225 "parser_cocci_menhir.mly"
+ ( m )
+# 19036 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l0;
- MenhirLib.EngineTypes.startp = _startpos_l0_;
- MenhirLib.EngineTypes.endp = _endpos_l0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let x00 : 'tv_meta_exp_type = Obj.magic x00 in
- let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_metadec = let kindfn =
- let x0 = x00 in
- let l = l0 in
- let ty =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 20902 "parser_cocci_menhir.ml"
-
- in
-
-# 441 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- match l with
- None ->
- !Data.add_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaIdExpDecl(arity,name,ty))
- | Some _ ->
- !Data.add_local_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 20915 "parser_cocci_menhir.ml"
-
- in
-
-# 299 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20921 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_exp_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 185 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 19064 "parser_cocci_menhir.ml"
+ ) =
+# 226 "parser_cocci_menhir.mly"
+ ( m )
+# 19068 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = m0;
- MenhirLib.EngineTypes.startp = _startpos_m0_;
- MenhirLib.EngineTypes.endp = _endpos_m0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l0;
- MenhirLib.EngineTypes.startp = _startpos_l0_;
- MenhirLib.EngineTypes.endp = _endpos_l0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
- let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_metadec = let kindfn =
- let m = m0 in
- let l = l0 in
-
-# 450 "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
- None ->
- !Data.add_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaIdExpDecl(arity,name,ty))
- | Some _ ->
- !Data.add_local_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 20988 "parser_cocci_menhir.ml"
-
- in
-
-# 299 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20994 "parser_cocci_menhir.ml"
+ let _1 : 'tv_minus_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 182 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 19096 "parser_cocci_menhir.ml"
+ ) =
+# 221 "parser_cocci_menhir.mly"
+ ( _1 )
+# 19100 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty0;
- MenhirLib.EngineTypes.startp = _startpos_ty0_;
- MenhirLib.EngineTypes.endp = _endpos_ty0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let ty0 : 'tv_expression_type = Obj.magic ty0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
- let ty = ty0 in
-
-# 460 "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
- !Data.add_exp_meta ty name constraints pure; tok) )
-# 21049 "parser_cocci_menhir.ml"
-
- in
-
-# 299 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 21055 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 182 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 19128 "parser_cocci_menhir.ml"
+ ) =
+# 221 "parser_cocci_menhir.mly"
+ ( m )
+# 19132 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
- let ty =
-
-# 39 "standard.mly"
- ( None )
-# 21101 "parser_cocci_menhir.ml"
-
- in
-
-# 465 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 299 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 21115 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 182 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 19160 "parser_cocci_menhir.ml"
+ ) =
+# 222 "parser_cocci_menhir.mly"
+ ( m )
+# 19164 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2180 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(_1))] )
+# 19188 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2181 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 19212 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let x00 : 'tv_meta_exp_type = Obj.magic x00 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
- let x0 = x00 in
- let ty =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 21169 "parser_cocci_menhir.ml"
-
- in
-
-# 465 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 299 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 21183 "parser_cocci_menhir.ml"
+ let _1 : 'tv_top_init = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2182 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 19236 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 482 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 304 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 21236 "parser_cocci_menhir.ml"
+ let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2184 "parser_cocci_menhir.mly"
+ ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 19260 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = vl0;
- MenhirLib.EngineTypes.startp = _startpos_vl0_;
- MenhirLib.EngineTypes.endp = _endpos_vl0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
- let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
- let vl = vl0 in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19281 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_a_ in
+ let _v : 'tv_mul = let b =
-# 486 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some vl in
- (match constraints with
- Ast0.NotExpCstrt constraints ->
- List.iter
- (function c ->
- match Ast0.unwrap c with
- Ast0.Constant(_) ->
- if not
- (List.exists
- (function
- Type_cocci.BaseType(Type_cocci.IntType) -> true
- | Type_cocci.BaseType(Type_cocci.ShortType) -> true
- | Type_cocci.BaseType(Type_cocci.LongType) -> true
- | _ -> false)
- vl)
- then
- failwith "metavariable with int constraint must be an int"
- | _ -> ())
- constraints
- | _ -> ());
- let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
- !Data.add_exp_meta ty name constraints pure; tok)
- )
-# 21307 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 19289 "parser_cocci_menhir.ml"
in
-# 304 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 21313 "parser_cocci_menhir.ml"
+# 728 "parser_cocci_menhir.mly"
+ ( (a,b) )
+# 19295 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
- let a : 'tv_option_TPosAny_ = Obj.magic a in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec =
-# 310 "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 =
- let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
- let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
- !Data.add_pos_meta name constraints any; tok in
- P.create_metadec_with_constraints ar false kindfn ids )
-# 21363 "parser_cocci_menhir.ml"
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19322 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_x0_ in
+ let _v : 'tv_mul = let b =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 19331 "parser_cocci_menhir.ml"
+
+ in
+
+# 728 "parser_cocci_menhir.mly"
+ ( (a,b) )
+# 19337 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = len;
- MenhirLib.EngineTypes.startp = _startpos_len_;
- MenhirLib.EngineTypes.endp = _endpos_len_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let len : 'tv_list_len = Obj.magic len in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__9_ in
- let _v : 'tv_metadec =
-# 320 "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
- !Data.add_paramlist_meta name lenname pure; tok)
- len ids )
-# 21429 "parser_cocci_menhir.ml"
+ let b : 'tv_ctype = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19364 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_ctype_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19371 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = len;
- MenhirLib.EngineTypes.startp = _startpos_len_;
- MenhirLib.EngineTypes.endp = _endpos_len_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let len : 'tv_list_len = Obj.magic len in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__9_ in
- let _v : 'tv_metadec =
-# 328 "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
- !Data.add_explist_meta name lenname pure; tok)
- len ids )
-# 21495 "parser_cocci_menhir.ml"
+ let b : 'tv_disj_ident = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19398 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_disj_ident_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19405 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_ctype__ = Obj.magic b in
- let a : 'tv_ctype = Obj.magic a in
+ let b : 'tv_eexpr = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19432 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
let _startpos = _startpos_a_ in
let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_ctype_ctype_ =
-# 2016 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 21525 "parser_cocci_menhir.ml"
+ let _v : 'tv_mzl_eexpr_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19439 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
- let a : 'tv_eexpr = Obj.magic a in
+ let b : 'tv_fun_after_dots_or = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19466 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
let _startpos = _startpos_a_ in
let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_eexpr_eexpr_ =
-# 2016 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 21555 "parser_cocci_menhir.ml"
+ let _v : 'tv_mzl_fun_after_dots_or_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19473 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
- let a : 'tv_expr = Obj.magic a in
+ let b : 'tv_fun_start = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19500 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
let _startpos = _startpos_a_ in
let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_expr_eexpr_ =
-# 2016 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 21585 "parser_cocci_menhir.ml"
+ let _v : 'tv_mzl_fun_start_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19507 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
- let a : 'tv_fun_after_stm = Obj.magic a in
+ let b : 'tv_mctype = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19534 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
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"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 21615 "parser_cocci_menhir.ml"
+ let _v : 'tv_mzl_mctype_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19541 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
- let a : 'tv_fun_start = Obj.magic a in
+ let b : 'tv_rule_elem_statement = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19568 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
let _startpos = _startpos_a_ in
let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_fun_start_fun_start_ =
-# 2016 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 21645 "parser_cocci_menhir.ml"
+ let _v : 'tv_mzl_rule_elem_statement_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19575 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
- let a : 'tv_rule_elem_statement = Obj.magic a in
+ let b : 'tv_statement = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19602 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
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"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 21675 "parser_cocci_menhir.ml"
+ let _v : 'tv_mzl_statement_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19609 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_statement__ = Obj.magic b in
- let a : 'tv_statement = Obj.magic a in
+ let b : 'tv_struct_decl_one = Obj.magic b in
+ let a : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19636 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
let _startpos = _startpos_a_ in
let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_statement_statement_ =
-# 2016 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 21705 "parser_cocci_menhir.ml"
+ let _v : 'tv_mzl_struct_decl_one_ =
+# 2358 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 19643 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_name_opt_decl =
+# 1078 "parser_cocci_menhir.mly"
+ ( _1 )
+# 19667 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let b : 'tv_loption_minus_start_ = Obj.magic b in
- let f : 'tv_loption_filespec_ = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_minus_body =
-# 708 "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 )
-# 21737 "parser_cocci_menhir.ml"
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19718 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19724 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19729 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let s : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19734 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19739 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_rp1_ in
+ let _v : 'tv_name_opt_decl =
+# 1081 "parser_cocci_menhir.mly"
+ ( let fnptr =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
+ P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
+ Ast0.wrap(Ast0.Param(fnptr, None)) )
+# 19752 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_top_eexpr = Obj.magic b in
- let f : 'tv_loption_filespec_ = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_minus_exp_body =
-# 722 "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 )
-# 21769 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nest_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_dots =
+# 2300 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 19782 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _1 : 'tv_minus_exp_body = Obj.magic _1 in
+ let _2 : 'tv_nest_after_exp = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 143 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21797 "parser_cocci_menhir.ml"
- ) =
-# 183 "parser_cocci_menhir.mly"
- ( _1 )
-# 21801 "parser_cocci_menhir.ml"
+ let _v : 'tv_nest_after_dots =
+# 2301 "parser_cocci_menhir.mly"
+ (_2)
+# 19810 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_exp_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 143 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21829 "parser_cocci_menhir.ml"
- ) =
-# 183 "parser_cocci_menhir.mly"
- ( m )
-# 21833 "parser_cocci_menhir.ml"
+ let _v : 'tv_nest_after_dots =
+# 2302 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 19840 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let m : 'tv_minus_exp_body = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 143 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21861 "parser_cocci_menhir.ml"
- ) =
-# 184 "parser_cocci_menhir.mly"
- ( m )
-# 21865 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_nest_after_exp =
+# 2310 "parser_cocci_menhir.mly"
+ ([])
+# 19857 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _1 : 'tv_minus_body = Obj.magic _1 in
+ let _2 : 'tv_nest_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 140 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21893 "parser_cocci_menhir.ml"
- ) =
-# 179 "parser_cocci_menhir.mly"
- ( _1 )
-# 21897 "parser_cocci_menhir.ml"
+ let _v : 'tv_nest_after_exp =
+# 2311 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 19887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let m : 'tv_minus_body = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 140 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21925 "parser_cocci_menhir.ml"
- ) =
-# 179 "parser_cocci_menhir.mly"
- ( m )
-# 21929 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_nest_after_stm =
+# 2305 "parser_cocci_menhir.mly"
+ ([])
+# 19904 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : 'tv_nest_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 140 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21957 "parser_cocci_menhir.ml"
- ) =
-# 180 "parser_cocci_menhir.mly"
- ( m )
-# 21961 "parser_cocci_menhir.ml"
+ let _v : 'tv_nest_after_stm =
+# 2306 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 19934 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _2 : 'tv_nest_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1841 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 21985 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_stm =
+# 2307 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 19964 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_ctype = Obj.magic _1 in
+ let c : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19995 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20001 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1842 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 22009 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...>" c, None, false)) )
+# 20010 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_top_init = Obj.magic _1 in
+ let c : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20041 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20047 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1843 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 22033 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1491 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...+>" c, None, true)) )
+# 20056 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 20077 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1845 "parser_cocci_menhir.mly"
- ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 22057 "parser_cocci_menhir.ml"
+ let _v : 'tv_nest_expressions =
+# 1494 "parser_cocci_menhir.mly"
+ ( tmeta_to_exp _1 )
+# 20084 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let b : 'tv_ctype = Obj.magic b in
- let a : (
-# 81 "parser_cocci_menhir.mly"
+ let c : (
+# 119 "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"
- ( (P.clt2mcode "|" a, b) )
-# 22091 "parser_cocci_menhir.ml"
+# 20115 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20121 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions_only =
+# 1498 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...>" c, None, false)) )
+# 20130 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let b : 'tv_eexpr = Obj.magic b in
- let a : (
-# 81 "parser_cocci_menhir.mly"
+ let c : (
+# 119 "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"
- ( (P.clt2mcode "|" a, b) )
-# 22125 "parser_cocci_menhir.ml"
+# 20161 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20167 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions_only =
+# 1502 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...+>" c, None, true)) )
+# 20176 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let b : 'tv_fun_after_dots_or = Obj.magic b in
- let a : (
-# 81 "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"
- ( (P.clt2mcode "|" a, b) )
-# 22159 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let b : 'tv_fun_start = Obj.magic b in
- let a : (
-# 81 "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"
- ( (P.clt2mcode "|" a, b) )
-# 22193 "parser_cocci_menhir.ml"
+ let _1 : 'tv_nest_after_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nest_start =
+# 2297 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 20200 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_rule_elem_statement = Obj.magic b in
- let a : (
-# 81 "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"
- ( (P.clt2mcode "|" a, b) )
-# 22227 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : (
+# 216 "parser_cocci_menhir.mly"
+ (unit)
+# 20222 "parser_cocci_menhir.ml"
+ ) =
+# 2425 "parser_cocci_menhir.mly"
+ ( () )
+# 20226 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_statement = Obj.magic b in
- let a : (
-# 81 "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"
- ( (P.clt2mcode "|" a, b) )
-# 22261 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 216 "parser_cocci_menhir.mly"
+ (unit)
+# 20252 "parser_cocci_menhir.ml"
+ ) =
+# 2426 "parser_cocci_menhir.mly"
+ ( () )
+# 20256 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_name_opt_decl =
-# 915 "parser_cocci_menhir.mly"
- ( _1 )
-# 22285 "parser_cocci_menhir.ml"
+ let _v : (
+# 216 "parser_cocci_menhir.mly"
+ (unit)
+# 20278 "parser_cocci_menhir.ml"
+ ) =
+# 2427 "parser_cocci_menhir.mly"
+ ( () )
+# 20282 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 22342 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 81 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22347 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let s : (
-# 103 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22352 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22357 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_rp1_ in
- let _v : 'tv_name_opt_decl =
-# 918 "parser_cocci_menhir.mly"
- ( let fnptr =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
- P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
- Ast0.wrap(Ast0.Param(fnptr, None)) )
-# 22370 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : (
+# 216 "parser_cocci_menhir.mly"
+ (unit)
+# 20304 "parser_cocci_menhir.ml"
+ ) =
+# 2428 "parser_cocci_menhir.mly"
+ ( () )
+# 20308 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = dg;
+ MenhirLib.EngineTypes.startp = _startpos_dg_;
+ MenhirLib.EngineTypes.endp = _endpos_dg_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = g;
+ MenhirLib.EngineTypes.startp = _startpos_g_;
+ MenhirLib.EngineTypes.endp = _endpos_g_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1961 "parser_cocci_menhir.mly"
- (_1@_2)
-# 22400 "parser_cocci_menhir.ml"
+ let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
+ let g : 'tv_dexpr = Obj.magic g in
+ let _startpos = _startpos_g_ in
+ let _endpos = _endpos_dg_ in
+ let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
+# 1744 "parser_cocci_menhir.mly"
+ ( function dot_builder ->
+ g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 20339 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_nest_after_exp = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1962 "parser_cocci_menhir.mly"
- (_2)
-# 22428 "parser_cocci_menhir.ml"
+ let ty : (
+# 92 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20360 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_non_signable_types =
+# 665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 20367 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ty2;
+ MenhirLib.EngineTypes.startp = _startpos_ty2_;
+ MenhirLib.EngineTypes.endp = _endpos_ty2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = ty1;
+ MenhirLib.EngineTypes.startp = _startpos_ty1_;
+ MenhirLib.EngineTypes.endp = _endpos_ty1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1963 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 22458 "parser_cocci_menhir.ml"
+ let ty2 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20393 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty2 in
+ let ty1 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20398 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty1 in
+ let _startpos = _startpos_ty1_ in
+ let _endpos = _endpos_ty2_ in
+ let _v : 'tv_non_signable_types =
+# 667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongDoubleType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "double" ty2])) )
+# 20408 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 22475 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let ty : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20429 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_non_signable_types =
+# 672 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 20436 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_nest_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_exp =
-# 1972 "parser_cocci_menhir.mly"
- (_1::_2)
-# 22505 "parser_cocci_menhir.ml"
+ let ty : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20457 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_non_signable_types =
+# 674 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 20464 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 22522 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let ty : (
+# 91 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20485 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_non_signable_types =
+# 676 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 20492 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_nest_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_stm =
-# 1967 "parser_cocci_menhir.mly"
- (_1::_2)
-# 22552 "parser_cocci_menhir.ml"
+ let ty : (
+# 91 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20513 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_non_signable_types =
+# 678 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 20520 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let ty : (
+# 91 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20541 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_non_signable_types =
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 20548 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_stm =
-# 1968 "parser_cocci_menhir.mly"
- (_1@_2)
-# 22582 "parser_cocci_menhir.ml"
+ let i : 'tv_ident = Obj.magic i in
+ let s : (
+# 92 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20575 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_non_signable_types =
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 20582 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
- let c : (
-# 77 "parser_cocci_menhir.mly"
+ let r : (
+# 147 "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"
+# 20618 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let ids : 'tv_enum_decl_list = Obj.magic ids in
+ let l : (
+# 147 "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"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...>" c, None, false)) )
-# 22628 "parser_cocci_menhir.ml"
+# 20624 "parser_cocci_menhir.ml"
+ ) = Obj.magic l in
+ let s : (
+# 92 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20629 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_non_signable_types = let i =
+
+# 39 "standard.mly"
+ ( None )
+# 20637 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "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)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 20646 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let c : (
-# 77 "parser_cocci_menhir.mly"
+ let r : (
+# 147 "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"
+# 20687 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let ids : 'tv_enum_decl_list = Obj.magic ids in
+ let l : (
+# 147 "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"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...+>" c, None, true)) )
-# 22674 "parser_cocci_menhir.ml"
+# 20693 "parser_cocci_menhir.ml"
+ ) = Obj.magic l in
+ let x0 : 'tv_ident = Obj.magic x0 in
+ let s : (
+# 92 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20699 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_non_signable_types = let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 20708 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "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)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 20717 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_nest_after_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_nest_start =
-# 1958 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 22698 "parser_cocci_menhir.ml"
+ let i : 'tv_type_ident = Obj.magic i in
+ let s : 'tv_struct_or_union = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_non_signable_types =
+# 689 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 20747 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : (
-# 174 "parser_cocci_menhir.mly"
- (unit)
-# 22720 "parser_cocci_menhir.ml"
- ) =
-# 2086 "parser_cocci_menhir.mly"
- ( () )
-# 22724 "parser_cocci_menhir.ml"
+ let r : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20783 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let d : 'tv_struct_decl_list = Obj.magic d in
+ let l : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20789 "parser_cocci_menhir.ml"
+ ) = Obj.magic l in
+ let s : 'tv_struct_or_union = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_non_signable_types = let i =
+
+# 39 "standard.mly"
+ ( None )
+# 20798 "parser_cocci_menhir.ml"
+
+ in
+
+# 692 "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)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 20808 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 174 "parser_cocci_menhir.mly"
- (unit)
-# 22750 "parser_cocci_menhir.ml"
- ) =
-# 2087 "parser_cocci_menhir.mly"
- ( () )
-# 22754 "parser_cocci_menhir.ml"
+ let r : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20849 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let d : 'tv_struct_decl_list = Obj.magic d in
+ let l : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20855 "parser_cocci_menhir.ml"
+ ) = Obj.magic l in
+ let x0 : 'tv_type_ident = Obj.magic x0 in
+ let s : 'tv_struct_or_union = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_non_signable_types = let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 20866 "parser_cocci_menhir.ml"
+
+ in
+
+# 692 "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)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 20876 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : (
-# 174 "parser_cocci_menhir.mly"
- (unit)
-# 22776 "parser_cocci_menhir.ml"
- ) =
-# 2088 "parser_cocci_menhir.mly"
- ( () )
-# 22780 "parser_cocci_menhir.ml"
+ let r : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20912 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let d : 'tv_struct_decl_list = Obj.magic d in
+ let l : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20918 "parser_cocci_menhir.ml"
+ ) = Obj.magic l in
+ let s : (
+# 108 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 20923 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_non_signable_types =
+# 698 "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)) )
+# 20932 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = dg;
- MenhirLib.EngineTypes.startp = _startpos_dg_;
- MenhirLib.EngineTypes.endp = _endpos_dg_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = g;
- MenhirLib.EngineTypes.startp = _startpos_g_;
- MenhirLib.EngineTypes.endp = _endpos_g_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
- let g : 'tv_dexpr = Obj.magic g in
- 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"
- ( function dot_builder ->
- g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 22811 "parser_cocci_menhir.ml"
+ let p : (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 20953 "parser_cocci_menhir.ml"
+ ) = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos_p_ in
+ let _v : 'tv_non_signable_types =
+# 702 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 20960 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let x : (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 22832 "parser_cocci_menhir.ml"
+# 20981 "parser_cocci_menhir.ml"
) = Obj.magic x in
let _startpos = _startpos_x_ in
let _endpos = _endpos_x_ in
let _v : 'tv_nonempty_list_TMul_ =
# 124 "standard.mly"
( [ x ] )
-# 22839 "parser_cocci_menhir.ml"
+# 20988 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
let x : (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 22866 "parser_cocci_menhir.ml"
+# 21015 "parser_cocci_menhir.ml"
) = Obj.magic x in
let _startpos = _startpos_x_ in
let _endpos = _endpos_xs_ in
let _v : 'tv_nonempty_list_TMul_ =
# 126 "standard.mly"
( x :: xs )
-# 22873 "parser_cocci_menhir.ml"
+# 21022 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
-# 1768 "parser_cocci_menhir.mly"
+# 2107 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 22897 "parser_cocci_menhir.ml"
+# 21046 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 22923 "parser_cocci_menhir.ml"
+# 21072 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_aexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
-# 1770 "parser_cocci_menhir.mly"
+# 2109 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 22932 "parser_cocci_menhir.ml"
+# 21081 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 22964 "parser_cocci_menhir.ml"
+# 21113 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_aexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
-# 1773 "parser_cocci_menhir.mly"
+# 2112 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 22974 "parser_cocci_menhir.ml"
+# 21123 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
-# 1776 "parser_cocci_menhir.mly"
+# 2115 "parser_cocci_menhir.mly"
( _2 )
-# 23002 "parser_cocci_menhir.ml"
+# 21151 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 23023 "parser_cocci_menhir.ml"
+# 21172 "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"
+# 2116 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [(build_dots "..." d)] )
-# 23030 "parser_cocci_menhir.ml"
+# 21179 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23056 "parser_cocci_menhir.ml"
+# 21205 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 23061 "parser_cocci_menhir.ml"
+# 21210 "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"
+# 2118 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
[(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23069 "parser_cocci_menhir.ml"
+# 21218 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23101 "parser_cocci_menhir.ml"
+# 21250 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 23106 "parser_cocci_menhir.ml"
+# 21255 "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"
+# 2121 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
(build_dots "..." d)::
(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(r build_dots build_comma) )
-# 23116 "parser_cocci_menhir.ml"
+# 21265 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
-# 1768 "parser_cocci_menhir.mly"
+# 2107 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 23140 "parser_cocci_menhir.ml"
+# 21289 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23166 "parser_cocci_menhir.ml"
+# 21315 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
-# 1770 "parser_cocci_menhir.mly"
+# 2109 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23175 "parser_cocci_menhir.ml"
+# 21324 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23207 "parser_cocci_menhir.ml"
+# 21356 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
-# 1773 "parser_cocci_menhir.mly"
+# 2112 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 23217 "parser_cocci_menhir.ml"
+# 21366 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
-# 1776 "parser_cocci_menhir.mly"
+# 2115 "parser_cocci_menhir.mly"
( _2 )
-# 23245 "parser_cocci_menhir.ml"
+# 21394 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 23266 "parser_cocci_menhir.ml"
+# 21415 "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"
+# 2116 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [(build_dots "..." d)] )
-# 23273 "parser_cocci_menhir.ml"
+# 21422 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23299 "parser_cocci_menhir.ml"
+# 21448 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 23304 "parser_cocci_menhir.ml"
+# 21453 "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"
+# 2118 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
[(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23312 "parser_cocci_menhir.ml"
+# 21461 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23344 "parser_cocci_menhir.ml"
+# 21493 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 23349 "parser_cocci_menhir.ml"
+# 21498 "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"
+# 2121 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
(build_dots "..." d)::
(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(r build_dots build_comma) )
-# 23359 "parser_cocci_menhir.ml"
+# 21508 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2107 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 23383 "parser_cocci_menhir.ml"
+# 21532 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23409 "parser_cocci_menhir.ml"
+# 21558 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_enum_decl_one = Obj.magic _1 in
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"
+# 2109 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23418 "parser_cocci_menhir.ml"
+# 21567 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23450 "parser_cocci_menhir.ml"
+# 21599 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_enum_decl_one = Obj.magic _1 in
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"
+# 2112 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 23460 "parser_cocci_menhir.ml"
+# 21609 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2115 "parser_cocci_menhir.mly"
( _2 )
-# 23488 "parser_cocci_menhir.ml"
+# 21637 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2116 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [(build_dots "..." d)] )
-# 23512 "parser_cocci_menhir.ml"
+# 21661 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23538 "parser_cocci_menhir.ml"
+# 21687 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
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"
+# 2118 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
[(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23547 "parser_cocci_menhir.ml"
+# 21696 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23579 "parser_cocci_menhir.ml"
+# 21728 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
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"
+# 2121 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
(build_dots "..." d)::
(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(r build_dots build_comma) )
-# 23590 "parser_cocci_menhir.ml"
+# 21739 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2107 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 23614 "parser_cocci_menhir.ml"
+# 21763 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23640 "parser_cocci_menhir.ml"
+# 21789 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_initialize2 = Obj.magic _1 in
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"
+# 2109 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23649 "parser_cocci_menhir.ml"
+# 21798 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23681 "parser_cocci_menhir.ml"
+# 21830 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_initialize2 = Obj.magic _1 in
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"
+# 2112 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 23691 "parser_cocci_menhir.ml"
+# 21840 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2115 "parser_cocci_menhir.mly"
( _2 )
-# 23719 "parser_cocci_menhir.ml"
+# 21868 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2116 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [(build_dots "..." d)] )
-# 23743 "parser_cocci_menhir.ml"
+# 21892 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23769 "parser_cocci_menhir.ml"
+# 21918 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
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"
+# 2118 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
[(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23778 "parser_cocci_menhir.ml"
+# 21927 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23810 "parser_cocci_menhir.ml"
+# 21959 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
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"
+# 2121 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
(build_dots "..." d)::
(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(r build_dots build_comma) )
-# 23821 "parser_cocci_menhir.ml"
+# 21970 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2107 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 23845 "parser_cocci_menhir.ml"
+# 21994 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23871 "parser_cocci_menhir.ml"
+# 22020 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
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"
+# 2109 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 23880 "parser_cocci_menhir.ml"
+# 22029 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 23912 "parser_cocci_menhir.ml"
+# 22061 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
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"
+# 2112 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 23922 "parser_cocci_menhir.ml"
+# 22071 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2115 "parser_cocci_menhir.mly"
( _2 )
-# 23950 "parser_cocci_menhir.ml"
+# 22099 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 23971 "parser_cocci_menhir.ml"
+# 22120 "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"
+# 2116 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [(build_dots "..." d)] )
-# 23978 "parser_cocci_menhir.ml"
+# 22127 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 24004 "parser_cocci_menhir.ml"
+# 22153 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 24009 "parser_cocci_menhir.ml"
+# 22158 "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"
+# 2118 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
[(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 24017 "parser_cocci_menhir.ml"
+# 22166 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 24049 "parser_cocci_menhir.ml"
+# 22198 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 24054 "parser_cocci_menhir.ml"
+# 22203 "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"
+# 2121 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
(build_dots "..." d)::
(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(r build_dots build_comma) )
-# 24064 "parser_cocci_menhir.ml"
+# 22213 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2107 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [_1] )
-# 24088 "parser_cocci_menhir.ml"
+# 22237 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 24114 "parser_cocci_menhir.ml"
+# 22263 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
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"
+# 2109 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 24123 "parser_cocci_menhir.ml"
+# 22272 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 24155 "parser_cocci_menhir.ml"
+# 22304 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
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"
+# 2112 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
_1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
(_3 build_dots build_comma) )
-# 24165 "parser_cocci_menhir.ml"
+# 22314 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2115 "parser_cocci_menhir.mly"
( _2 )
-# 24193 "parser_cocci_menhir.ml"
+# 22342 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 24214 "parser_cocci_menhir.ml"
+# 22363 "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"
+# 2116 "parser_cocci_menhir.mly"
( fun build_dots build_comma -> [(build_dots "..." d)] )
-# 24221 "parser_cocci_menhir.ml"
+# 22370 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 24247 "parser_cocci_menhir.ml"
+# 22396 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let d : (
-# 77 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 24252 "parser_cocci_menhir.ml"
+# 22401 "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"
+# 2118 "parser_cocci_menhir.mly"
( fun build_dots build_comma ->
[(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
-# 24260 "parser_cocci_menhir.ml"
+# 22409 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _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"
- (Data.clt)
-# 24292 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let d : (
-# 77 "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"
- ( fun build_dots build_comma ->
- (build_dots "..." d)::
- (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
- (r build_dots build_comma) )
-# 24307 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let i : 'tv_ident_or_const = Obj.magic i in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_not_ceq =
-# 1629 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- [i] )
-# 24339 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_not_ceq =
-# 1635 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- l )
-# 24379 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ceq;
- MenhirLib.EngineTypes.startp = _startpos_ceq_;
- MenhirLib.EngineTypes.endp = _endpos_ceq_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let ceq : 'tv_not_ceq = Obj.magic ceq in
- let _startpos = _startpos_ceq_ in
- let _endpos = _endpos_ceq_ in
- let _v : 'tv_not_ceq_or_sub =
-# 1605 "parser_cocci_menhir.mly"
- (Ast0.NotExpCstrt ceq)
-# 24403 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let s : 'tv_sub = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_not_ceq_or_sub =
-# 1606 "parser_cocci_menhir.mly"
- (Ast0.SubExpCstrt s)
-# 24427 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_not_eqe =
-# 1610 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
- )
-# 24460 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_not_eqe =
-# 1617 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- List.map
- (function i ->
- Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
- l
- )
-# 24504 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_not_eqid =
-# 1567 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- (* pb: constraints not stored with metavars; too lazy to search for
- them in the pattern *)
- then failwith "constraints not allowed in a generated rule file");
- (match i with
- (Some rn,id) ->
- let i =
- P.check_inherited_constraint i
- (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
- Ast.IdNegIdSet([],[i])
- | (None,i) -> Ast.IdNegIdSet([i],[])) )
-# 24544 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_not_eqid =
-# 1581 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- let (str,meta) =
- List.fold_left
- (function (str,meta) ->
- function
- (Some rn,id) as i ->
- let i =
- P.check_inherited_constraint i
- (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
- (str,i::meta)
- | (None,i) -> (i::str,meta))
- ([],[]) l in
- Ast.IdNegIdSet(str,meta)
- )
-# 24596 "parser_cocci_menhir.ml"
+ let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22441 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22446 "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_ =
+# 2121 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 22456 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let i : 'tv_meta_ident = Obj.magic i in
+ let i : 'tv_ident_or_const = Obj.magic i in
let _startpos = _startpos__1_ in
let _endpos = _endpos_i_ in
- let _v : 'tv_not_pos =
-# 1673 "parser_cocci_menhir.mly"
+ let _v : 'tv_not_ceq =
+# 1940 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
then failwith "constraints not allowed in a generated rule file");
- let i =
- P.check_inherited_constraint i
- (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
[i] )
-# 24631 "parser_cocci_menhir.ml"
+# 22488 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
+ let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
- let _v : 'tv_not_pos =
-# 1682 "parser_cocci_menhir.mly"
+ let _v : 'tv_not_ceq =
+# 1946 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
then failwith "constraints not allowed in a generated rule file");
- List.map
- (function i ->
- P.check_inherited_constraint i
- (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
- l )
-# 24675 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_one_dec_decl_ =
-# 1743 "parser_cocci_menhir.mly"
- ( _1 )
-# 24699 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 70 "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"
- ( let (nm,lenname,pure,clt) = _1 in
- let nm = P.clt2mcode nm clt in
- let lenname =
- match lenname with
- Ast.AnyLen -> Ast0.AnyListLen
- | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
- | Ast.CstLen n -> Ast0.CstListLen n in
- Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 24734 "parser_cocci_menhir.ml"
+ l )
+# 22528 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = ceq;
+ MenhirLib.EngineTypes.startp = _startpos_ceq_;
+ MenhirLib.EngineTypes.endp = _endpos_ceq_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_name_opt_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_one_dec_name_opt_decl_ =
-# 1743 "parser_cocci_menhir.mly"
- ( _1 )
-# 24758 "parser_cocci_menhir.ml"
+ let ceq : 'tv_not_ceq = Obj.magic ceq in
+ let _startpos = _startpos_ceq_ in
+ let _endpos = _endpos_ceq_ in
+ let _v : 'tv_not_ceq_or_sub =
+# 1916 "parser_cocci_menhir.mly"
+ (Ast0.NotExpCstrt ceq)
+# 22552 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 70 "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"
- ( let (nm,lenname,pure,clt) = _1 in
- let nm = P.clt2mcode nm clt in
- let lenname =
- match lenname with
- Ast.AnyLen -> Ast0.AnyListLen
- | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
- | Ast.CstLen n -> Ast0.CstListLen n in
- Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 24793 "parser_cocci_menhir.ml"
+ let s : 'tv_sub = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_not_ceq_or_sub =
+# 1917 "parser_cocci_menhir.mly"
+ (Ast0.SubExpCstrt s)
+# 22576 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24819 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var =
-# 1094 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 24827 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 69 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 24848 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let i : 'tv_pure_ident = Obj.magic i in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_one_decl_var =
-# 1095 "parser_cocci_menhir.mly"
- ( P.meta_decl _1 )
-# 24855 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24886 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let s =
-
-# 39 "standard.mly"
- ( None )
-# 24896 "parser_cocci_menhir.ml"
-
- in
-
-# 1097 "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"
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_eqe =
+# 1921 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
+ )
+# 22609 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24939 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 24951 "parser_cocci_menhir.ml"
-
- in
-
-# 1097 "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"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let f : 'tv_funproto = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_f_ in
- let _v : 'tv_one_decl_var =
-# 1099 "parser_cocci_menhir.mly"
- ( f )
-# 24982 "parser_cocci_menhir.ml"
+ let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_not_eqe =
+# 1928 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ List.map
+ (function i ->
+ Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
+ l
+ )
+# 22653 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 25029 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let s =
-
-# 39 "standard.mly"
- ( None )
-# 25039 "parser_cocci_menhir.ml"
-
- in
-
-# 1101 "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"
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_eqid =
+# 1878 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ (* pb: constraints not stored with metavars; too lazy to search for
+ them in the pattern *)
+ then failwith "constraints not allowed in a generated rule file");
+ (match i with
+ (Some rn,id) ->
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
+ Ast.IdNegIdSet([],[i])
+ | (None,i) -> Ast.IdNegIdSet([i],[])) )
+# 22693 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 25098 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25110 "parser_cocci_menhir.ml"
-
- in
-
-# 1101 "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"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25148 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 25158 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 25165 "parser_cocci_menhir.ml"
-
- in
-
-# 1106 "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)) )
-# 25173 "parser_cocci_menhir.ml"
+ let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_not_eqid =
+# 1892 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let (str,meta) =
+ List.fold_left
+ (function (str,meta) ->
+ function
+ (Some rn,id) as i ->
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
+ (str,i::meta)
+ | (None,i) -> (i::str,meta))
+ ([],[]) l in
+ Ast.IdNegIdSet(str,meta)
+ )
+# 22745 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25209 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25221 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 25228 "parser_cocci_menhir.ml"
-
- in
-
-# 1106 "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)) )
-# 25236 "parser_cocci_menhir.ml"
+ let i : 'tv_meta_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_pos =
+# 1985 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
+ [i] )
+# 22780 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25272 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 25283 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25291 "parser_cocci_menhir.ml"
-
- in
-
-# 1106 "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)) )
-# 25299 "parser_cocci_menhir.ml"
+ let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_not_pos =
+# 1994 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ List.map
+ (function i ->
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
+ l )
+# 22824 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x1;
- MenhirLib.EngineTypes.startp = _startpos_x1_;
- MenhirLib.EngineTypes.endp = _endpos_x1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25340 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x1 : 'tv_const_vol = Obj.magic x1 in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
- let x = x1 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25353 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25361 "parser_cocci_menhir.ml"
-
- in
-
-# 1106 "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)) )
-# 25369 "parser_cocci_menhir.ml"
+ let _1 : 'tv_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_dec_decl_ =
+# 2082 "parser_cocci_menhir.mly"
+ ( _1 )
+# 22848 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 25416 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 25426 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 25433 "parser_cocci_menhir.ml"
-
- in
-
-# 1111 "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
- Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv)) )
-# 25443 "parser_cocci_menhir.ml"
+ let _1 : (
+# 110 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 22869 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_dec_decl_ =
+# 2084 "parser_cocci_menhir.mly"
+ ( let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Ast.AnyLen -> Ast0.AnyListLen
+ | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+ | Ast.CstLen n -> Ast0.CstListLen n in
+ Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
+# 22883 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 25495 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25507 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 25514 "parser_cocci_menhir.ml"
-
- in
-
-# 1111 "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
- Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv)) )
-# 25524 "parser_cocci_menhir.ml"
+ let _1 : 'tv_name_opt_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_dec_name_opt_decl_ =
+# 2082 "parser_cocci_menhir.mly"
+ ( _1 )
+# 22907 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "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"
- (Data.clt)
-# 25576 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 25587 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25595 "parser_cocci_menhir.ml"
-
- in
-
-# 1111 "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
- Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv)) )
-# 25605 "parser_cocci_menhir.ml"
+ let _1 : (
+# 110 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 22928 "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_ =
+# 2084 "parser_cocci_menhir.mly"
+ ( let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Ast.AnyLen -> Ast0.AnyListLen
+ | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+ | Ast.CstLen n -> Ast0.CstListLen n in
+ Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
+# 22942 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_pv_;
MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x1;
- MenhirLib.EngineTypes.startp = _startpos_x1_;
- MenhirLib.EngineTypes.endp = _endpos_x1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let pv : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25656 "parser_cocci_menhir.ml"
+# 22968 "parser_cocci_menhir.ml"
) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25662 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x1 : 'tv_const_vol = Obj.magic x1 in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
let _endpos = _endpos_pv_ in
- let _v : 'tv_one_decl_var = let cv =
- let x = x1 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25675 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25683 "parser_cocci_menhir.ml"
-
- in
-
-# 1111 "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
- Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
- P.clt2mcode ";" pv)) )
-# 25693 "parser_cocci_menhir.ml"
+ let _v : 'tv_one_decl_var =
+# 1276 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
+# 22976 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 22997 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_decl_var =
+# 1277 "parser_cocci_menhir.mly"
+ ( P.meta_decl _1 )
+# 23004 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_pv_;
MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let pv : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25754 "parser_cocci_menhir.ml"
+# 23035 "parser_cocci_menhir.ml"
) = Obj.magic pv in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 25765 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 25776 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25781 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
let _endpos = _endpos_pv_ in
# 39 "standard.mly"
( None )
-# 25790 "parser_cocci_menhir.ml"
+# 23045 "parser_cocci_menhir.ml"
in
-# 1121 "parser_cocci_menhir.mly"
+# 1279 "parser_cocci_menhir.mly"
( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 25802 "parser_cocci_menhir.ml"
+# 23052 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_pv_;
MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let pv : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25868 "parser_cocci_menhir.ml"
+# 23088 "parser_cocci_menhir.ml"
) = Obj.magic pv in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 25879 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 25890 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25895 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let x0 : 'tv_storage = Obj.magic x0 in
let _startpos = _startpos_x0_ in
# 41 "standard.mly"
( Some x )
-# 25906 "parser_cocci_menhir.ml"
+# 23100 "parser_cocci_menhir.ml"
in
-# 1121 "parser_cocci_menhir.mly"
+# 1279 "parser_cocci_menhir.mly"
( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 25918 "parser_cocci_menhir.ml"
+# 23107 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _5 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25959 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 81 "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"
- (Data.clt)
-# 25970 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_decl_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
+ let f : 'tv_funproto = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_f_ in
let _v : 'tv_one_decl_var =
-# 1129 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
- P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 25979 "parser_cocci_menhir.ml"
+# 1281 "parser_cocci_menhir.mly"
+ ( f )
+# 23131 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_q_;
MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
let pv : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 26050 "parser_cocci_menhir.ml"
+# 23172 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 26056 "parser_cocci_menhir.ml"
+# 23178 "parser_cocci_menhir.ml"
) = Obj.magic q in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 26067 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 26078 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26083 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
let _endpos = _endpos_pv_ in
# 39 "standard.mly"
( None )
-# 26092 "parser_cocci_menhir.ml"
+# 23188 "parser_cocci_menhir.ml"
in
-# 1135 "parser_cocci_menhir.mly"
+# 1283 "parser_cocci_menhir.mly"
( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
-# 26104 "parser_cocci_menhir.ml"
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
+# 23195 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_q_;
MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
let pv : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 26180 "parser_cocci_menhir.ml"
+# 23241 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 26186 "parser_cocci_menhir.ml"
+# 23247 "parser_cocci_menhir.ml"
) = Obj.magic q in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 26197 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 26208 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26213 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let x0 : 'tv_storage = Obj.magic x0 in
let _startpos = _startpos_x0_ in
# 41 "standard.mly"
( Some x )
-# 26224 "parser_cocci_menhir.ml"
+# 23259 "parser_cocci_menhir.ml"
in
-# 1135 "parser_cocci_menhir.mly"
+# 1283 "parser_cocci_menhir.mly"
( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
-# 26236 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_TLocal_ =
-# 29 "standard.mly"
- ( None )
-# 26253 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let x : unit = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_option_TLocal_ =
-# 31 "standard.mly"
- ( Some x )
-# 26277 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_TPosAny_ =
-# 29 "standard.mly"
- ( None )
-# 26294 "parser_cocci_menhir.ml"
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
+# 23266 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let x : unit = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_option_TPosAny_ =
-# 31 "standard.mly"
- ( Some x )
-# 26318 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_eexpr_ =
-# 29 "standard.mly"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23297 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+
+# 39 "standard.mly"
( None )
-# 26335 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let x : 'tv_eexpr = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_option_eexpr_ =
-# 31 "standard.mly"
- ( Some x )
-# 26359 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_not_ceq_or_sub_ =
-# 29 "standard.mly"
+# 23307 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
( None )
-# 26376 "parser_cocci_menhir.ml"
+# 23314 "parser_cocci_menhir.ml"
+
+ in
+
+# 1288 "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)) )
+# 23322 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_not_ceq_or_sub = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_option_not_ceq_or_sub_ =
-# 31 "standard.mly"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23358 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
( Some x )
-# 26400 "parser_cocci_menhir.ml"
+# 23370 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 23377 "parser_cocci_menhir.ml"
+
+ in
+
+# 1288 "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)) )
+# 23385 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_re_or_not_eqe_or_sub_ =
-# 29 "standard.mly"
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23421 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+
+# 39 "standard.mly"
( None )
-# 26417 "parser_cocci_menhir.ml"
+# 23432 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 23440 "parser_cocci_menhir.ml"
+
+ in
+
+# 1288 "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)) )
+# 23448 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x1;
+ MenhirLib.EngineTypes.startp = _startpos_x1_;
+ MenhirLib.EngineTypes.endp = _endpos_x1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_option_re_or_not_eqe_or_sub_ =
-# 31 "standard.mly"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23489 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x1 : 'tv_const_vol = Obj.magic x1 in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+ let x = x1 in
+
+# 41 "standard.mly"
( Some x )
-# 26441 "parser_cocci_menhir.ml"
+# 23502 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 23510 "parser_cocci_menhir.ml"
+
+ in
+
+# 1288 "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)) )
+# 23518 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_re_or_not_eqid_ =
-# 29 "standard.mly"
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23559 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23565 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 23575 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
( None )
-# 26458 "parser_cocci_menhir.ml"
+# 23582 "parser_cocci_menhir.ml"
+
+ in
+
+# 1293 "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
+ Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv)) )
+# 23592 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_re_or_not_eqid = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_option_re_or_not_eqid_ =
-# 31 "standard.mly"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23638 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23644 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
( Some x )
-# 26482 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 26499 "parser_cocci_menhir.ml"
+# 23656 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 23663 "parser_cocci_menhir.ml"
+
+ in
+
+# 1293 "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
+ Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv)) )
+# 23673 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_exp = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1909 "parser_cocci_menhir.mly"
- (_2)
-# 26527 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23719 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23725 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 23736 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 23744 "parser_cocci_menhir.ml"
+
+ in
+
+# 1293 "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
+ Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv)) )
+# 23754 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x1;
+ MenhirLib.EngineTypes.startp = _startpos_x1_;
+ MenhirLib.EngineTypes.endp = _endpos_x1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1911 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 26557 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23805 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23811 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let x1 : 'tv_const_vol = Obj.magic x1 in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let cv =
+ let x = x1 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 23824 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 23832 "parser_cocci_menhir.ml"
+
+ in
+
+# 1293 "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
+ Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" pv)) )
+# 23842 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1912 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 26587 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23903 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23908 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23914 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23919 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23925 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23930 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let s =
+
+# 39 "standard.mly"
+ ( None )
+# 23939 "parser_cocci_menhir.ml"
+
+ in
+
+# 1303 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
+# 23951 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1914 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 26617 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 26634 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24017 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24022 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24028 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24033 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24039 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24044 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 24055 "parser_cocci_menhir.ml"
+
+ in
+
+# 1303 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
+# 24067 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _5 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24108 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24113 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24119 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_decl_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_exp =
-# 1905 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 26664 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 26681 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_one_decl_var =
+# 1311 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
+# 24128 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _7 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24179 "parser_cocci_menhir.ml"
+ ) = Obj.magic _7 in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24185 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24190 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24196 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_decl_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1918 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 26711 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_one_decl_var =
+# 1314 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.MacroDeclInit
+ (_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode "=" q,e,
+ P.clt2mcode ";" _7)) )
+# 24208 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1919 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 26741 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24279 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24285 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24290 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24296 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24301 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24307 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24312 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let s =
+
+# 39 "standard.mly"
+ ( None )
+# 24321 "parser_cocci_menhir.ml"
+
+ in
+
+# 1323 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
+# 24333 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1921 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 26771 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24409 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24415 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24420 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24426 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24431 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24437 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24442 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_one_decl_var = let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 24453 "parser_cocci_menhir.ml"
+
+ in
+
+# 1323 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
+# 24465 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let b : 'tv_loption_plus_start_ = Obj.magic b in
- let f : 'tv_loption_filespec_ = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_plus_body =
-# 716 "parser_cocci_menhir.mly"
- ( Top_level.top_level (f@b(*@ew*)) )
-# 26801 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_TLocal_ =
+# 29 "standard.mly"
+ ( None )
+# 24482 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_top_eexpr = Obj.magic b in
- let f : 'tv_loption_filespec_ = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_plus_exp_body =
-# 730 "parser_cocci_menhir.mly"
- ( Top_level.top_level (f@[b](*@ew*)) )
-# 26831 "parser_cocci_menhir.ml"
+ let x : unit = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_TLocal_ =
+# 31 "standard.mly"
+ ( Some x )
+# 24506 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _1 : 'tv_plus_exp_body = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 149 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 26859 "parser_cocci_menhir.ml"
- ) =
-# 185 "parser_cocci_menhir.mly"
- ( _1 )
-# 26863 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_TPosAny_ =
+# 29 "standard.mly"
+ ( None )
+# 24523 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let p : 'tv_plus_exp_body = Obj.magic p in
- let _startpos = _startpos_p_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 149 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 26891 "parser_cocci_menhir.ml"
- ) =
-# 185 "parser_cocci_menhir.mly"
- ( p )
-# 26895 "parser_cocci_menhir.ml"
+ let x : unit = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_TPosAny_ =
+# 31 "standard.mly"
+ ( Some x )
+# 24547 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let p : 'tv_plus_exp_body = Obj.magic p in
- let _startpos = _startpos_p_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 149 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 26923 "parser_cocci_menhir.ml"
- ) =
-# 186 "parser_cocci_menhir.mly"
- ( p )
-# 26927 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_eexpr_ =
+# 29 "standard.mly"
+ ( None )
+# 24564 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_plus_body = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 146 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 26955 "parser_cocci_menhir.ml"
- ) =
-# 181 "parser_cocci_menhir.mly"
- ( _1 )
-# 26959 "parser_cocci_menhir.ml"
+ let x : 'tv_eexpr = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_eexpr_ =
+# 31 "standard.mly"
+ ( Some x )
+# 24588 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let p : 'tv_plus_body = Obj.magic p in
- let _startpos = _startpos_p_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 146 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 26987 "parser_cocci_menhir.ml"
- ) =
-# 181 "parser_cocci_menhir.mly"
- ( p )
-# 26991 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_expr_ =
+# 29 "standard.mly"
+ ( None )
+# 24605 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let p : 'tv_plus_body = Obj.magic p in
- let _startpos = _startpos_p_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 146 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 27019 "parser_cocci_menhir.ml"
- ) =
-# 182 "parser_cocci_menhir.mly"
- ( p )
-# 27023 "parser_cocci_menhir.ml"
+ let x : 'tv_expr = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_expr_ =
+# 31 "standard.mly"
+ ( Some x )
+# 24629 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_ctype = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_plus_start =
-# 1893 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 27047 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_not_ceq_or_sub_ =
+# 29 "standard.mly"
+ ( None )
+# 24646 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_top_init = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_plus_start =
-# 1894 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 27071 "parser_cocci_menhir.ml"
+ let x : 'tv_not_ceq_or_sub = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_not_ceq_or_sub_ =
+# 31 "standard.mly"
+ ( Some x )
+# 24670 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : 'tv_plus_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1896 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 27101 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_re_or_not_eqe_or_sub_ =
+# 29 "standard.mly"
+ ( None )
+# 24687 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1898 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 27131 "parser_cocci_menhir.ml"
+ let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_re_or_not_eqe_or_sub_ =
+# 31 "standard.mly"
+ ( Some x )
+# 24711 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1899 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 27161 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_re_or_not_eqid_ =
+# 29 "standard.mly"
+ ( None )
+# 24728 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1901 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 27191 "parser_cocci_menhir.ml"
+ let x : 'tv_re_or_not_eqid = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_re_or_not_eqid_ =
+# 31 "standard.mly"
+ ( Some x )
+# 24752 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 49 "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"
- ( Ast.Dep _1 )
-# 27219 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_plus_after_dots =
+# 2247 "parser_cocci_menhir.mly"
+ ([])
+# 24769 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 27244 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+ let _2 : 'tv_plus_after_exp = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 237 "parser_cocci_menhir.mly"
- ( Ast.AntiDep _2 )
-# 27251 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_dots =
+# 2248 "parser_cocci_menhir.mly"
+ (_2)
+# 24797 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 27276 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+ let _2 : 'tv_plus_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 238 "parser_cocci_menhir.mly"
- ( Ast.EverDep _2 )
-# 27283 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_dots =
+# 2250 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
+# 24827 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 27308 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+ let _2 : 'tv_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_fundecl = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 239 "parser_cocci_menhir.mly"
- ( Ast.NeverDep _2 )
-# 27315 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_dots =
+# 2251 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
+# 24857 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_dep = Obj.magic _2 in
+ let _2 : 'tv_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_pnrule =
-# 240 "parser_cocci_menhir.mly"
- ( _2 )
-# 27347 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_dots =
+# 2253 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 24887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1389 "parser_cocci_menhir.mly"
- ( _1 )
-# 27371 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_plus_after_exp =
+# 2243 "parser_cocci_menhir.mly"
+ ([])
+# 24904 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _4 : (
-# 106 "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"
- (Data.clt)
-# 27413 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_plus_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1391 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 27422 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_exp =
+# 2244 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 24934 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27454 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1394 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 27462 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_plus_after_stm =
+# 2256 "parser_cocci_menhir.mly"
+ ([])
+# 24951 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 108 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27494 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_plus_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1396 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 27503 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_stm =
+# 2257 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 24981 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 89 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27529 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_fundecl = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1399 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 27537 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_stm =
+# 2258 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
+# 25011 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 89 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27563 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1401 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 27571 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_stm =
+# 2260 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 25041 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _4 : (
-# 81 "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"
- (Data.clt)
-# 27613 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1403 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 27623 "parser_cocci_menhir.ml"
+ let b : 'tv_loption_plus_start_ = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_plus_body =
+# 846 "parser_cocci_menhir.mly"
+ ( f@b(*@ew*) )
+# 25071 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1389 "parser_cocci_menhir.mly"
- ( _1 )
-# 27647 "parser_cocci_menhir.ml"
+ let b : 'tv_top_eexpr = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_plus_exp_body =
+# 860 "parser_cocci_menhir.mly"
+ ( f@[b](*@ew*) )
+# 25101 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _4 : (
-# 106 "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"
- (Data.clt)
-# 27689 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_plus_exp_body = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1391 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 27698 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 191 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 25129 "parser_cocci_menhir.ml"
+ ) =
+# 227 "parser_cocci_menhir.mly"
+ ( _1 )
+# 25133 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27730 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1394 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 27738 "parser_cocci_menhir.ml"
+ let p : 'tv_plus_exp_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 191 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 25161 "parser_cocci_menhir.ml"
+ ) =
+# 227 "parser_cocci_menhir.mly"
+ ( p )
+# 25165 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 108 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27770 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1396 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 27779 "parser_cocci_menhir.ml"
+ let p : 'tv_plus_exp_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 191 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 25193 "parser_cocci_menhir.ml"
+ ) =
+# 228 "parser_cocci_menhir.mly"
+ ( p )
+# 25197 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 89 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27805 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_plus_body = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1399 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 27813 "parser_cocci_menhir.ml"
+ let _v : (
+# 188 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 25225 "parser_cocci_menhir.ml"
+ ) =
+# 223 "parser_cocci_menhir.mly"
+ ( _1 )
+# 25229 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 89 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27839 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
+ let p : 'tv_plus_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1401 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 27847 "parser_cocci_menhir.ml"
+ let _v : (
+# 188 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 25257 "parser_cocci_menhir.ml"
+ ) =
+# 223 "parser_cocci_menhir.mly"
+ ( p )
+# 25261 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _4 : (
-# 81 "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"
- (Data.clt)
-# 27889 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1403 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 27899 "parser_cocci_menhir.ml"
+ let p : 'tv_plus_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 188 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 25289 "parser_cocci_menhir.ml"
+ ) =
+# 224 "parser_cocci_menhir.mly"
+ ( p )
+# 25293 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_ctype = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1389 "parser_cocci_menhir.mly"
- ( _1 )
-# 27923 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_start =
+# 2232 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 25317 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let _4 : (
-# 106 "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"
- (Data.clt)
-# 27965 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1391 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 27974 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28006 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_top_init = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1394 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 28014 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_plus_start =
+# 2233 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 25341 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 108 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28046 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_plus_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1396 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 28055 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_start =
+# 2235 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 25371 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 89 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28081 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_plus_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1399 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 28089 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_start =
+# 2237 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
+# 25401 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 89 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28115 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _2 : 'tv_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_fundecl = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1401 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 28123 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_start =
+# 2238 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
+# 25431 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _4 : (
-# 81 "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"
- (Data.clt)
-# 28165 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1403 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 28175 "parser_cocci_menhir.ml"
+ let _2 : 'tv_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_start =
+# 2240 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 25461 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1389 "parser_cocci_menhir.mly"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1660 "parser_cocci_menhir.mly"
( _1 )
-# 28199 "parser_cocci_menhir.ml"
+# 25485 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 106 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(Data.clt)
-# 28235 "parser_cocci_menhir.ml"
+# 25521 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 106 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(Data.clt)
-# 28241 "parser_cocci_menhir.ml"
+# 25527 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1391 "parser_cocci_menhir.mly"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1662 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
P.clt2mcode "]" _4)) )
-# 28250 "parser_cocci_menhir.ml"
+# 25536 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 28282 "parser_cocci_menhir.ml"
+# 25568 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1394 "parser_cocci_menhir.mly"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1665 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 28290 "parser_cocci_menhir.ml"
+# 25576 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
(Data.clt)
-# 28322 "parser_cocci_menhir.ml"
+# 25608 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1396 "parser_cocci_menhir.mly"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1667 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
_3)) )
-# 28331 "parser_cocci_menhir.ml"
+# 25617 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 28357 "parser_cocci_menhir.ml"
+# 25643 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1399 "parser_cocci_menhir.mly"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1670 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 28365 "parser_cocci_menhir.ml"
+# 25651 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 28391 "parser_cocci_menhir.ml"
+# 25677 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1401 "parser_cocci_menhir.mly"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1672 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 28399 "parser_cocci_menhir.ml"
+# 25685 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 28435 "parser_cocci_menhir.ml"
+# 25721 "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"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 28441 "parser_cocci_menhir.ml"
+# 25727 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1403 "parser_cocci_menhir.mly"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1674 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
_3,
P.clt2mcode ")" _4)) )
-# 28451 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_func_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1408 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 28475 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 28504 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 28533 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 28562 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 28591 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 71 "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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 28621 "parser_cocci_menhir.ml"
+# 25737 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 67 "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"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 28650 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
+ let _6 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25783 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_initialize_list = Obj.magic _5 in
+ let _4 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25789 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25794 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_ctype = Obj.magic _2 in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 28671 "parser_cocci_menhir.ml"
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25800 "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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1680 "parser_cocci_menhir.mly"
+ ( let init =
+ if P.struct_initializer _5
+ then
+ let il = P.drop_dot_commas _5 in
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
+ else
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 28680 "parser_cocci_menhir.ml"
+ (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
+# 25817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 28701 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_primary_expr_eexpr_invalid_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 28710 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1660 "parser_cocci_menhir.mly"
+ ( _1 )
+# 25841 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 28731 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _4 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25877 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25883 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 28740 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1662 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 25892 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 28777 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 25924 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = 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"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 28785 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 25932 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 150 "parser_cocci_menhir.mly"
(Data.clt)
-# 28822 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 25964 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = 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"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 28832 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_dot_expressions = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1448 "parser_cocci_menhir.mly"
- ( _1 )
-# 28856 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_func_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1408 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 28880 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 28909 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 28938 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 28967 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 25973 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 28988 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25999 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = 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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 28996 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1670 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 26007 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29017 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26033 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 29026 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1672 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 26041 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 29047 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26077 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26083 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = 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"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 29055 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1674 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 26093 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
+ let _6 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26139 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_initialize_list = Obj.magic _5 in
+ let _4 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26145 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26150 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_ctype = Obj.magic _2 in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29076 "parser_cocci_menhir.ml"
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26156 "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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1680 "parser_cocci_menhir.mly"
+ ( let init =
+ if P.struct_initializer _5
+ then
+ let il = P.drop_dot_commas _5 in
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
+ else
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 29085 "parser_cocci_menhir.ml"
+ (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
+# 26173 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29106 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 29115 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1660 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26197 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29136 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _4 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26233 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26239 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 29145 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1662 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 26248 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 29182 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 26280 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = 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"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 29190 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 26288 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 150 "parser_cocci_menhir.mly"
(Data.clt)
-# 29227 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 26320 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = 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"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 29237 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 26329 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_invalid = Obj.magic _1 in
+ let _2 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26355 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1448 "parser_cocci_menhir.mly"
- ( _1 )
-# 29261 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1670 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 26363 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_func_ident = Obj.magic _1 in
+ let _2 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26389 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1408 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 29285 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1672 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 26397 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 29306 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26433 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26439 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = 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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 29314 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1674 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 26449 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
+ let _6 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26495 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_initialize_list = Obj.magic _5 in
+ let _4 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26501 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26506 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_ctype = Obj.magic _2 in
let _1 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 29335 "parser_cocci_menhir.ml"
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26512 "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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 29343 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1680 "parser_cocci_menhir.mly"
+ ( let init =
+ if P.struct_initializer _5
+ then
+ let il = P.drop_dot_commas _5 in
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
+ else
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
+ Ast0.wrap
+ (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
+# 26529 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 29364 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_primary_expr_expr_invalid_ = 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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 29372 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1660 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26553 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 29393 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _4 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26589 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 148 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26595 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = 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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 29401 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1662 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 26604 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26636 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 26644 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29422 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 150 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26676 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 29431 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 26685 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26711 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1670 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 26719 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 29452 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26745 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = 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"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 29460 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1672 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 26753 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29481 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26789 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26795 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 29490 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1674 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 26805 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
+ let _6 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26851 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_initialize_list = Obj.magic _5 in
+ let _4 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26857 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26862 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_ctype = Obj.magic _2 in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29511 "parser_cocci_menhir.ml"
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26868 "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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1680 "parser_cocci_menhir.mly"
+ ( let init =
+ if P.struct_initializer _5
+ then
+ let il = P.drop_dot_commas _5 in
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,il,P.clt2mcode "}" _6,false))
+ else
+ Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _4,_5,P.clt2mcode "}" _6,true)) in
Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 29520 "parser_cocci_menhir.ml"
+ (Ast0.Constructor(P.clt2mcode "(" _1, _2, P.clt2mcode ")" _3, init)) )
+# 26885 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 71 "parser_cocci_menhir.mly"
- (Parse_aux.typed_expinfo)
-# 29541 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = 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"
- ( let (nm,constraints,pure,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 29550 "parser_cocci_menhir.ml"
+ let _v : 'tv_pre_basic_expr_eexpr_dot_expressions_ =
+# 1509 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26909 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
+ let _3 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 29587 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 26941 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_pre_basic_expr_eexpr_dot_expressions_ = 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"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 29595 "parser_cocci_menhir.ml"
+ let _v : 'tv_pre_basic_expr_eexpr_dot_expressions_ =
+# 1512 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Sequence(_1,P.clt2mcode "," _2,_3)) )
+# 26949 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pre_basic_expr_eexpr_nest_expressions_ =
+# 1509 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26973 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
+ let _3 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 29632 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 27005 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_pre_basic_expr_eexpr_nest_expressions_ = 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"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 29642 "parser_cocci_menhir.ml"
+ let _v : 'tv_pre_basic_expr_eexpr_nest_expressions_ =
+# 1512 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Sequence(_1,P.clt2mcode "," _2,_3)) )
+# 27013 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_nest_expressions = Obj.magic _1 in
+ let _1 : 'tv_func_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1448 "parser_cocci_menhir.mly"
- ( _1 )
-# 29666 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1693 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 27037 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_func_ident = Obj.magic _1 in
+ let _2 : 'tv_ident = Obj.magic _2 in
+ let _1 : (
+# 136 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27064 "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_ =
-# 1408 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 29690 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1695 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 27072 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 29711 "parser_cocci_menhir.ml"
+# 27093 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1698 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 29719 "parser_cocci_menhir.ml"
+# 27101 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 29740 "parser_cocci_menhir.ml"
+# 27122 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1701 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 29748 "parser_cocci_menhir.ml"
+# 27130 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 29769 "parser_cocci_menhir.ml"
+# 27151 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1704 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 29777 "parser_cocci_menhir.ml"
+# 27159 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 91 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 29798 "parser_cocci_menhir.ml"
+# 27180 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1707 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 29806 "parser_cocci_menhir.ml"
+# 27188 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 29827 "parser_cocci_menhir.ml"
+# 27209 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1710 "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)) )
-# 29836 "parser_cocci_menhir.ml"
+# 27218 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 107 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 29857 "parser_cocci_menhir.ml"
+# 27239 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1714 "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"
+# 27247 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 29886 "parser_cocci_menhir.ml"
+# 27268 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1717 "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)) )
-# 29895 "parser_cocci_menhir.ml"
+# 27277 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 29916 "parser_cocci_menhir.ml"
+# 27298 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1721 "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)) )
-# 29925 "parser_cocci_menhir.ml"
+# 27307 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 71 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 29946 "parser_cocci_menhir.ml"
+# 27328 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1725 "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)) )
-# 29955 "parser_cocci_menhir.ml"
+# 27337 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 29986 "parser_cocci_menhir.ml"
+# 27368 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 29992 "parser_cocci_menhir.ml"
+# 27374 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1729 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
P.clt2mcode ")" _3)) )
-# 30000 "parser_cocci_menhir.ml"
+# 27382 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 30031 "parser_cocci_menhir.ml"
+# 27413 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 30037 "parser_cocci_menhir.ml"
+# 27419 "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"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1732 "parser_cocci_menhir.mly"
( let (mids,code) = _2 in
Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
code, mids,
P.clt2mcode ")" _3)) )
-# 30047 "parser_cocci_menhir.ml"
+# 27429 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_invalid = Obj.magic _1 in
+ let _1 : 'tv_dot_expressions = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_expr_invalid_ =
-# 1448 "parser_cocci_menhir.mly"
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1736 "parser_cocci_menhir.mly"
( _1 )
-# 30071 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure =
-# 196 "parser_cocci_menhir.mly"
- ( Ast0.Pure )
-# 30093 "parser_cocci_menhir.ml"
+# 27453 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : 'tv_func_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure =
-# 197 "parser_cocci_menhir.mly"
- ( Ast0.Context )
-# 30115 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_pure =
-# 198 "parser_cocci_menhir.mly"
- ( Ast0.PureContext )
-# 30141 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1693 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 27477 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
+ let _2 : 'tv_ident = Obj.magic _2 in
+ let _1 : (
+# 136 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27504 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pure =
-# 199 "parser_cocci_menhir.mly"
- ( Ast0.PureContext )
-# 30167 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ( Ast0.Impure )
-# 30184 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1695 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 27512 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 62 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 30205 "parser_cocci_menhir.ml"
+# 27533 "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"
- ( _1 )
-# 30212 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1465 "parser_cocci_menhir.mly"
- ( "identifier" )
-# 30234 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1466 "parser_cocci_menhir.mly"
- ( "expression" )
-# 30256 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1467 "parser_cocci_menhir.mly"
- ( "statement" )
-# 30278 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1468 "parser_cocci_menhir.mly"
- ( "function" )
-# 30300 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1469 "parser_cocci_menhir.mly"
- ( "local" )
-# 30322 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1470 "parser_cocci_menhir.mly"
- ( "type" )
-# 30344 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1698 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 27541 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 27562 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1471 "parser_cocci_menhir.mly"
- ( "parameter" )
-# 30366 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1701 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 27570 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 27591 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1472 "parser_cocci_menhir.mly"
- ( "idexpression" )
-# 30388 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1704 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 27599 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 27620 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1473 "parser_cocci_menhir.mly"
- ( "initialiser" )
-# 30410 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1707 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 27628 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 27649 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1474 "parser_cocci_menhir.mly"
- ( "list" )
-# 30432 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1710 "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)) )
+# 27658 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 107 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 27679 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1475 "parser_cocci_menhir.mly"
- ( "fresh" )
-# 30454 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1714 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 27687 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 27708 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1476 "parser_cocci_menhir.mly"
- ( "constant" )
-# 30476 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1717 "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)) )
+# 27717 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 27738 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1477 "parser_cocci_menhir.mly"
- ( "error" )
-# 30498 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1721 "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)) )
+# 27747 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 27768 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1478 "parser_cocci_menhir.mly"
- ( "words" )
-# 30520 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1725 "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)) )
+# 27777 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27808 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27814 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1479 "parser_cocci_menhir.mly"
- ( "pure" )
-# 30542 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1729 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 27822 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27853 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27859 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1480 "parser_cocci_menhir.mly"
- ( "context" )
-# 30564 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1732 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 27869 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : 'tv_invalid = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1481 "parser_cocci_menhir.mly"
- ( "generated" )
-# 30586 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1736 "parser_cocci_menhir.mly"
+ ( _1 )
+# 27893 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : 'tv_func_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1482 "parser_cocci_menhir.mly"
- ( "typedef" )
-# 30608 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1693 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 27917 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
+ let _2 : 'tv_ident = Obj.magic _2 in
+ let _1 : (
+# 136 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27944 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1483 "parser_cocci_menhir.mly"
- ( "declarer" )
-# 30630 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1695 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 27952 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 27973 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1484 "parser_cocci_menhir.mly"
- ( "iterator" )
-# 30652 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1698 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 27981 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28002 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1485 "parser_cocci_menhir.mly"
- ( "name" )
-# 30674 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1701 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 28010 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28031 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_kwd =
-# 1486 "parser_cocci_menhir.mly"
- ( "position" )
-# 30696 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1704 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 28039 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28060 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1493 "parser_cocci_menhir.mly"
- ( (None,P.id2name _1) )
-# 30720 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1707 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 28068 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28089 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1494 "parser_cocci_menhir.mly"
- ( (None,_1) )
-# 30744 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1710 "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)) )
+# 28098 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_meta_ident = Obj.magic _1 in
+ let _1 : (
+# 107 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 28119 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1495 "parser_cocci_menhir.mly"
- ( _1 )
-# 30768 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1714 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 28127 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = optc;
- MenhirLib.EngineTypes.startp = _startpos_optc_;
- MenhirLib.EngineTypes.endp = _endpos_optc_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
- let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
- 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"
- (
- match optc with
- None -> (i, Ast0.NoConstraint)
- | Some c -> (i, c)
- )
-# 30802 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = optc;
- MenhirLib.EngineTypes.startp = _startpos_optc_;
- MenhirLib.EngineTypes.endp = _endpos_optc_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
- let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
- 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"
- (
- match optc with
- None -> (i, Ast0.NoConstraint)
- | Some c -> (i, c)
- )
-# 30836 "parser_cocci_menhir.ml"
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28148 "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_ =
+# 1717 "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)) )
+# 28157 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
- let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
- 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"
- (
- match c with
- None -> (i, Ast.IdNoConstraint)
- | Some constraint_ -> (i,constraint_)
- )
-# 30870 "parser_cocci_menhir.ml"
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28178 "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_ =
+# 1721 "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)) )
+# 28187 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
- let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
- 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"
- (
- Common.Left
- (match c with
- None -> (i, Ast.IdNoConstraint)
- | Some constraint_ -> (i,constraint_))
- )
-# 30905 "parser_cocci_menhir.ml"
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28208 "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_ =
+# 1725 "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)) )
+# 28217 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 28248 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 28254 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
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"
- ( Common.Right (P.id2name _3) )
-# 30937 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
- 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"
- ( (_1,Ast.NoVal) )
-# 30961 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1729 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 28262 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
};
};
} = _menhir_stack in
- let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
- let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 28293 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 28299 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
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"
- ( match _3 with
- [Ast.SeedString s] -> (_1,Ast.StringSeed s)
- | _ -> (_1,Ast.ListSeed _3) )
-# 30997 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let l : 'tv_loption_not_pos_ = Obj.magic l in
- let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
- 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"
- (
- (i, l)
- )
-# 31029 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = re;
- MenhirLib.EngineTypes.startp = _startpos_re_;
- MenhirLib.EngineTypes.endp = _endpos_re_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let re : 'tv_regexp_eqid = Obj.magic re in
- let _startpos = _startpos_re_ in
- let _endpos = _endpos_re_ in
- let _v : 'tv_re_or_not_eqe_or_sub =
-# 1600 "parser_cocci_menhir.mly"
- (Ast0.NotIdCstrt re)
-# 31053 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ne;
- MenhirLib.EngineTypes.startp = _startpos_ne_;
- MenhirLib.EngineTypes.endp = _endpos_ne_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let ne : 'tv_not_eqe = Obj.magic ne in
- let _startpos = _startpos_ne_ in
- let _endpos = _endpos_ne_ in
- let _v : 'tv_re_or_not_eqe_or_sub =
-# 1601 "parser_cocci_menhir.mly"
- (Ast0.NotExpCstrt ne)
-# 31077 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1732 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 28309 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let s : 'tv_sub = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_re_or_not_eqe_or_sub =
-# 1602 "parser_cocci_menhir.mly"
- (Ast0.SubExpCstrt s)
-# 31101 "parser_cocci_menhir.ml"
+ let _1 : 'tv_nest_expressions = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1736 "parser_cocci_menhir.mly"
+ ( _1 )
+# 28333 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = re;
- MenhirLib.EngineTypes.startp = _startpos_re_;
- MenhirLib.EngineTypes.endp = _endpos_re_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let re : 'tv_regexp_eqid = Obj.magic re in
- let _startpos = _startpos_re_ in
- let _endpos = _endpos_re_ in
- let _v : 'tv_re_or_not_eqid =
-# 1546 "parser_cocci_menhir.mly"
- (Ast.IdRegExpConstraint re)
-# 31125 "parser_cocci_menhir.ml"
+ let _1 : 'tv_func_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1693 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 28357 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ne;
- MenhirLib.EngineTypes.startp = _startpos_ne_;
- MenhirLib.EngineTypes.endp = _endpos_ne_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let ne : 'tv_not_eqid = Obj.magic ne in
- let _startpos = _startpos_ne_ in
- let _endpos = _endpos_ne_ in
- let _v : 'tv_re_or_not_eqid =
-# 1547 "parser_cocci_menhir.mly"
- (ne)
-# 31149 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_ident = Obj.magic _2 in
+ let _1 : (
+# 136 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 28384 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1695 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 28392 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = re;
- MenhirLib.EngineTypes.startp = _startpos_re_;
- MenhirLib.EngineTypes.endp = _endpos_re_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let re : (
-# 91 "parser_cocci_menhir.mly"
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 31174 "parser_cocci_menhir.ml"
- ) = Obj.magic re in
+# 28413 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_re_ in
- let _v : 'tv_regexp_eqid =
-# 1551 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
- )
-# 31186 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1698 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 28421 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = re;
- MenhirLib.EngineTypes.startp = _startpos_re_;
- MenhirLib.EngineTypes.endp = _endpos_re_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let re : (
-# 91 "parser_cocci_menhir.mly"
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 31211 "parser_cocci_menhir.ml"
- ) = Obj.magic re in
+# 28442 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_re_ in
- let _v : 'tv_regexp_eqid =
-# 1558 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
- )
-# 31223 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1701 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 28450 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : (
-# 137 "parser_cocci_menhir.mly"
- (unit)
-# 31240 "parser_cocci_menhir.ml"
- ) =
-# 178 "parser_cocci_menhir.mly"
- ( )
-# 31244 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28471 "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_ =
+# 1704 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 28479 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_one_decl_var = Obj.magic _1 in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28500 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_rule_elem_statement =
-# 990 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 31268 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1707 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 28508 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 31294 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28529 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_rule_elem_statement =
-# 991 "parser_cocci_menhir.mly"
- ( P.exp_stm _1 _2 )
-# 31302 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1710 "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)) )
+# 28538 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _3 : (
-# 111 "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"
- (Data.clt)
-# 31339 "parser_cocci_menhir.ml"
+# 107 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 28559 "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"
- ( P.ret_exp _1 _2 _3 )
-# 31346 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1714 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 28567 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 31372 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
- (Data.clt)
-# 31377 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28588 "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"
- ( P.ret _1 _2 )
-# 31384 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1717 "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)) )
+# 28597 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 31410 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Data.clt)
-# 31415 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28618 "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"
- ( P.break _1 _2 )
-# 31422 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1721 "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)) )
+# 28627 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 31448 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Data.clt)
-# 31453 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 28648 "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"
- ( P.cont _1 _2 )
-# 31460 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1725 "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)) )
+# 28657 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31491 "parser_cocci_menhir.ml"
+# 28688 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 31497 "parser_cocci_menhir.ml"
+# 28694 "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"
- ( let (mids,code) = _2 in
- Ast0.wrap
- (Ast0.Disj(P.clt2mcode "(" _1,
- List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
- mids, P.clt2mcode ")" _3)) )
-# 31508 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1729 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 28702 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ee;
- MenhirLib.EngineTypes.startp = _startpos_ee_;
- MenhirLib.EngineTypes.endp = _endpos_ee_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let ee : 'tv_is_expression = Obj.magic ee in
- let e : 'tv_exists = Obj.magic e in
- let a : 'tv_loption_disable_ = Obj.magic a in
- let i : 'tv_loption_choose_iso_ = Obj.magic i in
- let d : 'tv_depends = Obj.magic d in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 28733 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 28739 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 31564 "parser_cocci_menhir.ml"
- ) = let nm =
-
-# 39 "standard.mly"
- ( None )
-# 31569 "parser_cocci_menhir.ml"
-
- in
-
-# 208 "parser_cocci_menhir.mly"
- ( P.make_cocci_rule_name_result nm d i a e ee )
-# 31575 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__8_;
- MenhirLib.EngineTypes.endp = _endpos__8_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ee;
- MenhirLib.EngineTypes.startp = _startpos_ee_;
- MenhirLib.EngineTypes.endp = _endpos_ee_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let ee : 'tv_is_expression = Obj.magic ee in
- let e : 'tv_exists = Obj.magic e in
- let a : 'tv_loption_disable_ = Obj.magic a in
- let i : 'tv_loption_choose_iso_ = Obj.magic i in
- let d : 'tv_depends = Obj.magic d in
- let x0 : 'tv_pure_ident = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos__8_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 31637 "parser_cocci_menhir.ml"
- ) = let nm =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 31643 "parser_cocci_menhir.ml"
-
- in
-
-# 208 "parser_cocci_menhir.mly"
- ( P.make_cocci_rule_name_result nm d i a e ee )
-# 31649 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1732 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 28749 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__8_;
- MenhirLib.EngineTypes.endp = _endpos__8_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ee;
- MenhirLib.EngineTypes.startp = _startpos_ee_;
- MenhirLib.EngineTypes.endp = _endpos_ee_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let ee : 'tv_is_expression = Obj.magic ee in
- let e : 'tv_exists = Obj.magic e in
- let a : 'tv_loption_disable_ = Obj.magic a in
- let i : 'tv_loption_choose_iso_ = Obj.magic i in
- let d : 'tv_depends = Obj.magic d in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__8_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 31709 "parser_cocci_menhir.ml"
- ) =
-# 213 "parser_cocci_menhir.mly"
- ( P.make_generated_rule_name_result None d i a e ee )
-# 31713 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lang;
- MenhirLib.EngineTypes.startp = _startpos_lang_;
- MenhirLib.EngineTypes.endp = _endpos_lang_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
} = _menhir_stack in
- let d : 'tv_depends = Obj.magic d in
- let lang : 'tv_pure_ident = Obj.magic lang in
+ let _1 : 'tv_invalid = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 31755 "parser_cocci_menhir.ml"
- ) = let nm =
-
-# 39 "standard.mly"
- ( None )
-# 31760 "parser_cocci_menhir.ml"
-
- in
-
-# 215 "parser_cocci_menhir.mly"
- ( P.make_script_rule_name_result lang nm d )
-# 31766 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1736 "parser_cocci_menhir.mly"
+ ( _1 )
+# 28773 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lang;
- MenhirLib.EngineTypes.startp = _startpos_lang_;
- MenhirLib.EngineTypes.endp = _endpos_lang_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let d : 'tv_depends = Obj.magic d in
- let x0 : 'tv_pure_ident = Obj.magic x0 in
- let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__6_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 31814 "parser_cocci_menhir.ml"
- ) = let nm =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 31820 "parser_cocci_menhir.ml"
-
- in
-
-# 215 "parser_cocci_menhir.mly"
- ( P.make_script_rule_name_result lang nm d )
-# 31826 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure =
+# 238 "parser_cocci_menhir.mly"
+ ( Ast0.Pure )
+# 28795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lang;
- MenhirLib.EngineTypes.startp = _startpos_lang_;
- MenhirLib.EngineTypes.endp = _endpos_lang_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let d : 'tv_depends = Obj.magic d in
- let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 31868 "parser_cocci_menhir.ml"
- ) =
-# 217 "parser_cocci_menhir.mly"
- ( P.make_initial_script_rule_name_result lang d )
-# 31872 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure =
+# 239 "parser_cocci_menhir.mly"
+ ( Ast0.Context )
+# 28817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lang;
- MenhirLib.EngineTypes.startp = _startpos_lang_;
- MenhirLib.EngineTypes.endp = _endpos_lang_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let d : 'tv_depends = Obj.magic d in
- let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 31914 "parser_cocci_menhir.ml"
- ) =
-# 219 "parser_cocci_menhir.mly"
- ( P.make_final_script_rule_name_result lang d )
-# 31918 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_pure =
+# 240 "parser_cocci_menhir.mly"
+ ( Ast0.PureContext )
+# 28843 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = py;
- MenhirLib.EngineTypes.startp = _startpos_py_;
- MenhirLib.EngineTypes.endp = _endpos_py_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let py : 'tv_pure_ident = Obj.magic py in
- let _startpos = _startpos_py_ in
+ let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 165 "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"
- ( ((Some (P.id2name py), None), None) )
-# 31950 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure =
+# 241 "parser_cocci_menhir.mly"
+ ( Ast0.PureContext )
+# 28869 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_pure =
+# 242 "parser_cocci_menhir.mly"
+ ( Ast0.Impure )
+# 28886 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = py;
- MenhirLib.EngineTypes.startp = _startpos_py_;
- MenhirLib.EngineTypes.endp = _endpos_py_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_script_name_decl = Obj.magic _2 in
- let py : 'tv_pure_ident = Obj.magic py in
- let _startpos = _startpos_py_ in
- let _endpos = _endpos__3_ in
- let _v : (
-# 165 "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"
- ( ((Some (P.id2name py), None), Some _2) )
-# 31988 "parser_cocci_menhir.ml"
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28907 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident =
+# 1750 "parser_cocci_menhir.mly"
+ ( _1 )
+# 28914 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ast;
- MenhirLib.EngineTypes.startp = _startpos_ast_;
- MenhirLib.EngineTypes.endp = _endpos_ast_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _6 : 'tv_script_name_decl = Obj.magic _6 in
- let ast : 'tv_pure_ident = Obj.magic ast in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : (
-# 165 "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"
- ( ((None, Some (P.id2name ast)), Some _6) )
-# 32042 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1757 "parser_cocci_menhir.mly"
+ ( "identifier" )
+# 28936 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = str;
- MenhirLib.EngineTypes.startp = _startpos_str_;
- MenhirLib.EngineTypes.endp = _endpos_str_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _6 : 'tv_script_name_decl = Obj.magic _6 in
- let str : 'tv_pure_ident = Obj.magic str in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : (
-# 165 "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"
- ( ((Some (P.id2name str), None), Some _6) )
-# 32096 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1758 "parser_cocci_menhir.mly"
+ ( "expression" )
+# 28958 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ast;
- MenhirLib.EngineTypes.startp = _startpos_ast_;
- MenhirLib.EngineTypes.endp = _endpos_ast_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = str;
- MenhirLib.EngineTypes.startp = _startpos_str_;
- MenhirLib.EngineTypes.endp = _endpos_str_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _6 : 'tv_script_name_decl = Obj.magic _6 in
- let ast : 'tv_pure_ident = Obj.magic ast in
- let str : 'tv_pure_ident = Obj.magic str in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : (
-# 165 "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"
- ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
-# 32152 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1759 "parser_cocci_menhir.mly"
+ ( "statement" )
+# 28980 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = cocci;
- MenhirLib.EngineTypes.startp = _startpos_cocci_;
- MenhirLib.EngineTypes.endp = _endpos_cocci_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let cocci : 'tv_pure_ident = Obj.magic cocci in
- let _2 : (
-# 49 "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"
- ( let nm = P.id2name cocci in
- let mv = Parse_aux.lookup _2 nm in
- ((_2, nm), mv) )
-# 32196 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1760 "parser_cocci_menhir.mly"
+ ( "function" )
+# 29002 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = cocci;
- MenhirLib.EngineTypes.startp = _startpos_cocci_;
- MenhirLib.EngineTypes.endp = _endpos_cocci_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let cocci : 'tv_pure_ident = Obj.magic cocci in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_cocci_ in
- let _v : 'tv_script_name_decl =
-# 2108 "parser_cocci_menhir.mly"
- ( let nm = P.id2name cocci in
- let name = ("virtual", nm) in
- let mv = Ast.MetaIdDecl(Ast.NONE,name) in
- (name,mv) )
-# 32235 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1761 "parser_cocci_menhir.mly"
+ ( "local" )
+# 29024 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 91 "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"
- ( let (x,_) = _1 in Ast.SeedString x )
-# 32263 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure_ident_kwd =
+# 1762 "parser_cocci_menhir.mly"
+ ( "type" )
+# 29046 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 65 "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"
- ( let (x,_,_,_) = _1 in Ast.SeedId x )
-# 32291 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure_ident_kwd =
+# 1763 "parser_cocci_menhir.mly"
+ ( "parameter" )
+# 29068 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _3 : 'tv_pure_ident = Obj.magic _3 in
- let _1 : (
-# 49 "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"
- ( let nm = (_1,P.id2name _3) in
- P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
- Ast.SeedId nm )
-# 32331 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1764 "parser_cocci_menhir.mly"
+ ( "idexpression" )
+# 29090 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 32352 "parser_cocci_menhir.ml"
- ) = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_TString_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32359 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1765 "parser_cocci_menhir.mly"
+ ( "initialiser" )
+# 29112 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
- let x : (
-# 91 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 32390 "parser_cocci_menhir.ml"
- ) = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_TString_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32397 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1766 "parser_cocci_menhir.mly"
+ ( "list" )
+# 29134 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1767 "parser_cocci_menhir.mly"
+ ( "fresh" )
+# 29156 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_any_strict = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32421 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1768 "parser_cocci_menhir.mly"
+ ( "constant" )
+# 29178 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
- let x : 'tv_any_strict = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32455 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1769 "parser_cocci_menhir.mly"
+ ( "error" )
+# 29200 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_ctype = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32479 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1770 "parser_cocci_menhir.mly"
+ ( "words" )
+# 29222 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
- let x : 'tv_ctype = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32513 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1771 "parser_cocci_menhir.mly"
+ ( "pure" )
+# 29244 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_d_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32537 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1772 "parser_cocci_menhir.mly"
+ ( "context" )
+# 29266 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
- let x : 'tv_d_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32571 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1773 "parser_cocci_menhir.mly"
+ ( "generated" )
+# 29288 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_ident_or_const = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32595 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1774 "parser_cocci_menhir.mly"
+ ( "typedef" )
+# 29310 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
- let x : 'tv_ident_or_const = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32629 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1775 "parser_cocci_menhir.mly"
+ ( "declarer" )
+# 29332 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_meta_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32653 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1776 "parser_cocci_menhir.mly"
+ ( "iterator" )
+# 29354 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
- let x : 'tv_meta_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32687 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1777 "parser_cocci_menhir.mly"
+ ( "name" )
+# 29376 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_pure_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32711 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1778 "parser_cocci_menhir.mly"
+ ( "position" )
+# 29398 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
- let x : 'tv_pure_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32745 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1779 "parser_cocci_menhir.mly"
+ ( "symbol" )
+# 29420 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32769 "parser_cocci_menhir.ml"
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1786 "parser_cocci_menhir.mly"
+ ( (None,P.id2name _1) )
+# 29444 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32803 "parser_cocci_menhir.ml"
+ let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1787 "parser_cocci_menhir.mly"
+ ( (None,_1) )
+# 29468 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32827 "parser_cocci_menhir.ml"
+ let _1 : 'tv_meta_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1788 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29492 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = optc;
+ MenhirLib.EngineTypes.startp = _startpos_optc_;
+ MenhirLib.EngineTypes.endp = _endpos_optc_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32861 "parser_cocci_menhir.ml"
+ let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_optc_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
+# 1825 "parser_cocci_menhir.mly"
+ (
+ match optc with
+ None -> (i, Ast0.NoConstraint)
+ | Some c -> (i, c)
+ )
+# 29526 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = optc;
+ MenhirLib.EngineTypes.startp = _startpos_optc_;
+ MenhirLib.EngineTypes.endp = _endpos_optc_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32885 "parser_cocci_menhir.ml"
+ let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ 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_ =
+# 1825 "parser_cocci_menhir.mly"
+ (
+ match optc with
+ None -> (i, Ast0.NoConstraint)
+ | Some c -> (i, c)
+ )
+# 29560 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32919 "parser_cocci_menhir.ml"
+ let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
+# 1850 "parser_cocci_menhir.mly"
+ (
+ match c with
+ None -> (i, Ast.IdNoConstraint)
+ | Some constraint_ -> (i,constraint_)
+ )
+# 29594 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 32943 "parser_cocci_menhir.ml"
+ let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ 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_ =
+# 1833 "parser_cocci_menhir.mly"
+ (
+ Common.Left
+ (match c with
+ None -> (i, Ast.IdNoConstraint)
+ | Some constraint_ -> (i,constraint_))
+ )
+# 29629 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 32977 "parser_cocci_menhir.ml"
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ 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_ =
+# 1840 "parser_cocci_menhir.mly"
+ (
+ let nm = P.id2name _3 in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [nm]
+ !Iteration.parsed_virtual_identifiers;
+ Common.Right nm
+ )
+# 29667 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 33001 "parser_cocci_menhir.ml"
+ let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_seed =
+# 1794 "parser_cocci_menhir.mly"
+ ( (_1,Ast.NoVal) )
+# 29691 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 33035 "parser_cocci_menhir.ml"
+ let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
+ let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_seed =
+# 1797 "parser_cocci_menhir.mly"
+ ( match _3 with
+ [Ast.SeedString s] -> (_1,Ast.StringSeed s)
+ | _ -> (_1,Ast.ListSeed _3) )
+# 29727 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 33059 "parser_cocci_menhir.ml"
+ let l : 'tv_loption_not_pos_ = Obj.magic l in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_l_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
+# 1819 "parser_cocci_menhir.mly"
+ (
+ (i, l)
+ )
+# 29759 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 33093 "parser_cocci_menhir.ml"
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_symbol =
+# 1753 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29783 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 33117 "parser_cocci_menhir.ml"
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 29804 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_symbol =
+# 1754 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29811 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 33151 "parser_cocci_menhir.ml"
+ let re : 'tv_regexp_eqid = Obj.magic re in
+ let _startpos = _startpos_re_ in
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_re_or_not_eqe_or_sub =
+# 1911 "parser_cocci_menhir.mly"
+ (Ast0.NotIdCstrt re)
+# 29835 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = ne;
+ MenhirLib.EngineTypes.startp = _startpos_ne_;
+ MenhirLib.EngineTypes.endp = _endpos_ne_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_typedef_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 33175 "parser_cocci_menhir.ml"
+ let ne : 'tv_not_eqe = Obj.magic ne in
+ let _startpos = _startpos_ne_ in
+ let _endpos = _endpos_ne_ in
+ let _v : 'tv_re_or_not_eqe_or_sub =
+# 1912 "parser_cocci_menhir.mly"
+ (Ast0.NotExpCstrt ne)
+# 29859 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
- let x : 'tv_typedef_ident = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 33209 "parser_cocci_menhir.ml"
+ let s : 'tv_sub = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_re_or_not_eqe_or_sub =
+# 1913 "parser_cocci_menhir.mly"
+ (Ast0.SubExpCstrt s)
+# 29883 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_seed_elem = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 33233 "parser_cocci_menhir.ml"
+ let re : 'tv_regexp_eqid = Obj.magic re in
+ let _startpos = _startpos_re_ in
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_re_or_not_eqid =
+# 1857 "parser_cocci_menhir.mly"
+ (Ast.IdRegExpConstraint re)
+# 29907 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ne;
+ MenhirLib.EngineTypes.startp = _startpos_ne_;
+ MenhirLib.EngineTypes.endp = _endpos_ne_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
- let x : 'tv_seed_elem = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 33267 "parser_cocci_menhir.ml"
+ let ne : 'tv_not_eqid = Obj.magic ne in
+ let _startpos = _startpos_ne_ in
+ let _endpos = _endpos_ne_ in
+ let _v : 'tv_re_or_not_eqid =
+# 1858 "parser_cocci_menhir.mly"
+ (ne)
+# 29931 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_statement = Obj.magic _1 in
+ let re : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 29956 "parser_cocci_menhir.ml"
+ ) = Obj.magic re in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_single_statement =
-# 1005 "parser_cocci_menhir.mly"
- ( _1 )
-# 33291 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_regexp_eqid =
+# 1862 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let (s,_) = re in Ast.IdRegExp (s,Regexp.regexp s)
+ )
+# 29968 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 81 "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"
- (Data.clt)
-# 33328 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let re : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 29993 "parser_cocci_menhir.ml"
+ ) = Obj.magic re in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_single_statement =
-# 1009 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap
- (Ast0.Disj(P.clt2mcode "(" _1,
- List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
- mids, P.clt2mcode ")" _3)) )
-# 33339 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_regexp_eqid =
+# 1869 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let (s,_) = re in Ast.IdNotRegExp (s,Regexp.regexp s)
+ )
+# 30005 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_includes = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_statement =
-# 932 "parser_cocci_menhir.mly"
- ( _1 )
-# 33363 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : (
+# 179 "parser_cocci_menhir.mly"
+ (unit)
+# 30022 "parser_cocci_menhir.ml"
+ ) =
+# 220 "parser_cocci_menhir.mly"
+ ( )
+# 30026 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 33384 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_one_decl_var = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_statement =
-# 934 "parser_cocci_menhir.mly"
- ( P.meta_stm _1 )
-# 33391 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 1157 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
+# 30050 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 33417 "parser_cocci_menhir.ml"
+# 30076 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _1 : 'tv_option_expr_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 936 "parser_cocci_menhir.mly"
- ( P.exp_stm _1 _2 )
-# 33425 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 1158 "parser_cocci_menhir.mly"
+ ( P.exp_stm _1 _2 )
+# 30084 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 81 "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"
+ let _3 : (
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 33473 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+# 30115 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 33478 "parser_cocci_menhir.ml"
+# 30121 "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"
- ( P.ifthen _1 _2 _3 _4 _5 )
-# 33485 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_rule_elem_statement =
+# 1159 "parser_cocci_menhir.mly"
+ ( P.ret_exp _1 _2 _3 )
+# 30128 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _7;
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _7 : 'tv_single_statement = Obj.magic _7 in
- let _6 : (
-# 60 "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"
- (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"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 33549 "parser_cocci_menhir.ml"
+# 30154 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 33554 "parser_cocci_menhir.ml"
+# 30159 "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"
- ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 33561 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_rule_elem_statement =
+# 1160 "parser_cocci_menhir.mly"
+ ( P.ret _1 _2 )
+# 30166 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _9;
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _8;
- MenhirLib.EngineTypes.startp = _startpos__8_;
- MenhirLib.EngineTypes.endp = _endpos__8_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _7;
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let _9 : 'tv_single_statement = Obj.magic _9 in
- let _8 : (
-# 81 "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"
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 153 "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"
+# 30192 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 33635 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
+# 30197 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_rule_elem_statement =
+# 1161 "parser_cocci_menhir.mly"
+ ( P.break _1 _2 )
+# 30204 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
let _2 : (
-# 80 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 33641 "parser_cocci_menhir.ml"
+# 30230 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 33646 "parser_cocci_menhir.ml"
+# 30235 "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"
- ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 33653 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_rule_elem_statement =
+# 1162 "parser_cocci_menhir.mly"
+ ( P.cont _1 _2 )
+# 30242 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 81 "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"
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 33701 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+# 30273 "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 : (
-# 60 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 33706 "parser_cocci_menhir.ml"
+# 30279 "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"
- ( P.whileloop _1 _2 _3 _4 _5 )
-# 33713 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_rule_elem_statement =
+# 1164 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap
+ (Ast0.Disj(P.clt2mcode "(" _1,
+ List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
+ mids, P.clt2mcode ")" _3)) )
+# 30290 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _7;
MenhirLib.EngineTypes.startp = _startpos__7_;
MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = ee;
+ MenhirLib.EngineTypes.startp = _startpos_ee_;
+ MenhirLib.EngineTypes.endp = _endpos_ee_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _7 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 33764 "parser_cocci_menhir.ml"
- ) = Obj.magic _7 in
- let _6 : (
-# 81 "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"
- (Data.clt)
-# 33775 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : (
-# 60 "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"
- (Data.clt)
-# 33786 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let ee : 'tv_is_expression = Obj.magic ee in
+ let e : 'tv_exists = Obj.magic e in
+ let a : 'tv_loption_disable_ = Obj.magic a in
+ let i : 'tv_loption_choose_iso_ = Obj.magic i in
+ let d : 'tv_depends = Obj.magic d in
let _startpos = _startpos__1_ in
let _endpos = _endpos__7_ in
- let _v : 'tv_statement =
-# 947 "parser_cocci_menhir.mly"
- ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 33793 "parser_cocci_menhir.ml"
+ let _v : (
+# 201 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 30346 "parser_cocci_menhir.ml"
+ ) = let nm =
+
+# 39 "standard.mly"
+ ( None )
+# 30351 "parser_cocci_menhir.ml"
+
+ in
+
+# 250 "parser_cocci_menhir.mly"
+ ( P.make_cocci_rule_name_result nm d i a e ee )
+# 30357 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__8_;
+ MenhirLib.EngineTypes.endp = _endpos__8_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = ee;
+ MenhirLib.EngineTypes.startp = _startpos_ee_;
+ MenhirLib.EngineTypes.endp = _endpos_ee_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
};
};
} = _menhir_stack in
- let _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 81 "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"
- (Data.clt)
-# 33841 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_iter_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_statement =
-# 949 "parser_cocci_menhir.mly"
- ( P.iterator _1 _2 _3 _4 _5 )
-# 33849 "parser_cocci_menhir.ml"
+ let ee : 'tv_is_expression = Obj.magic ee in
+ let e : 'tv_exists = Obj.magic e in
+ let a : 'tv_loption_disable_ = Obj.magic a in
+ let i : 'tv_loption_choose_iso_ = Obj.magic i in
+ let d : 'tv_depends = Obj.magic d in
+ let x0 : 'tv_pure_ident = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos__8_ in
+ let _v : (
+# 201 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 30419 "parser_cocci_menhir.ml"
+ ) = let nm =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 30425 "parser_cocci_menhir.ml"
+
+ in
+
+# 250 "parser_cocci_menhir.mly"
+ ( P.make_cocci_rule_name_result nm d i a e ee )
+# 30431 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _8;
MenhirLib.EngineTypes.startp = _startpos__8_;
MenhirLib.EngineTypes.endp = _endpos__8_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _7;
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = ee;
+ MenhirLib.EngineTypes.startp = _startpos_ee_;
+ MenhirLib.EngineTypes.endp = _endpos_ee_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _8 : (
-# 105 "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"
- (Data.clt)
-# 33912 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 81 "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"
- (Data.clt)
-# 33923 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 60 "parser_cocci_menhir.mly"
- (Data.clt)
-# 33928 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let ee : 'tv_is_expression = Obj.magic ee in
+ let e : 'tv_exists = Obj.magic e in
+ let a : 'tv_loption_disable_ = Obj.magic a in
+ let i : 'tv_loption_choose_iso_ = Obj.magic i in
+ let d : 'tv_depends = Obj.magic d in
let _startpos = _startpos__1_ in
let _endpos = _endpos__8_ in
- let _v : 'tv_statement =
-# 951 "parser_cocci_menhir.mly"
- ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
-# 33935 "parser_cocci_menhir.ml"
+ let _v : (
+# 201 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 30491 "parser_cocci_menhir.ml"
+ ) =
+# 255 "parser_cocci_menhir.mly"
+ ( P.make_generated_rule_name_result None d i a e ee )
+# 30495 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : (
-# 111 "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"
- (Data.clt)
-# 33972 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let d : 'tv_depends = Obj.magic d in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 952 "parser_cocci_menhir.mly"
- ( P.ret_exp _1 _2 _3 )
-# 33979 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : (
+# 201 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 30537 "parser_cocci_menhir.ml"
+ ) = let nm =
+
+# 39 "standard.mly"
+ ( None )
+# 30542 "parser_cocci_menhir.ml"
+
+ in
+
+# 257 "parser_cocci_menhir.mly"
+ ( P.make_script_rule_name_result lang nm d )
+# 30548 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34005 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 60 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34010 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let d : 'tv_depends = Obj.magic d in
+ let x0 : 'tv_pure_ident = Obj.magic x0 in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 953 "parser_cocci_menhir.mly"
- ( P.ret _1 _2 )
-# 34017 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__6_ in
+ let _v : (
+# 201 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 30596 "parser_cocci_menhir.ml"
+ ) = let nm =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 30602 "parser_cocci_menhir.ml"
+
+ in
+
+# 257 "parser_cocci_menhir.mly"
+ ( P.make_script_rule_name_result lang nm d )
+# 30608 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34043 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34048 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let d : 'tv_depends = Obj.magic d in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 954 "parser_cocci_menhir.mly"
- ( P.break _1 _2 )
-# 34055 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : (
+# 201 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 30650 "parser_cocci_menhir.ml"
+ ) =
+# 259 "parser_cocci_menhir.mly"
+ ( P.make_initial_script_rule_name_result lang d )
+# 30654 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34081 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34086 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let d : 'tv_depends = Obj.magic d in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 955 "parser_cocci_menhir.mly"
- ( P.cont _1 _2 )
-# 34093 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : (
+# 201 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 30696 "parser_cocci_menhir.ml"
+ ) =
+# 261 "parser_cocci_menhir.mly"
+ ( P.make_final_script_rule_name_result lang d )
+# 30700 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = py;
+ MenhirLib.EngineTypes.startp = _startpos_py_;
+ MenhirLib.EngineTypes.endp = _endpos_py_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34119 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
+ let py : 'tv_pure_ident = Obj.magic py in
+ let _startpos = _startpos_py_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 956 "parser_cocci_menhir.mly"
- ( P.label _1 _2 )
-# 34127 "parser_cocci_menhir.ml"
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 30728 "parser_cocci_menhir.ml"
+ ) =
+# 2432 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name py), None), None) )
+# 30732 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = py;
+ MenhirLib.EngineTypes.startp = _startpos_py_;
+ MenhirLib.EngineTypes.endp = _endpos_py_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 111 "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"
- (Data.clt)
-# 34164 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
+ let _2 : 'tv_script_name_decl = Obj.magic _2 in
+ let py : 'tv_pure_ident = Obj.magic py in
+ let _startpos = _startpos_py_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 957 "parser_cocci_menhir.mly"
- ( P.goto _1 _2 _3 )
-# 34171 "parser_cocci_menhir.ml"
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 30766 "parser_cocci_menhir.ml"
+ ) =
+# 2434 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name py), None), Some _2) )
+# 30770 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ast;
+ MenhirLib.EngineTypes.startp = _startpos_ast_;
+ MenhirLib.EngineTypes.endp = _endpos_ast_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : (
-# 105 "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"
- (Data.clt)
-# 34208 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _6 : 'tv_script_name_decl = Obj.magic _6 in
+ let ast : 'tv_pure_ident = Obj.magic ast in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 959 "parser_cocci_menhir.mly"
- ( P.seq _1 _2 _3 )
-# 34215 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 30820 "parser_cocci_menhir.ml"
+ ) =
+# 2436 "parser_cocci_menhir.mly"
+ ( ((None, Some (P.id2name ast)), Some _6) )
+# 30824 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = str;
+ MenhirLib.EngineTypes.startp = _startpos_str_;
+ MenhirLib.EngineTypes.endp = _endpos_str_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let w : 'tv_list_whenppdecs_ = Obj.magic w in
- let _1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34242 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _6 : 'tv_script_name_decl = Obj.magic _6 in
+ let str : 'tv_pure_ident = Obj.magic str in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_w_ in
- let _v : 'tv_stm_dots =
-# 963 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 34249 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 30874 "parser_cocci_menhir.ml"
+ ) =
+# 2438 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name str), None), Some _6) )
+# 30878 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ast;
+ MenhirLib.EngineTypes.startp = _startpos_ast_;
+ MenhirLib.EngineTypes.endp = _endpos_ast_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = str;
+ MenhirLib.EngineTypes.startp = _startpos_str_;
+ MenhirLib.EngineTypes.endp = _endpos_str_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _6 : 'tv_script_name_decl = Obj.magic _6 in
+ let ast : 'tv_pure_ident = Obj.magic ast in
+ let str : 'tv_pure_ident = Obj.magic str in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 30930 "parser_cocci_menhir.ml"
+ ) =
+# 2440 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
+# 30934 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = cocci;
+ MenhirLib.EngineTypes.startp = _startpos_cocci_;
+ MenhirLib.EngineTypes.endp = _endpos_cocci_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let c : (
-# 77 "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"
- (Data.clt)
-# 34292 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let cocci : 'tv_pure_ident = Obj.magic cocci in
+ let _2 : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 30969 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_stm_dots =
-# 965 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
- P.clt2mcode "...>" c, List.concat w, false)) )
-# 34300 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_cocci_ in
+ let _v : 'tv_script_name_decl =
+# 2444 "parser_cocci_menhir.mly"
+ ( let nm = P.id2name cocci in
+ let mv = Parse_aux.lookup _2 nm in
+ ((_2, nm), mv) )
+# 30978 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = cocci;
+ MenhirLib.EngineTypes.startp = _startpos_cocci_;
+ MenhirLib.EngineTypes.endp = _endpos_cocci_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let c : (
-# 77 "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"
- (Data.clt)
-# 34343 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let cocci : 'tv_pure_ident = Obj.magic cocci in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_stm_dots =
-# 968 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
- P.clt2mcode "...+>" c, List.concat w, true)) )
-# 34351 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_cocci_ in
+ let _v : 'tv_script_name_decl =
+# 2448 "parser_cocci_menhir.mly"
+ ( let nm = P.id2name cocci in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [nm]
+ !Iteration.parsed_virtual_identifiers;
+ let name = ("virtual", nm) in
+ let mv = Ast.MetaIdDecl(Ast.NONE,name) in
+ (name,mv) )
+# 31020 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let s : (
-# 56 "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"
- ( P.clt2mcode Ast.Static s )
-# 34379 "parser_cocci_menhir.ml"
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31041 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_seed_elem =
+# 1802 "parser_cocci_menhir.mly"
+ ( let (x,_) = _1 in Ast.SeedString x )
+# 31048 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let s : (
-# 56 "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"
- ( P.clt2mcode Ast.Auto s )
-# 34407 "parser_cocci_menhir.ml"
+ let _1 : (
+# 104 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 31069 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_seed_elem =
+# 1803 "parser_cocci_menhir.mly"
+ ( let (x,_,_,_,_) = _1 in Ast.SeedId x )
+# 31076 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let s : (
-# 56 "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"
- ( P.clt2mcode Ast.Register s )
-# 34435 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_seed_elem =
+# 1804 "parser_cocci_menhir.mly"
+ (failwith "tmeta")
+# 31098 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let s : (
-# 56 "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"
- ( P.clt2mcode Ast.Extern s )
-# 34463 "parser_cocci_menhir.ml"
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_seed_elem =
+# 1806 "parser_cocci_menhir.mly"
+ ( let nm = ("virtual",P.id2name _3) in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [snd nm]
+ !Iteration.parsed_virtual_identifiers;
+ try Ast.SeedString (List.assoc (snd nm) !Flag.defined_virtual_env)
+ with Not_found -> Ast.SeedId nm )
+# 31135 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _1 : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 31166 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl =
-# 628 "parser_cocci_menhir.mly"
- ( [] )
-# 34485 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_seed_elem =
+# 1813 "parser_cocci_menhir.mly"
+ ( let nm = (_1,P.id2name _3) in
+ P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
+ Ast.SeedId nm )
+# 31175 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_struct_decl_one = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl =
-# 629 "parser_cocci_menhir.mly"
- ( [_1] )
-# 34509 "parser_cocci_menhir.ml"
+ let x : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31196 "parser_cocci_menhir.ml"
+ ) = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_TString_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31203 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list =
-# 651 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 34533 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
+ let x : (
+# 133 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31234 "parser_cocci_menhir.ml"
+ ) = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_TString_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31241 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_struct_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list_start =
-# 654 "parser_cocci_menhir.mly"
- ( _1 )
-# 34557 "parser_cocci_menhir.ml"
+ let x : 'tv_any_strict = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31265 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
- let _1 : 'tv_struct_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_struct_decl_list_start =
-# 655 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 34587 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in
+ let x : 'tv_any_strict = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31299 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_ctype = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31323 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let r : 'tv_continue_struct_decl_list = Obj.magic r in
- let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_struct_decl_list_start =
-# 657 "parser_cocci_menhir.mly"
- ( (P.mkddots_one "..." d)::r )
-# 34617 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in
+ let x : 'tv_ctype = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31357 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 69 "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"
- ( P.meta_field _1 )
-# 34645 "parser_cocci_menhir.ml"
+ let x : 'tv_d_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31381 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34676 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl_one =
-# 634 "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"
+ let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in
+ let x : 'tv_d_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31415 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34747 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 81 "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"
- (Data.clt)
-# 34758 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 81 "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"
- (Data.clt)
-# 34769 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34774 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl_one =
-# 638 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
-# 34788 "parser_cocci_menhir.ml"
+ let x : 'tv_ident_or_const = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31439 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34819 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl_one = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 34829 "parser_cocci_menhir.ml"
-
- in
-
-# 646 "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)) )
-# 34837 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in
+ let x : 'tv_ident_or_const = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31473 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_meta_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31497 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 111 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34873 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let d : 'tv_d_ident = Obj.magic d in
- let i : 'tv_pure_ident = Obj.magic i in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl_one = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 34885 "parser_cocci_menhir.ml"
-
- in
-
-# 646 "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)) )
-# 34893 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in
+ let x : 'tv_meta_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31531 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let s : (
-# 53 "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"
- ( P.clt2mcode Ast.Struct s )
-# 34921 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31555 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = u;
- MenhirLib.EngineTypes.startp = _startpos_u_;
- MenhirLib.EngineTypes.endp = _endpos_u_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let u : (
-# 53 "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"
- ( P.clt2mcode Ast.Union u )
-# 34949 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in
+ let x : 'tv_pure_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31589 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let i : 'tv_meta_ident = Obj.magic i in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_sub =
-# 1646 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- let i =
- P.check_inherited_constraint i
- (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
- [i] )
-# 34984 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31613 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_sub =
-# 1655 "parser_cocci_menhir.mly"
- ( (if !Data.in_iso
- then failwith "constraints not allowed in iso file");
- (if !Data.in_generating
- then failwith "constraints not allowed in a generated rule file");
- List.map
- (function i ->
- P.check_inherited_constraint i
- (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
- l)
-# 35028 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31647 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_top_eexpr =
-# 1274 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 35052 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31671 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 105 "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"
- (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"
- ( if P.struct_initializer _2
- then
- let il = P.drop_dot_commas _2 in
- Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
- else
- Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
-# 35101 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31705 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31729 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 35118 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31763 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_dots =
-# 1870 "parser_cocci_menhir.mly"
- (_2)
-# 35146 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31787 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_dots =
-# 1871 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 35176 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31821 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_dots =
-# 1872 "parser_cocci_menhir.mly"
- (_1@_2)
-# 35206 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31845 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_dots_init =
-# 1860 "parser_cocci_menhir.mly"
- (_2)
-# 35234 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31879 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_dots_init =
-# 1861 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 35264 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31903 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_dots_init =
-# 1862 "parser_cocci_menhir.mly"
- (_1@_2)
-# 35294 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31937 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 35311 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 31961 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_exp =
-# 1866 "parser_cocci_menhir.mly"
- (_1::_2)
-# 35341 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 31995 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- 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"
- ([])
-# 35358 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_typedef_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 32019 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_stm =
-# 1876 "parser_cocci_menhir.mly"
- (_1::_2)
-# 35388 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
+ let x : 'tv_typedef_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 32053 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_after_stm =
-# 1877 "parser_cocci_menhir.mly"
- (_1@_2)
-# 35418 "parser_cocci_menhir.ml"
+ let x : 'tv_seed_elem = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 32077 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1855 "parser_cocci_menhir.mly"
- ( _1::_2 )
-# 35448 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
+ let x : 'tv_seed_elem = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 32111 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1856 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 35478 "parser_cocci_menhir.ml"
+ let ty : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32132 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_signable_types =
+# 626 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 32139 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1857 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 35508 "parser_cocci_menhir.ml"
+ let ty : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32160 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_signable_types =
+# 628 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 32167 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = ty2;
+ MenhirLib.EngineTypes.startp = _startpos_ty2_;
+ MenhirLib.EngineTypes.endp = _endpos_ty2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty1;
+ MenhirLib.EngineTypes.startp = _startpos_ty1_;
+ MenhirLib.EngineTypes.endp = _endpos_ty1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- 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"
- (Data.clt)
-# 35541 "parser_cocci_menhir.ml"
- ) = Obj.magic a0 in
- let _startpos = _startpos_a0_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
- let w = w0 in
- let a = a0 in
-
-# 973 "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"
- ( a::b )
-# 35557 "parser_cocci_menhir.ml"
+ let ty2 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32193 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty2 in
+ let ty1 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32198 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty1 in
+ let _startpos = _startpos_ty1_ in
+ let _endpos = _endpos_ty2_ in
+ let _v : 'tv_signable_types =
+# 630 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.ShortIntType,[P.clt2mcode "short" ty1;P.clt2mcode "int" ty2])) )
+# 32207 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_toplevel_after_dots_init = Obj.magic b in
- let c0 : (
-# 77 "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"
- (Data.clt)
-# 35606 "parser_cocci_menhir.ml"
- ) = Obj.magic a0 in
- let _startpos = _startpos_a0_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
- let c = c0 in
- let b = b0 in
- let w = w0 in
- let a = a0 in
-
-# 977 "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"
- ( a::b )
-# 35625 "parser_cocci_menhir.ml"
+ let ty : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32228 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
+ let _endpos = _endpos_ty_ in
+ let _v : 'tv_signable_types =
+# 634 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 32235 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_toplevel_after_dots_init = Obj.magic b in
- let c0 : (
-# 77 "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"
- (Data.clt)
-# 35674 "parser_cocci_menhir.ml"
- ) = Obj.magic a0 in
- let _startpos = _startpos_a0_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
- let c = c0 in
- let b = b0 in
- let w = w0 in
- let a = a0 in
-
-# 980 "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"
- ( a::b )
-# 35693 "parser_cocci_menhir.ml"
+ let p : (
+# 108 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 32256 "parser_cocci_menhir.ml"
+ ) = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos_p_ in
+ let _v : 'tv_signable_types =
+# 636 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 32264 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let c0 : (
-# 77 "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"
- (Data.clt)
-# 35736 "parser_cocci_menhir.ml"
- ) = Obj.magic a0 in
- let _startpos = _startpos_a0_ in
- let _endpos = _endpos_c0_ in
- let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
- let c = c0 in
- let b = b0 in
- let w = w0 in
- let a = a0 in
-
-# 977 "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"
- ( [a] )
-# 35755 "parser_cocci_menhir.ml"
+ let p : (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 32294 "parser_cocci_menhir.ml"
+ ) = Obj.magic p in
+ let r : (
+# 88 "parser_cocci_menhir.mly"
+ (string)
+# 32299 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_p_ in
+ let _v : 'tv_signable_types =
+# 639 "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 *)
+ let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+ Ast0.Impure (*will be ignored*))) )
+# 32311 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty1;
+ MenhirLib.EngineTypes.startp = _startpos_ty1_;
+ MenhirLib.EngineTypes.endp = _endpos_ty1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let c0 : (
-# 77 "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"
- (Data.clt)
-# 35798 "parser_cocci_menhir.ml"
- ) = Obj.magic a0 in
- let _startpos = _startpos_a0_ in
- let _endpos = _endpos_c0_ in
- let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
- let c = c0 in
- let b = b0 in
- let w = w0 in
- let a = a0 in
-
-# 980 "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"
- ( [a] )
-# 35817 "parser_cocci_menhir.ml"
+ let ty1 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32332 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty1 in
+ let _startpos = _startpos_ty1_ in
+ let _endpos = _endpos_ty1_ in
+ let _v : 'tv_signable_types =
+# 646 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty1])) )
+# 32339 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ty2;
+ MenhirLib.EngineTypes.startp = _startpos_ty2_;
+ MenhirLib.EngineTypes.endp = _endpos_ty2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = ty1;
+ MenhirLib.EngineTypes.startp = _startpos_ty1_;
+ MenhirLib.EngineTypes.endp = _endpos_ty1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
- 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"
- ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 35847 "parser_cocci_menhir.ml"
+ let ty2 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32365 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty2 in
+ let ty1 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32370 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty1 in
+ let _startpos = _startpos_ty1_ in
+ let _endpos = _endpos_ty2_ in
+ let _v : 'tv_signable_types =
+# 648 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongIntType,[P.clt2mcode "long" ty1;P.clt2mcode "int" ty2])) )
+# 32379 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ty2;
+ MenhirLib.EngineTypes.startp = _startpos_ty2_;
+ MenhirLib.EngineTypes.endp = _endpos_ty2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = ty1;
+ MenhirLib.EngineTypes.startp = _startpos_ty1_;
+ MenhirLib.EngineTypes.endp = _endpos_ty1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
- 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"
- ( _1@_2 )
-# 35877 "parser_cocci_menhir.ml"
+ let ty2 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32405 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty2 in
+ let ty1 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32410 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty1 in
+ let _startpos = _startpos_ty1_ in
+ let _endpos = _endpos_ty2_ in
+ let _v : 'tv_signable_types =
+# 652 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 32420 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = ty3;
+ MenhirLib.EngineTypes.startp = _startpos_ty3_;
+ MenhirLib.EngineTypes.endp = _endpos_ty3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = ty2;
+ MenhirLib.EngineTypes.startp = _startpos_ty2_;
+ MenhirLib.EngineTypes.endp = _endpos_ty2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = ty1;
+ MenhirLib.EngineTypes.startp = _startpos_ty1_;
+ MenhirLib.EngineTypes.endp = _endpos_ty1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+ let ty3 : (
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
-# 35909 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
+# 32451 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty3 in
+ let ty2 : (
+# 90 "parser_cocci_menhir.mly"
(Data.clt)
-# 35914 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35932 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 35939 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 35945 "parser_cocci_menhir.ml"
+# 32456 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty2 in
+ let ty1 : (
+# 90 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32461 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty1 in
+ let _startpos = _startpos_ty1_ in
+ let _endpos = _endpos_ty3_ in
+ let _v : 'tv_signable_types =
+# 657 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongIntType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2;
+ P.clt2mcode "int" ty3])) )
+# 32472 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35977 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35982 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36000 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36007 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36013 "parser_cocci_menhir.ml"
+ let _1 : 'tv_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_single_statement =
+# 1172 "parser_cocci_menhir.mly"
+ ( _1 )
+# 32496 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36045 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36050 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36068 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36075 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36081 "parser_cocci_menhir.ml"
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32527 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
+ let _1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32533 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_single_statement =
+# 1176 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap
+ (Ast0.Disj(P.clt2mcode "(" _1,
+ List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
+ mids, P.clt2mcode ")" _3)) )
+# 32544 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_includes = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_statement =
+# 1095 "parser_cocci_menhir.mly"
+ ( _1 )
+# 32568 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 32589 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_statement =
+# 1096 "parser_cocci_menhir.mly"
+ ( tmeta_to_statement _1)
+# 32596 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 108 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 32617 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_statement =
+# 1098 "parser_cocci_menhir.mly"
+ ( P.meta_stm _1 )
+# 32624 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 36113 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36118 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36137 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36144 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36150 "parser_cocci_menhir.ml"
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32650 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_option_expr_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1100 "parser_cocci_menhir.mly"
+ ( P.exp_stm _1 _2 )
+# 32658 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 36191 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 36196 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36201 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let _startpos = _startpos_r1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 36220 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36226 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36233 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36239 "parser_cocci_menhir.ml"
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32700 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32706 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32711 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 1102 "parser_cocci_menhir.mly"
+ ( P.ifthen _1 _2 _3 _4 _5 )
+# 32718 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36271 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36276 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36294 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36301 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36307 "parser_cocci_menhir.ml"
+ let _7 : 'tv_single_statement = Obj.magic _7 in
+ let _6 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32770 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32776 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32782 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32787 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_statement =
+# 1104 "parser_cocci_menhir.mly"
+ ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
+# 32794 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _9;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = _8;
+ MenhirLib.EngineTypes.startp = _startpos__8_;
+ MenhirLib.EngineTypes.endp = _endpos__8_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.semv = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36344 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36349 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36354 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36371 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36377 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36384 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36390 "parser_cocci_menhir.ml"
+ let _9 : 'tv_single_statement = Obj.magic _9 in
+ let _8 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32856 "parser_cocci_menhir.ml"
+ ) = Obj.magic _8 in
+ let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
+ let _6 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32862 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
+ let _4 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32868 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32874 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32879 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_statement =
+# 1107 "parser_cocci_menhir.mly"
+ ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
+# 32886 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _8;
+ MenhirLib.EngineTypes.startp = _startpos__8_;
+ MenhirLib.EngineTypes.endp = _endpos__8_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36422 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36427 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36445 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36452 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36458 "parser_cocci_menhir.ml"
+ let _8 : 'tv_single_statement = Obj.magic _8 in
+ let _7 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32943 "parser_cocci_menhir.ml"
+ ) = Obj.magic _7 in
+ let _6 : 'tv_option_eexpr_ = Obj.magic _6 in
+ let _5 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32949 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : 'tv_option_eexpr_ = Obj.magic _4 in
+ let _3 : 'tv_one_decl_var = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32956 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32961 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__8_ in
+ let _v : 'tv_statement =
+# 1110 "parser_cocci_menhir.mly"
+ ( P.forloop2 _1 _2 _3 _4 _5 _6 _7 _8 )
+# 32968 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36490 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36495 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36513 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36520 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36526 "parser_cocci_menhir.ml"
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33010 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33016 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33021 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 1112 "parser_cocci_menhir.mly"
+ ( P.whileloop _1 _2 _3 _4 _5 )
+# 33028 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36558 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36563 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36581 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36588 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36594 "parser_cocci_menhir.ml"
+ let _7 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33079 "parser_cocci_menhir.ml"
+ ) = Obj.magic _7 in
+ let _6 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33084 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_eexpr = Obj.magic _5 in
+ let _4 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33090 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33095 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_single_statement = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33101 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_statement =
+# 1114 "parser_cocci_menhir.mly"
+ ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
+# 33108 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 36626 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36631 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36650 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36657 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36663 "parser_cocci_menhir.ml"
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33150 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33156 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_iter_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 1116 "parser_cocci_menhir.mly"
+ ( P.iterator _1 _2 _3 _4 _5 )
+# 33164 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _8;
+ MenhirLib.EngineTypes.startp = _startpos__8_;
+ MenhirLib.EngineTypes.endp = _endpos__8_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 36704 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 36709 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36714 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let _startpos = _startpos_r1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 36733 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36739 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36746 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36752 "parser_cocci_menhir.ml"
+ let _8 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33220 "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 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33227 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33232 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33238 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33243 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__8_ in
+ let _v : 'tv_statement =
+# 1118 "parser_cocci_menhir.mly"
+ ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
+# 33250 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36784 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36789 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36807 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36814 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36820 "parser_cocci_menhir.ml"
+ let _3 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33281 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33287 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_statement =
+# 1119 "parser_cocci_menhir.mly"
+ ( P.ret_exp _1 _2 _3 )
+# 33294 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36857 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36862 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36867 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36884 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36890 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36897 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36903 "parser_cocci_menhir.ml"
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33320 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33325 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1120 "parser_cocci_menhir.mly"
+ ( P.ret _1 _2 )
+# 33332 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36930 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( ty )
-# 36947 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 36954 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36960 "parser_cocci_menhir.ml"
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33358 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 100 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33363 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1121 "parser_cocci_menhir.mly"
+ ( P.break _1 _2 )
+# 33370 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36987 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( ty )
-# 37004 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37011 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37017 "parser_cocci_menhir.ml"
+ let _2 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33396 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 100 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33401 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1122 "parser_cocci_menhir.mly"
+ ( P.cont _1 _2 )
+# 33408 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37044 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( ty )
-# 37061 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37068 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37074 "parser_cocci_menhir.ml"
+ let _2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33434 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1123 "parser_cocci_menhir.mly"
+ ( P.label _1 _2 )
+# 33442 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 37101 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( ty )
-# 37119 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37126 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37132 "parser_cocci_menhir.ml"
+ let _3 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33473 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_disj_ident = Obj.magic _2 in
+ let _1 : (
+# 100 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33479 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_statement =
+# 1124 "parser_cocci_menhir.mly"
+ ( P.goto _1 _2 _3 )
+# 33486 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 37168 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 37173 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 37191 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 37197 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37204 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37210 "parser_cocci_menhir.ml"
+ let _3 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33517 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_fun_start = Obj.magic _2 in
+ let _1 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33523 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_statement =
+# 1126 "parser_cocci_menhir.mly"
+ ( P.seq _1 _2 _3 )
+# 33530 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37237 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( ty )
-# 37254 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37261 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37267 "parser_cocci_menhir.ml"
+ let w : 'tv_list_whenppdecs_ = Obj.magic w in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33557 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_w_ in
+ let _v : 'tv_stm_dots =
+# 1130 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
+# 33564 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37299 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37304 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let _startpos = _startpos_ty100_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 37320 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 37326 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37333 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37339 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37366 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 557 "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"
- ( ty )
-# 37383 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37390 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37396 "parser_cocci_menhir.ml"
+ let c : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33600 "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 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33607 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_stm_dots =
+# 1132 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 33615 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37423 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 559 "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"
- ( ty )
-# 37440 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37447 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37453 "parser_cocci_menhir.ml"
+ let c : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33651 "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 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33658 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_stm_dots =
+# 1135 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 33666 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+ let s : (
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
-# 37480 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 561 "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"
- ( ty )
-# 37497 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37504 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37510 "parser_cocci_menhir.ml"
+# 33687 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1056 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Static s )
+# 33694 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+ let s : (
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
-# 37537 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 563 "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"
- ( ty )
-# 37554 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37561 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37567 "parser_cocci_menhir.ml"
+# 33715 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1057 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Auto s )
+# 33722 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+ let s : (
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
-# 37594 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 565 "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"
- ( ty )
-# 37611 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37618 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37624 "parser_cocci_menhir.ml"
+# 33743 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1058 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Register s )
+# 33750 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+ let s : (
+# 95 "parser_cocci_menhir.mly"
(Data.clt)
-# 37651 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 567 "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"
- ( ty )
-# 37668 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37675 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37681 "parser_cocci_menhir.ml"
+# 33771 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1059 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Extern s )
+# 33778 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37714 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 569 "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"
- ( ty )
-# 37733 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37740 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37746 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl =
+# 751 "parser_cocci_menhir.mly"
+ ( [] )
+# 33800 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 37794 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37799 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 37817 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 37826 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 37832 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37839 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37845 "parser_cocci_menhir.ml"
+ let _1 : 'tv_struct_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl =
+# 752 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 33824 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (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"
- (Data.clt)
-# 37904 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 37925 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 37934 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 37940 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 37947 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37953 "parser_cocci_menhir.ml"
+ let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_list =
+# 780 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 33848 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 576 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 37995 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 38001 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 38008 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38014 "parser_cocci_menhir.ml"
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_list_start =
+# 783 "parser_cocci_menhir.mly"
+ ( _1 )
+# 33872 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 38062 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 38081 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 38091 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 38097 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 38104 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38110 "parser_cocci_menhir.ml"
+ let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_struct_decl_list_start =
+# 784 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 33902 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 38163 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 38186 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 38196 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 38202 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 38209 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38215 "parser_cocci_menhir.ml"
+ let r : 'tv_continue_struct_decl_list = Obj.magic r in
+ let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_struct_decl_list_start =
+# 786 "parser_cocci_menhir.mly"
+ ( (P.mkddots_one "..." d)::r )
+# 33932 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 38263 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 68 "parser_cocci_menhir.mly"
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 38268 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
-
-# 585 "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 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 38293 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 38300 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38306 "parser_cocci_menhir.ml"
+# 33953 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_one =
+# 755 "parser_cocci_menhir.mly"
+ ( P.meta_field _1 )
+# 33960 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 38333 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 38344 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 38350 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 38357 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38363 "parser_cocci_menhir.ml"
+ let _1 : (
+# 111 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 33981 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_one =
+# 756 "parser_cocci_menhir.mly"
+ ( P.meta_field_list _1 )
+# 33988 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38400 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38405 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 38424 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 38432 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38438 "parser_cocci_menhir.ml"
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 34009 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_one =
+# 757 "parser_cocci_menhir.mly"
+ ( tmeta_to_field _1 )
+# 34016 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38475 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38480 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 38499 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 38507 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38513 "parser_cocci_menhir.ml"
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34047 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_struct_decl_one_struct_decl_one_ = Obj.magic t in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34053 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_struct_decl_one =
+# 759 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjDecl(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 34062 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38550 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38555 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 38574 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 38582 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38588 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34093 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one =
+# 763 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 34103 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 38625 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38630 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 38650 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 38658 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38664 "parser_cocci_menhir.ml"
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34164 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34169 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34175 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34180 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34186 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34191 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one =
+# 767 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 34205 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 38710 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 38715 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38720 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 38740 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 38746 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34236 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one = let cv =
-# 41 "standard.mly"
- ( Some x )
-# 38754 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 34246 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38760 "parser_cocci_menhir.ml"
+# 775 "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)) )
+# 34254 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = x0;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38797 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38802 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
+ let pv : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34290 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident_or_symbol = Obj.magic i in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 38821 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one = let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 38829 "parser_cocci_menhir.ml"
+# 34302 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38835 "parser_cocci_menhir.ml"
+# 775 "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)) )
+# 34310 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38877 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38882 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
+ let s : (
+# 92 "parser_cocci_menhir.mly"
(Data.clt)
-# 38887 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 38905 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 38911 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 38919 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 38925 "parser_cocci_menhir.ml"
+# 34331 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_struct_or_union =
+# 747 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Struct s )
+# 34338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = u;
+ MenhirLib.EngineTypes.startp = _startpos_u_;
+ MenhirLib.EngineTypes.endp = _endpos_u_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 38962 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
+ let u : (
+# 92 "parser_cocci_menhir.mly"
(Data.clt)
-# 38967 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 38986 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 38994 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39000 "parser_cocci_menhir.ml"
+# 34359 "parser_cocci_menhir.ml"
+ ) = Obj.magic u in
+ let _startpos = _startpos_u_ in
+ let _endpos = _endpos_u_ in
+ let _v : 'tv_struct_or_union =
+# 748 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Union u )
+# 34366 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39037 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39042 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 39061 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39069 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39075 "parser_cocci_menhir.ml"
+ let i : 'tv_meta_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_sub =
+# 1957 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
+ [i] )
+# 34401 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39112 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39117 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 39136 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39144 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39150 "parser_cocci_menhir.ml"
+ let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_sub =
+# 1966 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ List.map
+ (function i ->
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
+ l)
+# 34445 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 39187 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39192 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 39212 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39220 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39226 "parser_cocci_menhir.ml"
+ let _1 : 'tv_eexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_top_eexpr =
+# 1475 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
+# 34469 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 39272 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 39277 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39282 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 39302 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 39308 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39316 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39322 "parser_cocci_menhir.ml"
+ let _3 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34500 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 147 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34506 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_top_init =
+# 2220 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 34518 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39359 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39364 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 39383 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39391 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39397 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_toplevel_after_dots =
+# 2208 "parser_cocci_menhir.mly"
+ ([])
+# 34535 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39439 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39444 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39449 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 39467 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 39473 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39481 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39487 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_dots =
+# 2209 "parser_cocci_menhir.mly"
+ (_2)
+# 34563 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39519 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 531 "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"
- ( ty )
-# 39537 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39545 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39551 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_dots =
+# 2210 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 34593 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39583 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 533 "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"
- ( ty )
-# 39601 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39609 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39615 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_dots =
+# 2211 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 34623 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39647 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 535 "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"
- ( ty )
-# 39665 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39673 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39679 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_dots_init =
+# 2199 "parser_cocci_menhir.mly"
+ (_2)
+# 34651 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 39711 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 537 "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"
- ( ty )
-# 39730 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39738 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39744 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_dots_init =
+# 2200 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 34681 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 39785 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 39790 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 540 "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 *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 39809 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 39815 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39823 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39829 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_dots_init =
+# 2201 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 34711 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39861 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 547 "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"
- ( ty )
-# 39879 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39887 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39893 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_toplevel_after_exp =
+# 2204 "parser_cocci_menhir.mly"
+ ([])
+# 34728 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39930 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 39935 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 39952 "parser_cocci_menhir.ml"
-
- in
-
-# 597 "parser_cocci_menhir.mly"
- ( ty )
-# 39958 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 39966 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 39972 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_exp =
+# 2205 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 34758 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_toplevel_after_stm =
+# 2214 "parser_cocci_menhir.mly"
+ ([])
+# 34775 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40004 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 557 "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"
- ( ty )
-# 40022 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40030 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40036 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_stm =
+# 2215 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 34805 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40068 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 559 "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"
- ( ty )
-# 40086 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40094 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40100 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_stm =
+# 2216 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 34835 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40132 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 561 "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"
- ( ty )
-# 40150 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40158 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40164 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
+# 2194 "parser_cocci_menhir.mly"
+ ( _1::_2 )
+# 34865 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40196 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 563 "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"
- ( ty )
-# 40214 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40222 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40228 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
+# 2195 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
+# 34895 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40260 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 565 "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"
- ( ty )
-# 40278 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40286 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40292 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
+# 2196 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 34925 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40324 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
- let ty =
- let ty = ty0 in
-
-# 567 "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"
- ( ty )
-# 40342 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
+ let a0 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34958 "parser_cocci_menhir.ml"
+ ) = Obj.magic a0 in
+ let _startpos = _startpos_a0_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+ let w = w0 in
+ let a = a0 in
-# 41 "standard.mly"
- ( Some x )
-# 40350 "parser_cocci_menhir.ml"
+# 1140 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
+# 34968 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40356 "parser_cocci_menhir.ml"
+# 2187 "parser_cocci_menhir.mly"
+ ( a::b )
+# 34974 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = b0;
+ MenhirLib.EngineTypes.startp = _startpos_b0_;
+ MenhirLib.EngineTypes.endp = _endpos_b0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40394 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 569 "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"
- ( ty )
-# 40414 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let c0 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35016 "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 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35023 "parser_cocci_menhir.ml"
+ ) = Obj.magic a0 in
+ let _startpos = _startpos_a0_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+ let c = c0 in
+ let b = b0 in
+ let w = w0 in
+ let a = a0 in
-# 41 "standard.mly"
- ( Some x )
-# 40422 "parser_cocci_menhir.ml"
+# 1144 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 35036 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40428 "parser_cocci_menhir.ml"
+# 2188 "parser_cocci_menhir.mly"
+ ( a::b )
+# 35042 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.semv = b0;
+ MenhirLib.EngineTypes.startp = _startpos_b0_;
+ MenhirLib.EngineTypes.endp = _endpos_b0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 40481 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 40486 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 40505 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 40514 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 40520 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let c0 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35084 "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 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35091 "parser_cocci_menhir.ml"
+ ) = Obj.magic a0 in
+ let _startpos = _startpos_a0_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+ let c = c0 in
+ let b = b0 in
+ let w = w0 in
+ let a = a0 in
-# 41 "standard.mly"
- ( Some x )
-# 40528 "parser_cocci_menhir.ml"
+# 1147 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 35104 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40534 "parser_cocci_menhir.ml"
+# 2188 "parser_cocci_menhir.mly"
+ ( a::b )
+# 35110 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = b0;
+ MenhirLib.EngineTypes.startp = _startpos_b0_;
+ MenhirLib.EngineTypes.endp = _endpos_b0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids00;
- MenhirLib.EngineTypes.startp = _startpos_ids00_;
- MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "parser_cocci_menhir.mly"
+ let c0 : (
+# 119 "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"
+# 35146 "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 : (
+# 119 "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"
- (Data.clt)
-# 40598 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let ids0 = ids00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let ids = ids0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40620 "parser_cocci_menhir.ml"
-
- in
-
-# 571 "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)),
- P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
-# 40629 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 40635 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+# 35153 "parser_cocci_menhir.ml"
+ ) = Obj.magic a0 in
+ let _startpos = _startpos_a0_ in
+ let _endpos = _endpos_c0_ in
+ let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+ let c = c0 in
+ let b = b0 in
+ let w = w0 in
+ let a = a0 in
-# 41 "standard.mly"
- ( Some x )
-# 40643 "parser_cocci_menhir.ml"
+# 1144 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 35166 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40649 "parser_cocci_menhir.ml"
+# 2189 "parser_cocci_menhir.mly"
+ ( [a] )
+# 35172 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = b0;
+ MenhirLib.EngineTypes.startp = _startpos_b0_;
+ MenhirLib.EngineTypes.endp = _endpos_b0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
- let ty =
- let i = i0 in
- let s = s0 in
-
-# 576 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 40697 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 40703 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
+ let c0 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35208 "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 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35215 "parser_cocci_menhir.ml"
+ ) = Obj.magic a0 in
+ let _startpos = _startpos_a0_ in
+ let _endpos = _endpos_c0_ in
+ let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+ let c = c0 in
+ let b = b0 in
+ let w = w0 in
+ let a = a0 in
-# 41 "standard.mly"
- ( Some x )
-# 40711 "parser_cocci_menhir.ml"
+# 1147 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 35228 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40717 "parser_cocci_menhir.ml"
+# 2189 "parser_cocci_menhir.mly"
+ ( [a] )
+# 35234 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 40770 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 40790 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 40800 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 40806 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40814 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40820 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
+# 2190 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
+# 35264 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 40878 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40902 "parser_cocci_menhir.ml"
-
- in
-
-# 579 "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)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 40912 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 40918 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 40926 "parser_cocci_menhir.ml"
-
- in
-
-# 615 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 40932 "parser_cocci_menhir.ml"
+ let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
+# 2191 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 35294 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_type_ident =
+# 2045 "parser_cocci_menhir.mly"
+ ( _1 )
+# 35318 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 35339 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_type_ident =
+# 2047 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 35346 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 105 "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"
- (Data.clt)
-# 40985 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 40990 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let ty : 'tv_all_basic_types = Obj.magic ty in
+ let _startpos = _startpos_ty_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
- let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
-
-# 585 "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 "parser_cocci_menhir.ml"
-
- in
+ let _v : 'tv_typedef_ctype = let cv =
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 41016 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 41024 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 35377 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
+# 737 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 41030 "parser_cocci_menhir.ml"
+# 35383 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = ty;
+ MenhirLib.EngineTypes.startp = _startpos_ty_;
+ MenhirLib.EngineTypes.endp = _endpos_ty_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = x0;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 62 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 41062 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
+ let ty : 'tv_all_basic_types = Obj.magic ty in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 41074 "parser_cocci_menhir.ml"
-
- in
-
-# 598 "parser_cocci_menhir.mly"
- ( ty )
-# 41080 "parser_cocci_menhir.ml"
-
- in
- let cv =
+ let _v : 'tv_typedef_ctype = let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 41088 "parser_cocci_menhir.ml"
+# 35421 "parser_cocci_menhir.ml"
in
-# 615 "parser_cocci_menhir.mly"
+# 737 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 41094 "parser_cocci_menhir.ml"
+# 35427 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 41125 "parser_cocci_menhir.ml"
+# 35458 "parser_cocci_menhir.ml"
) = Obj.magic rp in
- let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+ let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41131 "parser_cocci_menhir.ml"
+# 35464 "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"
+# 739 "parser_cocci_menhir.mly"
( let (mids,code) = t in
Ast0.wrap
(Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 41140 "parser_cocci_menhir.ml"
+# 35473 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _1 : (
+# 109 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 35494 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ctype =
+# 742 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 35501 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_pure_ident_or_symbol = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_typedef_ident =
-# 1727 "parser_cocci_menhir.mly"
+# 2065 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 41164 "parser_cocci_menhir.ml"
+# 35525 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 68 "parser_cocci_menhir.mly"
+# 109 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 41185 "parser_cocci_menhir.ml"
+# 35546 "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"
+# 2066 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 35553 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 108 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 35574 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ident =
+# 2068 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = _1 in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 41193 "parser_cocci_menhir.ml"
+# 35582 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1365 "parser_cocci_menhir.mly"
+# 1617 "parser_cocci_menhir.mly"
( _1 )
-# 41217 "parser_cocci_menhir.ml"
+# 35606 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35633 "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_ =
+# 1619 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 35640 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35667 "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_ =
+# 1621 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 35674 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _1 : 'tv_unary_op = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
+# 1623 "parser_cocci_menhir.mly"
+ ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 35704 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41244 "parser_cocci_menhir.ml"
+# 35731 "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"
- ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 41251 "parser_cocci_menhir.ml"
+# 1625 "parser_cocci_menhir.mly"
+ ( let mcode = P.clt2mcode Ast.Not _1 in
+ Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 35739 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 41278 "parser_cocci_menhir.ml"
+# 35766 "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"
+# 1628 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 35773 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let rp : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35809 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 122 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35815 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let s : (
+# 100 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35820 "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_ =
+# 1630 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+ P.clt2mcode "(" lp,t,
+ P.clt2mcode ")" rp)) )
+# 35829 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1617 "parser_cocci_menhir.mly"
+ ( _1 )
+# 35853 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35880 "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_ =
+# 1619 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 35887 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 131 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35914 "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_ =
+# 1621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 41285 "parser_cocci_menhir.ml"
+# 35921 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1371 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1623 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 41315 "parser_cocci_menhir.ml"
+# 35951 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41342 "parser_cocci_menhir.ml"
+# 35978 "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"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1625 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 41350 "parser_cocci_menhir.ml"
+# 35986 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 41377 "parser_cocci_menhir.ml"
+# 36013 "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"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1628 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 41384 "parser_cocci_menhir.ml"
+# 36020 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 41420 "parser_cocci_menhir.ml"
+# 36056 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41426 "parser_cocci_menhir.ml"
+# 36062 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 41431 "parser_cocci_menhir.ml"
+# 36067 "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"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1630 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 41440 "parser_cocci_menhir.ml"
+# 36076 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1365 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1617 "parser_cocci_menhir.mly"
( _1 )
-# 41464 "parser_cocci_menhir.ml"
+# 36100 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 41491 "parser_cocci_menhir.ml"
+# 36127 "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"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 41498 "parser_cocci_menhir.ml"
+# 36134 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 41525 "parser_cocci_menhir.ml"
+# 36161 "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"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 41532 "parser_cocci_menhir.ml"
+# 36168 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1371 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1623 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 41562 "parser_cocci_menhir.ml"
+# 36198 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41589 "parser_cocci_menhir.ml"
+# 36225 "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"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1625 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 41597 "parser_cocci_menhir.ml"
+# 36233 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 41624 "parser_cocci_menhir.ml"
+# 36260 "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"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1628 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 41631 "parser_cocci_menhir.ml"
+# 36267 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 41667 "parser_cocci_menhir.ml"
+# 36303 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41673 "parser_cocci_menhir.ml"
+# 36309 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 41678 "parser_cocci_menhir.ml"
+# 36314 "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"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1630 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 41687 "parser_cocci_menhir.ml"
+# 36323 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1365 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1617 "parser_cocci_menhir.mly"
( _1 )
-# 41711 "parser_cocci_menhir.ml"
+# 36347 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 41738 "parser_cocci_menhir.ml"
+# 36374 "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"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 41745 "parser_cocci_menhir.ml"
+# 36381 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 41772 "parser_cocci_menhir.ml"
+# 36408 "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"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 41779 "parser_cocci_menhir.ml"
+# 36415 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1371 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1623 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 41809 "parser_cocci_menhir.ml"
+# 36445 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41836 "parser_cocci_menhir.ml"
+# 36472 "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"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1625 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 41844 "parser_cocci_menhir.ml"
+# 36480 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 41871 "parser_cocci_menhir.ml"
+# 36507 "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"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1628 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 41878 "parser_cocci_menhir.ml"
+# 36514 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 41914 "parser_cocci_menhir.ml"
+# 36550 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 41920 "parser_cocci_menhir.ml"
+# 36556 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 41925 "parser_cocci_menhir.ml"
+# 36561 "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"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1630 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 41934 "parser_cocci_menhir.ml"
+# 36570 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_unary_expr_expr_invalid_ =
-# 1365 "parser_cocci_menhir.mly"
- ( _1 )
-# 41958 "parser_cocci_menhir.ml"
+ let _v : 'tv_unary_expr_bis =
+# 1636 "parser_cocci_menhir.mly"
+ ( _1 )
+# 36594 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 41985 "parser_cocci_menhir.ml"
+# 36621 "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"
+ let _v : 'tv_unary_expr_bis =
+# 1638 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 41992 "parser_cocci_menhir.ml"
+# 36628 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Data.clt)
-# 42019 "parser_cocci_menhir.ml"
+# 36655 "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"
+ let _v : 'tv_unary_expr_bis =
+# 1640 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 42026 "parser_cocci_menhir.ml"
+# 36662 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_expr_invalid_ =
-# 1371 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_bis =
+# 1642 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 42056 "parser_cocci_menhir.ml"
+# 36692 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 42083 "parser_cocci_menhir.ml"
+# 36719 "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"
+ let _v : 'tv_unary_expr_bis =
+# 1644 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 42091 "parser_cocci_menhir.ml"
+# 36727 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 42118 "parser_cocci_menhir.ml"
+# 36754 "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"
+ let _v : 'tv_unary_expr_bis =
+# 1647 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 42125 "parser_cocci_menhir.ml"
+# 36761 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 81 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 42161 "parser_cocci_menhir.ml"
+# 36797 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 80 "parser_cocci_menhir.mly"
+# 122 "parser_cocci_menhir.mly"
(Data.clt)
-# 42167 "parser_cocci_menhir.ml"
+# 36803 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 61 "parser_cocci_menhir.mly"
+# 100 "parser_cocci_menhir.mly"
(Data.clt)
-# 42172 "parser_cocci_menhir.ml"
+# 36808 "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"
+ let _v : 'tv_unary_expr_bis =
+# 1649 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 42181 "parser_cocci_menhir.ml"
+# 36817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 97 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
(Data.clt)
-# 42202 "parser_cocci_menhir.ml"
+# 36838 "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"
+# 1653 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.GetRef _1 )
-# 42209 "parser_cocci_menhir.ml"
+# 36845 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 42230 "parser_cocci_menhir.ml"
+# 36866 "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"
+# 1654 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.DeRef _1 )
-# 42237 "parser_cocci_menhir.ml"
+# 36873 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 42258 "parser_cocci_menhir.ml"
+# 36894 "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"
+# 1655 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnPlus _1 )
-# 42265 "parser_cocci_menhir.ml"
+# 36901 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 42286 "parser_cocci_menhir.ml"
+# 36922 "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"
+# 1656 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnMinus _1 )
-# 42293 "parser_cocci_menhir.ml"
+# 36929 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 103 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 42314 "parser_cocci_menhir.ml"
+# 36950 "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"
+# 1657 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Tilde _1 )
-# 42321 "parser_cocci_menhir.ml"
+# 36957 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_when_start =
-# 1979 "parser_cocci_menhir.mly"
+# 2318 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 42351 "parser_cocci_menhir.ml"
+# 36987 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_when_start =
-# 1981 "parser_cocci_menhir.mly"
+# 2320 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 42381 "parser_cocci_menhir.ml"
+# 37017 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_w_ in
let _endpos = _endpos_w_ in
let _v : 'tv_whenppdecs =
-# 984 "parser_cocci_menhir.mly"
+# 1151 "parser_cocci_menhir.mly"
( w )
-# 42405 "parser_cocci_menhir.ml"
+# 37041 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2365 "parser_cocci_menhir.mly"
( [Ast0.WhenNot w] )
-# 42441 "parser_cocci_menhir.ml"
+# 37077 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2366 "parser_cocci_menhir.mly"
( [Ast0.WhenAlways w] )
-# 42477 "parser_cocci_menhir.ml"
+# 37113 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2368 "parser_cocci_menhir.mly"
( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 42509 "parser_cocci_menhir.ml"
+# 37145 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2369 "parser_cocci_menhir.mly"
( [Ast0.WhenNotTrue e] )
-# 42545 "parser_cocci_menhir.ml"
+# 37181 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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"
+# 2370 "parser_cocci_menhir.mly"
( [Ast0.WhenNotFalse e] )
-# 42581 "parser_cocci_menhir.ml"
+# 37217 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 37238 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_wrapped_sym_ident =
+# 1791 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.sym2mcode _1)) )
+# 37245 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let rec script_meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1953 lexer lexbuf) : (
-# 165 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1833 lexer lexbuf) : (
+# 207 "parser_cocci_menhir.mly"
((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
-# 42605 "parser_cocci_menhir.ml"
+# 37269 "parser_cocci_menhir.ml"
))
and rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1878 lexer lexbuf) : (
-# 159 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1756 lexer lexbuf) : (
+# 201 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 42613 "parser_cocci_menhir.ml"
+# 37277 "parser_cocci_menhir.ml"
))
and reinit =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1876 lexer lexbuf) : (
-# 137 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1754 lexer lexbuf) : (
+# 179 "parser_cocci_menhir.mly"
(unit)
-# 42621 "parser_cocci_menhir.ml"
+# 37285 "parser_cocci_menhir.ml"
))
and plus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1840 lexer lexbuf) : (
-# 146 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1718 lexer lexbuf) : (
+# 188 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 42629 "parser_cocci_menhir.ml"
+# 37293 "parser_cocci_menhir.ml"
))
and plus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1832 lexer lexbuf) : (
-# 149 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1710 lexer lexbuf) : (
+# 191 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 42637 "parser_cocci_menhir.ml"
+# 37301 "parser_cocci_menhir.ml"
))
and never_used =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : (
-# 174 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1703 lexer lexbuf) : (
+# 216 "parser_cocci_menhir.mly"
(unit)
-# 42645 "parser_cocci_menhir.ml"
+# 37309 "parser_cocci_menhir.ml"
))
and minus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1742 lexer lexbuf) : (
-# 140 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1618 lexer lexbuf) : (
+# 182 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 42653 "parser_cocci_menhir.ml"
+# 37317 "parser_cocci_menhir.ml"
))
and minus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1730 lexer lexbuf) : (
-# 143 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1606 lexer lexbuf) : (
+# 185 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 42661 "parser_cocci_menhir.ml"
+# 37325 "parser_cocci_menhir.ml"
))
and meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1727 lexer lexbuf) : (
-# 163 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1603 lexer lexbuf) : (
+# 205 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 42669 "parser_cocci_menhir.ml"
+# 37333 "parser_cocci_menhir.ml"
))
and iso_rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1723 lexer lexbuf) : (
-# 155 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1599 lexer lexbuf) : (
+# 197 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 42677 "parser_cocci_menhir.ml"
+# 37341 "parser_cocci_menhir.ml"
))
and iso_meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1456 lexer lexbuf) : (
-# 171 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1301 lexer lexbuf) : (
+# 213 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 42685 "parser_cocci_menhir.ml"
+# 37349 "parser_cocci_menhir.ml"
))
and iso_main =
fun lexer lexbuf ->
(Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
-# 168 "parser_cocci_menhir.mly"
+# 210 "parser_cocci_menhir.mly"
(Ast0_cocci.anything list list)
-# 42693 "parser_cocci_menhir.ml"
+# 37357 "parser_cocci_menhir.ml"
))
and include_main =
fun lexer lexbuf ->
(Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
-# 152 "parser_cocci_menhir.mly"
+# 194 "parser_cocci_menhir.mly"
(Data.incl_iso list)
-# 42701 "parser_cocci_menhir.ml"
+# 37365 "parser_cocci_menhir.ml"
))