X-Git-Url: https://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/690d68d19cb322bc18140b6406e298038dcf47f2..1b9ae60616d2f065ce16fe26385b684e13b40284:/parsing_cocci/parser_cocci_menhir.ml diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index 09a1fe0..3f771cb 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -1,468 +1,526 @@ +(* + * 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 . + * + * 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 @@ -476,62 +534,62 @@ type token = | 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 @@ -541,161 +599,162 @@ type token = | 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 @@ -710,7 +769,70 @@ module Ast0 = Ast0_cocci 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 @@ -724,304 +846,320 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 @@ -1104,6 +1242,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct match _tok with | EOF -> Obj.repr () + | TAnalysis -> + Obj.repr () | TAnd _v -> Obj.repr _v | TAndLog _v -> @@ -1262,6 +1402,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMPtVirg -> Obj.repr () + | TMeta _v -> + Obj.repr _v | TMetaConst _v -> Obj.repr _v | TMetaDecl _v -> @@ -1276,6 +1418,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaField _v -> Obj.repr _v + | TMetaFieldList _v -> + Obj.repr _v | TMetaFunc _v -> Obj.repr _v | TMetaId _v -> @@ -1284,6 +1428,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaInit _v -> Obj.repr _v + | TMetaInitList _v -> + Obj.repr _v | TMetaIterator _v -> Obj.repr _v | TMetaLocalFunc _v -> @@ -1302,6 +1448,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaType _v -> Obj.repr _v + | TMetavariable -> + Obj.repr () | TMid0 _v -> Obj.repr _v | TMinus _v -> @@ -1336,8 +1484,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TOrLog _v -> Obj.repr _v - | TPArob -> - Obj.repr () + | TPArob _v -> + Obj.repr _v | TPCEllipsis _v -> Obj.repr _v | TPOEllipsis _v -> @@ -1390,6 +1538,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TSwitch _v -> Obj.repr _v + | TSymId _v -> + Obj.repr _v + | TSymbol -> + Obj.repr () | TTilde _v -> Obj.repr _v | TTildeEq _v -> @@ -1402,6 +1554,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TTypedef -> Obj.repr () + | TUndef _v -> + Obj.repr _v | TUnderscore -> Obj.repr () | TUsing -> @@ -1476,19 +1630,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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`\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\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 = [| @@ -1631,13 +1785,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -1656,14 +1810,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 = @@ -1672,7 +1826,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | 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; @@ -1694,9 +1848,125 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1998 "parser_cocci_menhir.mly" +# 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; @@ -1716,9 +1986,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2034 "parser_cocci_menhir.mly" +# 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; @@ -1738,9 +2008,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2035 "parser_cocci_menhir.mly" +# 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; @@ -1760,9 +2030,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2036 "parser_cocci_menhir.mly" +# 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; @@ -1782,9 +2052,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2037 "parser_cocci_menhir.mly" +# 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; @@ -1806,9 +2076,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1328 "parser_cocci_menhir.mly" +# 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; @@ -1836,19 +2106,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -1876,19 +2146,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -1916,19 +2186,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -1956,19 +2226,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -1996,19 +2266,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2036,19 +2306,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2076,19 +2346,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2116,19 +2386,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2156,19 +2426,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2196,19 +2466,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2236,19 +2506,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2276,19 +2546,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2316,19 +2586,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2356,19 +2626,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2390,9 +2660,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1328 "parser_cocci_menhir.mly" +# 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; @@ -2420,19 +2690,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2460,19 +2730,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2500,19 +2770,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2540,19 +2810,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2580,19 +2850,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2620,19 +2890,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2660,19 +2930,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2700,19 +2970,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2740,19 +3010,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2780,19 +3050,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2820,19 +3090,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2860,19 +3130,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2900,19 +3170,163 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2940,19 +3354,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -2964,19 +3378,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -3004,19 +3434,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3044,19 +3474,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3084,19 +3514,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3124,19 +3554,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3164,19 +3594,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3204,19 +3634,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3244,19 +3674,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3284,19 +3714,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3324,19 +3754,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3364,19 +3794,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3404,19 +3858,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3444,19 +3898,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3484,19 +3938,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3524,19 +3978,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3548,19 +4002,115 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -3588,19 +4138,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3628,19 +4178,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3668,19 +4218,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3708,19 +4258,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3748,19 +4298,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3788,19 +4338,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3828,19 +4378,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3868,19 +4442,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3908,19 +4522,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3948,19 +4562,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -3988,19 +4602,139 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -4028,19 +4762,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -4068,19 +4802,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -4108,19 +4842,99 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -4140,9 +4954,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 521 "parser_cocci_menhir.mly" +# 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; @@ -4162,9 +4976,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 522 "parser_cocci_menhir.mly" +# 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; @@ -4184,9 +4998,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 523 "parser_cocci_menhir.mly" +# 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; @@ -4201,9 +5015,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_arity = -# 524 "parser_cocci_menhir.mly" +# 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; @@ -4232,22 +5046,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -4269,9 +5083,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1300 "parser_cocci_menhir.mly" +# 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; @@ -4301,19 +5115,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 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; @@ -4343,19 +5157,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -4377,9 +5191,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1300 "parser_cocci_menhir.mly" +# 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; @@ -4409,19 +5223,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 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; @@ -4451,19 +5265,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -4485,9 +5299,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1300 "parser_cocci_menhir.mly" +# 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; @@ -4517,19 +5331,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 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; @@ -4559,19 +5373,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -4593,9 +5407,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1311 "parser_cocci_menhir.mly" +# 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; @@ -4625,19 +5439,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 112 "parser_cocci_menhir.mly" +# 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; @@ -4667,19 +5481,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -4701,9 +5515,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1297 "parser_cocci_menhir.mly" - ( _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; @@ -4725,9 +5539,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1297 "parser_cocci_menhir.mly" - ( _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; @@ -4749,9 +5563,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1297 "parser_cocci_menhir.mly" - ( _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; @@ -4781,22 +5595,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_fun_start = Obj.magic _3 in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 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; @@ -4831,22 +5645,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _4 : 'tv_fun_start = Obj.magic _4 in let _3 : ( -# 80 "parser_cocci_menhir.mly" +# 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; @@ -4868,9 +5682,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1359 "parser_cocci_menhir.mly" +# 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; @@ -4905,23 +5719,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 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; @@ -4943,9 +5757,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 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; @@ -4980,23 +5794,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 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; @@ -5018,9 +5832,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1359 "parser_cocci_menhir.mly" +# 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; @@ -5055,23 +5869,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 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; @@ -5093,9 +5907,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 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; @@ -5130,23 +5944,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in let rp : ( -# 81 "parser_cocci_menhir.mly" +# 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; @@ -5172,9 +5986,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_choose_iso = -# 243 "parser_cocci_menhir.mly" +# 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; @@ -5196,9 +6010,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5220,9 +6034,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5244,9 +6058,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5268,9 +6082,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ident_or_const_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5292,9 +6106,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5316,9 +6130,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5340,9 +6154,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5364,9 +6178,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5388,9 +6202,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5412,9 +6226,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5436,9 +6250,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5460,9 +6274,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5484,9 +6298,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5508,9 +6322,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 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; @@ -5532,9 +6346,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1322 "parser_cocci_menhir.mly" +# 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; @@ -5572,26 +6386,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -5613,9 +6427,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1322 "parser_cocci_menhir.mly" +# 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; @@ -5653,26 +6467,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -5694,9 +6508,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1322 "parser_cocci_menhir.mly" +# 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; @@ -5734,26 +6548,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -5772,16 +6586,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -5800,16 +6614,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -5831,9 +6645,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 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; @@ -5857,18 +6671,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -5898,19 +6712,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -5936,9 +6750,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 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; @@ -5960,9 +6774,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 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; @@ -5986,18 +6800,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -6027,19 +6841,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -6065,9 +6879,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 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; @@ -6089,9 +6903,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1788 "parser_cocci_menhir.mly" +# 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; @@ -6115,18 +6929,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -6156,19 +6970,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -6194,9 +7008,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1796 "parser_cocci_menhir.mly" +# 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; @@ -6218,9 +7032,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1788 "parser_cocci_menhir.mly" +# 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; @@ -6244,18 +7058,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -6285,19 +7099,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -6323,9 +7137,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1796 "parser_cocci_menhir.mly" +# 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; @@ -6347,9 +7161,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 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; @@ -6373,18 +7187,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -6414,19 +7228,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -6452,9 +7266,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 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; @@ -6476,9 +7290,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 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; @@ -6502,18 +7316,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -6543,19 +7357,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -6581,9 +7395,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 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; @@ -6598,9 +7412,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_continue_struct_decl_list = -# 660 "parser_cocci_menhir.mly" +# 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; @@ -6628,9 +7442,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 661 "parser_cocci_menhir.mly" +# 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; @@ -6652,9 +7466,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 662 "parser_cocci_menhir.mly" +# 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; @@ -6670,59 +7484,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -6738,59 +7525,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -6802,132 +7569,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -6939,84 +7597,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7028,63 +7625,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7096,78 +7671,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7179,63 +7701,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7247,63 +7725,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7315,63 +7761,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7383,64 +7785,86 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7452,84 +7876,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7541,63 +7905,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7609,78 +7933,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7692,52 +7961,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7749,52 +7990,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7806,52 +8018,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7863,53 +8046,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7921,73 +8075,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -7999,52 +8103,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8056,67 +8127,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8128,52 +8179,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8185,56 +8208,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8242,52 +8236,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8299,52 +8260,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8356,52 +8311,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8413,52 +8345,73 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8470,60 +8423,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8535,94 +8480,83 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8634,30 +8568,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; }; }; @@ -8665,72 +8599,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 105 "parser_cocci_menhir.mly" + 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; @@ -8742,56 +8639,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8803,91 +8698,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -8899,100 +8764,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9004,86 +8830,68 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9095,52 +8903,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9152,145 +8977,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9302,70 +9058,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9377,71 +9139,83 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9453,91 +9227,104 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9549,70 +9336,111 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9624,85 +9452,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9714,70 +9513,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9789,70 +9593,120 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9864,70 +9718,127 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -9939,71 +9850,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10015,91 +9904,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10111,70 +9932,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10186,85 +9982,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10276,59 +10050,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10340,59 +10078,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10404,59 +10110,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10468,60 +10146,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10533,80 +10178,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10618,59 +10210,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10682,74 +10244,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10761,59 +10278,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10825,59 +10327,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10889,59 +10359,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -10953,59 +10393,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11017,59 +10437,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11081,59 +10498,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11145,67 +10522,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11217,101 +10550,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11323,110 +10574,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11438,63 +10620,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11506,98 +10648,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11609,107 +10672,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11721,93 +10696,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11819,59 +10720,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11883,23 +10748,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11912,22 +10795,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -11939,41 +10822,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -11985,32 +10868,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12022,25 +10896,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12053,18 +10943,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12076,86 +10970,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12173,18 +11022,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12202,17 +11046,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12230,18 +11091,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12259,17 +11132,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12287,17 +11173,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12315,18 +11214,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12344,17 +11255,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12372,13 +11279,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12394,9 +11325,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12406,31 +11337,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -12448,18 +11371,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12477,17 +11395,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12505,13 +11424,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12523,46 +11446,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12574,29 +11476,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12615,16 +11513,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12636,45 +11536,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12686,52 +11558,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12744,18 +11598,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -12767,59 +11621,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12831,66 +11645,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12902,54 +11669,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -12961,61 +11697,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -13027,61 +11726,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -13093,68 +11772,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -13166,69 +11804,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -13240,1336 +11844,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14587,13 +11874,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -14611,13 +11903,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -14628,24 +11926,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -14657,69 +11944,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14731,41 +11978,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14777,23 +12008,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14805,41 +12045,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14850,24 +12081,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -14879,41 +12099,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14925,19 +12133,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14949,23 +12170,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -14979,10 +12209,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -14994,19 +12224,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15017,13 +12251,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -15035,19 +12282,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15061,10 +12314,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15076,19 +12329,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15099,13 +12386,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -15117,19 +12417,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15143,10 +12449,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15158,19 +12464,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15181,20 +12493,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -15206,19 +12511,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15230,39 +12541,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15280,13 +12577,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15304,18 +12601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15334,18 +12626,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15364,18 +12655,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15387,25 +12678,87 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15417,17 +12770,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15439,34 +12849,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15484,61 +12941,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15550,52 +12959,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15607,24 +12983,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15635,13 +13011,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -15653,27 +13036,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15685,35 +13060,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -15724,13 +13088,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -15747,54 +13122,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15811,27 +13154,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15848,44 +13186,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15897,7 +13216,6 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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 = { @@ -15908,18 +13226,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15931,7 +13248,6 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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 = { @@ -15942,21 +13258,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -15968,32 +13280,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16004,13 +13316,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -16022,23 +13354,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16050,25 +13404,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16080,25 +13432,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16109,13 +13466,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -16127,23 +13509,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16155,25 +13533,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16185,25 +13582,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16215,25 +13611,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16244,13 +13634,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -16262,25 +13659,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16291,13 +13707,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -16309,25 +13748,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16339,25 +13788,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16375,13 +13823,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -16399,13 +13858,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -16418,23 +13877,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -16447,23 +13916,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -16475,25 +13937,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16505,87 +13993,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16597,74 +14021,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16676,81 +14049,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16762,19 +14105,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16786,24 +14133,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16815,19 +14161,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16839,24 +14189,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16868,23 +14217,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16896,27 +14259,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16928,27 +14301,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16960,28 +14343,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -16993,27 +14387,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17025,27 +14429,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17057,32 +14471,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17094,32 +14513,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17131,23 +14568,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17159,30 +14596,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17194,37 +14628,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17242,13 +14658,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -17260,44 +14680,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17316,17 +14715,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -17337,20 +14736,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17362,44 +14754,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17410,36 +14787,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17451,35 +14805,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17490,20 +14834,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17514,18 +14881,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17539,10 +14931,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -17554,17 +14946,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17576,23 +14993,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17604,23 +15040,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17632,23 +15087,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17660,23 +15134,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17688,23 +15181,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17716,23 +15228,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17743,24 +15257,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17772,23 +15275,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17799,24 +15304,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17828,23 +15322,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17855,38 +15351,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17898,37 +15369,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -17939,38 +15398,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -17982,39 +15416,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18025,38 +15445,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18068,37 +15463,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18109,38 +15492,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18152,50 +15510,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18206,24 +15539,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18235,27 +15557,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18266,24 +15586,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18295,24 +15604,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18326,10 +15636,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18352,18 +15662,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18377,10 +15683,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18403,14 +15709,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18424,10 +15730,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18443,21 +15749,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18471,10 +15792,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18497,14 +15818,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18515,13 +15836,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18533,25 +15861,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18565,10 +15934,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18580,25 +15949,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18612,10 +15975,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18627,25 +15990,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18659,10 +16016,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18674,25 +16031,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18706,10 +16057,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18721,25 +16072,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18753,10 +16098,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18768,25 +16113,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18800,10 +16139,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -18815,25 +16154,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18844,13 +16177,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18862,25 +16206,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18891,13 +16285,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18909,25 +16326,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -18938,13 +16363,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -18956,42 +16430,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19003,25 +16483,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19032,13 +16535,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19050,25 +16594,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19079,13 +16651,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19097,25 +16705,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19126,13 +16757,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19144,40 +16816,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19188,13 +16868,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19206,25 +16922,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19236,19 +16975,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19260,40 +17033,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19305,19 +17090,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19328,13 +17143,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19346,19 +17202,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19369,13 +17259,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19387,19 +17305,65 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19410,13 +17374,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19428,19 +17428,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19451,13 +17485,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -19469,36 +17539,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19510,19 +17592,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19534,19 +17645,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19558,27 +17717,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19590,35 +17797,68 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19630,33 +17870,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19668,33 +17931,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19706,23 +17991,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19758,24 +18083,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -19787,53 +18112,72 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19845,53 +18189,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19903,48 +18239,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -19956,48 +18305,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20009,48 +18371,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20062,48 +18437,231 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20115,48 +18673,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20168,52 +18703,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20225,49 +18733,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20279,53 +18763,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20337,53 +18793,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20395,40 +18823,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20440,62 +18853,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20507,48 +18883,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20560,53 +18913,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20618,48 +18943,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20671,48 +18975,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20724,48 +19007,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20777,67 +19039,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20849,75 +19071,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -20929,68 +19103,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21002,56 +19135,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21063,55 +19167,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21123,63 +19199,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21191,48 +19271,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21244,72 +19295,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21321,45 +19330,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21371,61 +19372,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21437,61 +19406,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21514,14 +19451,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21544,14 +19485,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21574,14 +19519,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21604,14 +19553,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21634,14 +19587,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21664,14 +19621,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21694,14 +19655,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21713,27 +19678,104 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21745,27 +19787,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21777,27 +19817,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21809,27 +19845,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21840,28 +19874,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -21873,6 +19892,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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 = { @@ -21883,17 +19903,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -21904,28 +19921,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -21937,27 +19939,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21969,19 +19969,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -21993,19 +19999,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22017,19 +20045,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22047,13 +20097,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -22065,29 +20119,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22099,29 +20165,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22133,63 +20211,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22201,29 +20235,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22235,29 +20261,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22270,18 +20292,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -22293,80 +20317,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22378,25 +20343,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22408,23 +20374,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22436,25 +20402,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22465,13 +20442,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -22483,25 +20471,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22512,13 +20498,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -22530,25 +20527,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22560,25 +20555,57 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22590,41 +20617,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22636,41 +20681,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22682,19 +20752,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22706,21 +20782,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22732,25 +20843,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22762,21 +20911,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22788,26 +20967,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -22826,16 +21002,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -22860,16 +21036,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in let x : ( -# 103 "parser_cocci_menhir.mly" +# 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; @@ -22891,9 +21067,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 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; @@ -22917,18 +21093,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -22958,19 +21134,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -22996,9 +21172,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 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; @@ -23017,16 +21193,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -23050,22 +21226,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23095,24 +21271,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23134,9 +21310,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 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; @@ -23160,18 +21336,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23201,19 +21377,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23239,9 +21415,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 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; @@ -23260,16 +21436,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -23293,22 +21469,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23338,24 +21514,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23377,9 +21553,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1768 "parser_cocci_menhir.mly" +# 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; @@ -23403,18 +21579,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23444,19 +21620,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23482,9 +21658,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1776 "parser_cocci_menhir.mly" +# 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; @@ -23506,9 +21682,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1777 "parser_cocci_menhir.mly" +# 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; @@ -23532,18 +21708,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23573,20 +21749,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23608,9 +21784,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1768 "parser_cocci_menhir.mly" +# 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; @@ -23634,18 +21810,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23675,19 +21851,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23713,9 +21889,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1776 "parser_cocci_menhir.mly" +# 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; @@ -23737,9 +21913,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1777 "parser_cocci_menhir.mly" +# 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; @@ -23763,18 +21939,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23804,20 +21980,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23839,9 +22015,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 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; @@ -23865,18 +22041,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -23906,19 +22082,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -23944,9 +22120,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 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; @@ -23965,16 +22141,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -23998,22 +22174,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -24043,24 +22219,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -24082,9 +22258,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 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; @@ -24108,18 +22284,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -24149,19 +22325,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in let _2 : ( -# 111 "parser_cocci_menhir.mly" +# 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; @@ -24187,9 +22363,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 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; @@ -24208,16 +22384,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -24241,22 +22417,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -24274,325 +22450,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -24614,20 +22501,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -24657,80 +22541,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -24743,18 +22564,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -24767,29 +22588,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -24801,105 +22611,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -24911,74 +22644,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -24990,59 +22688,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25054,122 +22728,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25181,58 +22780,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25244,58 +22815,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25307,65 +22859,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25377,69 +22883,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25451,76 +22918,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25532,76 +22942,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25617,79 +22981,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -25705,80 +23043,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 @@ -25786,19 +23068,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 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; @@ -25814,85 +23091,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 @@ -25902,19 +23123,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 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; @@ -25926,56 +23142,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -25999,88 +23178,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 @@ -26088,19 +23211,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 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; @@ -26124,49 +23242,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; }; }; }; @@ -26174,43 +23262,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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 @@ -26220,77 +23282,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 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; @@ -26302,77 +23301,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26384,19 +23357,58 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26407,13 +23419,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -26425,19 +23483,65 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26448,13 +23552,70 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -26466,36 +23627,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26507,23 +23708,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26535,25 +23789,83 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26565,25 +23877,104 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26595,42 +23986,111 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26642,42 +24102,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26689,25 +24163,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26719,25 +24243,120 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26749,25 +24368,127 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26778,26 +24499,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -26809,25 +24517,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26838,28 +24540,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -26871,27 +24558,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26902,28 +24581,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -26935,27 +24599,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -26966,28 +24622,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -26999,27 +24640,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27030,20 +24663,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -27056,18 +24682,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27078,26 +24704,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -27109,25 +24722,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27138,26 +24745,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -27169,25 +24763,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27198,24 +24786,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -27237,17 +24814,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27264,22 +24837,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27296,22 +24867,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27323,27 +24892,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27354,20 +24921,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -27379,46 +24939,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27429,36 +24968,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -27470,36 +24986,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27522,18 +25027,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27556,18 +25057,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27579,47 +25076,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27631,19 +25106,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27655,46 +25136,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27706,35 +25168,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27746,36 +25200,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27787,7 +25232,6 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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 = { @@ -27798,18 +25242,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27821,29 +25264,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27855,47 +25296,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -27913,13 +25334,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -27931,86 +25352,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -28022,36 +25376,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -28074,18 +25417,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -28108,18 +25447,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -28131,47 +25466,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -28189,13 +25502,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -28229,24 +25542,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -28274,19 +25587,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -28314,20 +25627,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -28351,17 +25664,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -28385,17 +25698,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -28429,195 +25742,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -28629,54 +25772,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -28694,19 +25858,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -28718,25 +25876,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -28764,24 +25943,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -28809,161 +25983,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -28975,24 +26008,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29004,25 +26042,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29034,24 +26076,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29063,25 +26128,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29099,19 +26214,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29123,25 +26232,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29169,24 +26299,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -29214,26 +26339,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -29245,19 +26364,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29269,19 +26398,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29293,24 +26432,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29322,24 +26484,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29357,18 +26570,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29380,24 +26588,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29409,25 +26639,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29439,24 +26720,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29468,25 +26788,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29498,25 +26840,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29534,19 +26926,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29574,24 +26960,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -29619,26 +27024,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -29656,13 +27054,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29674,19 +27072,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -29705,17 +27114,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29734,17 +27143,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29763,17 +27172,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29792,17 +27201,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29821,18 +27230,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29851,17 +27260,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29880,18 +27289,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29910,18 +27319,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29940,18 +27349,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -29980,23 +27389,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -30025,25 +27434,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -30061,35 +27470,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30102,42 +27489,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30149,38 +27512,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -30199,148 +27554,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30353,16 +27577,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30375,16 +27606,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30397,16 +27635,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30419,16 +27664,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30441,16 +27694,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30463,16 +27723,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30485,16 +27753,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30507,16 +27783,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30528,17 +27812,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -30550,17 +27857,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -30573,16 +27905,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30595,16 +27929,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30616,17 +27952,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -30639,16 +27988,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30661,16 +28017,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30683,16 +28046,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30710,13 +28080,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30734,13 +28109,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30758,13 +28139,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30776,63 +28162,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -30844,29 +28192,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -30878,30 +28222,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -30917,47 +28256,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -30973,6 +28301,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 = { @@ -30984,96 +28313,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -31086,18 +28345,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -31110,18 +28369,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -31133,19 +28392,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31157,32 +28427,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31194,32 +28456,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31230,17 +28484,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -31258,13 +28520,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -31276,29 +28543,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31310,39 +28573,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31354,33 +28602,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31392,33 +28632,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31430,33 +28662,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31485,26 +28709,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -31516,136 +28737,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31657,112 +28784,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31774,55 +28808,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31834,41 +28830,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31880,41 +28852,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31930,23 +28882,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -31958,33 +28921,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -31996,49 +28949,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32050,49 +28971,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32104,51 +28993,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32160,39 +29015,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32204,34 +29037,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32244,22 +29060,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32272,22 +29082,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32299,35 +29103,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32340,22 +29126,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32367,33 +29147,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32406,18 +29192,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32429,29 +29213,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32464,18 +29236,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32487,29 +29257,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32522,18 +29280,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32545,29 +29301,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32580,18 +29324,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32603,29 +29345,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32638,18 +29368,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32661,29 +29389,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32696,18 +29412,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32719,29 +29433,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32754,18 +29456,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32777,29 +29479,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32812,18 +29504,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -32835,29 +29527,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32869,19 +29561,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32893,29 +29595,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32927,19 +29629,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32951,29 +29664,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -32986,18 +29703,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -33009,29 +29726,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33043,19 +29762,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33067,29 +29794,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33102,18 +29819,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -33125,29 +29846,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33160,18 +29871,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -33183,29 +29894,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33218,18 +29919,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -33241,29 +29942,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33275,19 +29966,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33299,43 +30003,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33346,20 +30039,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -33377,17 +30067,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -33411,17 +30097,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -33433,55 +30119,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33493,71 +30163,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33569,87 +30201,71 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33661,55 +30277,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33721,32 +30325,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33757,39 +30359,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -33801,51 +30392,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33857,36 +30466,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33898,40 +30504,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -33943,39 +30530,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -33987,33 +30583,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34025,33 +30643,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34063,33 +30689,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34101,29 +30735,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34135,7 +30767,6 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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 = { @@ -34144,30 +30775,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34179,39 +30805,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34223,29 +30859,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34257,20 +30913,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34278,25 +30988,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -34308,20 +31013,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34329,25 +31031,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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; @@ -34360,22 +31056,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34388,22 +31084,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34416,22 +31112,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34443,23 +31133,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34471,17 +31170,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34494,18 +31211,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34517,19 +31238,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34542,18 +31277,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34565,25 +31300,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34595,25 +31358,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34626,22 +31393,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34653,36 +31416,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34694,97 +31450,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34796,44 +31474,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34845,51 +31508,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34902,22 +31567,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -34929,23 +31590,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34957,30 +31624,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -34992,39 +31648,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35037,18 +31683,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -35060,44 +31706,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35108,13 +31763,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -35126,23 +31798,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35154,25 +31822,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35184,25 +31856,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35214,23 +31880,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35242,25 +31914,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35272,25 +31938,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35301,13 +31971,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -35319,25 +31996,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35348,13 +32029,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -35366,25 +32054,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35396,25 +32088,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35426,25 +32112,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35456,25 +32146,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35486,25 +32174,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35516,44 +32202,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35565,63 +32242,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35633,63 +32270,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35701,57 +32299,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35763,57 +32346,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35825,25 +32374,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35855,25 +32414,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35885,63 +32455,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -35953,63 +32507,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36021,63 +32531,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36089,64 +32579,109 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36158,84 +32693,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36247,63 +32753,71 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36315,78 +32829,87 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36398,63 +32921,77 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36466,63 +33003,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36534,63 +33063,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36602,64 +33143,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36671,84 +33199,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36760,63 +33285,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36828,78 +33329,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36911,52 +33367,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -36968,52 +33405,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37025,52 +33443,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37082,53 +33477,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37140,73 +33521,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37218,52 +33565,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37275,124 +33599,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37404,52 +33650,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37460,53 +33700,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -37518,52 +33729,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37575,52 +33757,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37632,52 +33785,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37689,60 +33813,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37754,94 +33835,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37853,103 +33859,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -37961,56 +33883,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38022,91 +33907,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38118,100 +33937,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38223,86 +33967,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38314,52 +33995,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38371,70 +34023,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38446,70 +34051,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38521,70 +34097,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38596,71 +34138,97 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38672,91 +34240,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38768,17 +34289,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38789,49 +34310,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 51 "parser_cocci_menhir.mly" - (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; @@ -38843,85 +34345,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -38933,70 +34373,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39008,70 +34401,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39083,70 +34436,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39158,71 +34480,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39234,91 +34504,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39329,71 +34552,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -39405,85 +34570,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39495,59 +34598,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39559,59 +34628,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39623,59 +34658,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39687,60 +34686,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39752,80 +34716,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39836,60 +34745,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (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; @@ -39901,74 +34763,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -39980,59 +34810,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40044,59 +34840,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40108,59 +34870,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40172,59 +34900,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40236,59 +34930,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40300,59 +34960,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40364,67 +35009,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40436,101 +35077,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40542,110 +35145,57 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40657,63 +35207,57 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40725,98 +35269,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40828,107 +35299,77 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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; @@ -40944,89 +35385,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41042,9 +35422,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41055,42 +35435,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 62 "parser_cocci_menhir.mly" - (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; @@ -41119,24 +35479,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -41154,13 +35514,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41179,17 +35567,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41211,9 +35627,107 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1365 "parser_cocci_menhir.mly" +# 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; @@ -41236,18 +35750,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41270,18 +35785,166 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41304,14 +35967,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41334,19 +35997,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41369,18 +36032,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41414,29 +36077,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -41454,13 +36117,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41483,18 +36146,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41517,18 +36180,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41551,14 +36214,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41581,19 +36244,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41616,18 +36279,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41661,29 +36324,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -41701,13 +36364,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41730,18 +36393,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41764,18 +36427,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41798,14 +36461,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41828,19 +36491,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41863,18 +36526,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41908,29 +36571,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -41948,13 +36611,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -41977,18 +36640,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42011,18 +36674,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42045,14 +36708,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42075,19 +36738,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42110,18 +36773,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42155,29 +36818,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _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; @@ -42196,16 +36859,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42224,16 +36887,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42252,16 +36915,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42280,16 +36943,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42308,16 +36971,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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; @@ -42345,9 +37008,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1979 "parser_cocci_menhir.mly" +# 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; @@ -42375,9 +37038,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1981 "parser_cocci_menhir.mly" +# 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; @@ -42399,9 +37062,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 984 "parser_cocci_menhir.mly" +# 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; @@ -42435,9 +37098,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2026 "parser_cocci_menhir.mly" +# 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; @@ -42471,9 +37134,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2027 "parser_cocci_menhir.mly" +# 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; @@ -42503,9 +37166,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2029 "parser_cocci_menhir.mly" +# 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; @@ -42539,9 +37202,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2030 "parser_cocci_menhir.mly" +# 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; @@ -42575,9 +37238,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2031 "parser_cocci_menhir.mly" +# 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; @@ -42598,106 +37289,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1953 lexer lexbuf) : ( -# 165 "parser_cocci_menhir.mly" + (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" ))