-
-# 23 "parser_cocci_menhir.mly"
-
-
-(* Not clear how to allow function declarations to specify a return type
-and how to allow both to be specified as static, because they are in
-different rules. The rules seem to have to be combined, which would allow
-functions to be declared as local variables *)
-
-(* Not clear how to let a function have a parameter of type void. At the
-moment, void is allowed to be the type of a variable, which is wrong, and a
-parameter needs both a type and an identifier *)
-module Ast0 = Ast0_cocci
-module Ast = Ast_cocci
-module P = Parse_aux
-
-# 18 "parser_cocci_menhir.ml"
exception Error
type token =
| Tvolatile of (
# 54 "parser_cocci_menhir.mly"
(Data.clt)
-# 25 "parser_cocci_menhir.ml"
+# 8 "parser_cocci_menhir.ml"
)
| Tvoid of (
# 50 "parser_cocci_menhir.mly"
(Data.clt)
-# 30 "parser_cocci_menhir.ml"
+# 13 "parser_cocci_menhir.ml"
)
| Tunsigned of (
# 51 "parser_cocci_menhir.mly"
(Data.clt)
-# 35 "parser_cocci_menhir.ml"
+# 18 "parser_cocci_menhir.ml"
)
| Tunion of (
# 50 "parser_cocci_menhir.mly"
(Data.clt)
-# 40 "parser_cocci_menhir.ml"
+# 23 "parser_cocci_menhir.ml"
)
| Ttypedef of (
# 53 "parser_cocci_menhir.mly"
(Data.clt)
-# 45 "parser_cocci_menhir.ml"
+# 28 "parser_cocci_menhir.ml"
)
| Tstruct of (
# 50 "parser_cocci_menhir.mly"
(Data.clt)
-# 50 "parser_cocci_menhir.ml"
+# 33 "parser_cocci_menhir.ml"
)
| Tstatic of (
# 53 "parser_cocci_menhir.mly"
(Data.clt)
-# 55 "parser_cocci_menhir.ml"
+# 38 "parser_cocci_menhir.ml"
)
| Tsigned of (
# 51 "parser_cocci_menhir.mly"
(Data.clt)
-# 60 "parser_cocci_menhir.ml"
+# 43 "parser_cocci_menhir.ml"
)
| Tshort of (
# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 65 "parser_cocci_menhir.ml"
+# 48 "parser_cocci_menhir.ml"
)
| Tregister of (
# 53 "parser_cocci_menhir.mly"
(Data.clt)
-# 70 "parser_cocci_menhir.ml"
+# 53 "parser_cocci_menhir.ml"
)
| Tlong of (
# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 75 "parser_cocci_menhir.ml"
+# 58 "parser_cocci_menhir.ml"
)
| Tlist
| Tint of (
# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 81 "parser_cocci_menhir.ml"
+# 64 "parser_cocci_menhir.ml"
)
| Tinline of (
# 53 "parser_cocci_menhir.mly"
(Data.clt)
-# 86 "parser_cocci_menhir.ml"
+# 69 "parser_cocci_menhir.ml"
)
| Tfloat of (
# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 91 "parser_cocci_menhir.ml"
+# 74 "parser_cocci_menhir.ml"
)
| Textern of (
# 53 "parser_cocci_menhir.mly"
(Data.clt)
-# 96 "parser_cocci_menhir.ml"
+# 79 "parser_cocci_menhir.ml"
)
| Tenum of (
# 50 "parser_cocci_menhir.mly"
(Data.clt)
-# 101 "parser_cocci_menhir.ml"
+# 84 "parser_cocci_menhir.ml"
)
| Tdouble of (
# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 106 "parser_cocci_menhir.ml"
+# 89 "parser_cocci_menhir.ml"
)
| Tconst of (
# 54 "parser_cocci_menhir.mly"
(Data.clt)
-# 111 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.ml"
)
| Tchar of (
# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 116 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.ml"
)
| Tauto of (
# 53 "parser_cocci_menhir.mly"
(Data.clt)
-# 121 "parser_cocci_menhir.ml"
+# 104 "parser_cocci_menhir.ml"
)
| Tattr of (
# 55 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 126 "parser_cocci_menhir.ml"
+# 109 "parser_cocci_menhir.ml"
)
| TXor of (
# 92 "parser_cocci_menhir.mly"
(Data.clt)
-# 131 "parser_cocci_menhir.ml"
+# 114 "parser_cocci_menhir.ml"
)
| TWords
| TWhy0
| TWhy of (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 138 "parser_cocci_menhir.ml"
+# 121 "parser_cocci_menhir.ml"
)
| TWhile of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 143 "parser_cocci_menhir.ml"
+# 126 "parser_cocci_menhir.ml"
)
| TWhenTrue of (
# 74 "parser_cocci_menhir.mly"
(Data.clt)
-# 148 "parser_cocci_menhir.ml"
+# 131 "parser_cocci_menhir.ml"
)
| TWhenFalse of (
# 74 "parser_cocci_menhir.mly"
(Data.clt)
-# 153 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.ml"
)
| TWhen of (
# 74 "parser_cocci_menhir.mly"
(Data.clt)
-# 158 "parser_cocci_menhir.ml"
+# 141 "parser_cocci_menhir.ml"
)
| TUsing
| TTypedef
| TTypeId of (
# 59 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 165 "parser_cocci_menhir.ml"
+# 148 "parser_cocci_menhir.ml"
)
| TType
| TTilde of (
# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 171 "parser_cocci_menhir.ml"
+# 154 "parser_cocci_menhir.ml"
)
| TSwitch of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 176 "parser_cocci_menhir.ml"
+# 159 "parser_cocci_menhir.ml"
)
| TString of (
# 87 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 181 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.ml"
)
| TStrict of (
# 74 "parser_cocci_menhir.mly"
(Data.clt)
-# 186 "parser_cocci_menhir.ml"
+# 169 "parser_cocci_menhir.ml"
)
| TStatement
| TSizeof of (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 192 "parser_cocci_menhir.ml"
+# 175 "parser_cocci_menhir.ml"
)
| TShOp of (
# 96 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 197 "parser_cocci_menhir.ml"
+# 180 "parser_cocci_menhir.ml"
)
| TScriptData of (
# 71 "parser_cocci_menhir.mly"
(string)
-# 202 "parser_cocci_menhir.ml"
+# 185 "parser_cocci_menhir.ml"
)
| TScript
| TRuleName of (
# 47 "parser_cocci_menhir.mly"
(string)
-# 208 "parser_cocci_menhir.ml"
+# 191 "parser_cocci_menhir.ml"
)
| TRightIso
- | TReverse
| TReturn of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 215 "parser_cocci_menhir.ml"
+# 197 "parser_cocci_menhir.ml"
)
| TPure
| TPtrOp of (
# 104 "parser_cocci_menhir.mly"
(Data.clt)
-# 221 "parser_cocci_menhir.ml"
+# 203 "parser_cocci_menhir.ml"
)
| TPtVirg of (
# 107 "parser_cocci_menhir.mly"
(Data.clt)
-# 226 "parser_cocci_menhir.ml"
+# 208 "parser_cocci_menhir.ml"
)
| TPragma of (
# 59 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 231 "parser_cocci_menhir.ml"
+# 213 "parser_cocci_menhir.ml"
)
| TPosition
| TPosAny
| TPlusFile of (
# 83 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 238 "parser_cocci_menhir.ml"
+# 220 "parser_cocci_menhir.ml"
)
| TPlus0
| TPlus of (
# 98 "parser_cocci_menhir.mly"
(Data.clt)
-# 244 "parser_cocci_menhir.ml"
+# 226 "parser_cocci_menhir.ml"
)
| TPathIsoFile of (
# 79 "parser_cocci_menhir.mly"
(string)
-# 249 "parser_cocci_menhir.ml"
+# 231 "parser_cocci_menhir.ml"
)
| TParameter
| TPOEllipsis of (
# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 255 "parser_cocci_menhir.ml"
+# 237 "parser_cocci_menhir.ml"
)
| TPCEllipsis of (
# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 260 "parser_cocci_menhir.ml"
+# 242 "parser_cocci_menhir.ml"
)
| TPArob
| TOrLog of (
# 89 "parser_cocci_menhir.mly"
(Data.clt)
-# 266 "parser_cocci_menhir.ml"
+# 248 "parser_cocci_menhir.ml"
)
| TOr of (
# 91 "parser_cocci_menhir.mly"
(Data.clt)
-# 271 "parser_cocci_menhir.ml"
+# 253 "parser_cocci_menhir.ml"
)
| TOn
| TOPar0 of (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 277 "parser_cocci_menhir.ml"
+# 259 "parser_cocci_menhir.ml"
)
| TOPar of (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 282 "parser_cocci_menhir.ml"
+# 264 "parser_cocci_menhir.ml"
)
| TOInit of (
# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 287 "parser_cocci_menhir.ml"
+# 269 "parser_cocci_menhir.ml"
)
| TOEllipsis of (
# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 292 "parser_cocci_menhir.ml"
+# 274 "parser_cocci_menhir.ml"
)
| TOCro of (
# 102 "parser_cocci_menhir.mly"
(Data.clt)
-# 297 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
)
| TOBrace of (
# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 302 "parser_cocci_menhir.ml"
+# 284 "parser_cocci_menhir.ml"
)
| TNothing
| TNotEq of (
# 94 "parser_cocci_menhir.mly"
(Data.clt)
-# 308 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
)
| TNever
| TName
| TMul of (
# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 315 "parser_cocci_menhir.ml"
+# 297 "parser_cocci_menhir.ml"
)
| TMinusFile of (
# 83 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 320 "parser_cocci_menhir.ml"
+# 302 "parser_cocci_menhir.ml"
)
| TMinus of (
# 98 "parser_cocci_menhir.mly"
(Data.clt)
-# 325 "parser_cocci_menhir.ml"
+# 307 "parser_cocci_menhir.ml"
)
| TMid0 of (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 330 "parser_cocci_menhir.ml"
+# 312 "parser_cocci_menhir.ml"
)
| TMetaType of (
# 64 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 335 "parser_cocci_menhir.ml"
+# 317 "parser_cocci_menhir.ml"
)
| TMetaStmList of (
# 64 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 340 "parser_cocci_menhir.ml"
+# 322 "parser_cocci_menhir.ml"
)
| TMetaStm of (
# 64 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 345 "parser_cocci_menhir.ml"
+# 327 "parser_cocci_menhir.ml"
)
| TMetaPos of (
# 68 "parser_cocci_menhir.mly"
(Parse_aux.pos_info)
-# 350 "parser_cocci_menhir.ml"
+# 332 "parser_cocci_menhir.ml"
)
| TMetaParamList of (
# 66 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 355 "parser_cocci_menhir.ml"
+# 337 "parser_cocci_menhir.ml"
)
| TMetaParam of (
# 64 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 360 "parser_cocci_menhir.ml"
+# 342 "parser_cocci_menhir.ml"
)
| TMetaLocalIdExp of (
# 67 "parser_cocci_menhir.mly"
(Parse_aux.typed_info)
-# 365 "parser_cocci_menhir.ml"
+# 347 "parser_cocci_menhir.ml"
)
| TMetaLocalFunc of (
# 61 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 370 "parser_cocci_menhir.ml"
+# 352 "parser_cocci_menhir.ml"
)
| TMetaIterator of (
# 62 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 375 "parser_cocci_menhir.ml"
+# 357 "parser_cocci_menhir.ml"
)
| TMetaInit of (
# 65 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 380 "parser_cocci_menhir.ml"
+# 362 "parser_cocci_menhir.ml"
)
| TMetaIdExp of (
# 67 "parser_cocci_menhir.mly"
(Parse_aux.typed_info)
-# 385 "parser_cocci_menhir.ml"
+# 367 "parser_cocci_menhir.ml"
)
| TMetaId of (
# 61 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 390 "parser_cocci_menhir.ml"
+# 372 "parser_cocci_menhir.ml"
)
| TMetaFunc of (
# 61 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 395 "parser_cocci_menhir.ml"
+# 377 "parser_cocci_menhir.ml"
)
| TMetaExpList of (
# 66 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 400 "parser_cocci_menhir.ml"
+# 382 "parser_cocci_menhir.ml"
)
| TMetaExp of (
# 67 "parser_cocci_menhir.mly"
(Parse_aux.typed_info)
-# 405 "parser_cocci_menhir.ml"
+# 387 "parser_cocci_menhir.ml"
)
| TMetaErr of (
# 63 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 410 "parser_cocci_menhir.ml"
+# 392 "parser_cocci_menhir.ml"
)
| TMetaDeclarer of (
# 62 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 415 "parser_cocci_menhir.ml"
+# 397 "parser_cocci_menhir.ml"
)
| TMetaConst of (
# 67 "parser_cocci_menhir.mly"
(Parse_aux.typed_info)
-# 420 "parser_cocci_menhir.ml"
+# 402 "parser_cocci_menhir.ml"
)
| TMPtVirg
| TLogOp of (
# 95 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 426 "parser_cocci_menhir.ml"
+# 408 "parser_cocci_menhir.ml"
)
| TLocal
| TLineEnd of (
# 74 "parser_cocci_menhir.mly"
(Data.clt)
-# 432 "parser_cocci_menhir.ml"
+# 414 "parser_cocci_menhir.ml"
)
| TIteratorId of (
# 59 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 437 "parser_cocci_menhir.ml"
+# 419 "parser_cocci_menhir.ml"
)
| TIterator
| TIsoType
| TInt of (
# 87 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 452 "parser_cocci_menhir.ml"
+# 434 "parser_cocci_menhir.ml"
)
| TInitialize
| TInitialiser
| TIncludeNL of (
# 80 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 459 "parser_cocci_menhir.ml"
+# 441 "parser_cocci_menhir.ml"
)
| TIncludeL of (
# 80 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 464 "parser_cocci_menhir.ml"
+# 446 "parser_cocci_menhir.ml"
)
| TInc of (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 469 "parser_cocci_menhir.ml"
+# 451 "parser_cocci_menhir.ml"
)
| TIf of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 474 "parser_cocci_menhir.ml"
+# 456 "parser_cocci_menhir.ml"
)
| TIdentifier
| TIdent of (
# 59 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 480 "parser_cocci_menhir.ml"
+# 462 "parser_cocci_menhir.ml"
)
| TIdExpression
| TGoto of (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 486 "parser_cocci_menhir.ml"
+# 468 "parser_cocci_menhir.ml"
)
| TGenerated
| TFunction
| TFunDecl of (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 493 "parser_cocci_menhir.ml"
+# 475 "parser_cocci_menhir.ml"
)
| TFresh
| TForall
| TFor of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 500 "parser_cocci_menhir.ml"
+# 482 "parser_cocci_menhir.ml"
)
| TFloat of (
# 87 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 505 "parser_cocci_menhir.ml"
+# 487 "parser_cocci_menhir.ml"
)
| TFinalize
| TExtends
| TEqEq of (
# 94 "parser_cocci_menhir.mly"
(Data.clt)
-# 516 "parser_cocci_menhir.ml"
+# 498 "parser_cocci_menhir.ml"
)
| TEq of (
# 107 "parser_cocci_menhir.mly"
(Data.clt)
-# 521 "parser_cocci_menhir.ml"
+# 503 "parser_cocci_menhir.ml"
)
| TElse of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 526 "parser_cocci_menhir.ml"
+# 508 "parser_cocci_menhir.ml"
)
| TEllipsis of (
# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 531 "parser_cocci_menhir.ml"
+# 513 "parser_cocci_menhir.ml"
)
| TDotDot of (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 536 "parser_cocci_menhir.ml"
+# 518 "parser_cocci_menhir.ml"
)
| TDot of (
# 107 "parser_cocci_menhir.mly"
(Data.clt)
-# 541 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.ml"
)
| TDo of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 546 "parser_cocci_menhir.ml"
+# 528 "parser_cocci_menhir.ml"
)
| TDmOp of (
# 97 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 551 "parser_cocci_menhir.ml"
+# 533 "parser_cocci_menhir.ml"
)
| TDisable
| TDepends
| TDefineParam of (
# 82 "parser_cocci_menhir.mly"
(Data.clt * token * int * int)
-# 558 "parser_cocci_menhir.ml"
+# 540 "parser_cocci_menhir.ml"
)
| TDefine of (
# 81 "parser_cocci_menhir.mly"
(Data.clt * token)
-# 563 "parser_cocci_menhir.ml"
+# 545 "parser_cocci_menhir.ml"
)
| TDefault of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 568 "parser_cocci_menhir.ml"
+# 550 "parser_cocci_menhir.ml"
)
| TDeclarerId of (
# 59 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 573 "parser_cocci_menhir.ml"
+# 555 "parser_cocci_menhir.ml"
)
| TDeclarer
| TDec of (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 579 "parser_cocci_menhir.ml"
+# 561 "parser_cocci_menhir.ml"
)
+ | TCppConcatOp
| TContinue of (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 584 "parser_cocci_menhir.ml"
+# 567 "parser_cocci_menhir.ml"
)
| TContext
| TConstant
| TComma of (
# 107 "parser_cocci_menhir.mly"
(Data.clt)
-# 591 "parser_cocci_menhir.ml"
+# 574 "parser_cocci_menhir.ml"
)
| TChar of (
# 87 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 596 "parser_cocci_menhir.ml"
+# 579 "parser_cocci_menhir.ml"
)
| TCase of (
# 57 "parser_cocci_menhir.mly"
(Data.clt)
-# 601 "parser_cocci_menhir.ml"
+# 584 "parser_cocci_menhir.ml"
)
| TCPar0 of (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 606 "parser_cocci_menhir.ml"
+# 589 "parser_cocci_menhir.ml"
)
| TCPar of (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 611 "parser_cocci_menhir.ml"
+# 594 "parser_cocci_menhir.ml"
)
| TCEllipsis of (
# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 616 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.ml"
)
| TCCro of (
# 102 "parser_cocci_menhir.mly"
(Data.clt)
-# 621 "parser_cocci_menhir.ml"
+# 604 "parser_cocci_menhir.ml"
)
| TCBrace of (
# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 626 "parser_cocci_menhir.ml"
+# 609 "parser_cocci_menhir.ml"
)
| TBreak of (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 631 "parser_cocci_menhir.ml"
+# 614 "parser_cocci_menhir.ml"
)
| TBang0
| TBang of (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 637 "parser_cocci_menhir.ml"
+# 620 "parser_cocci_menhir.ml"
)
| TAssign of (
# 108 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 642 "parser_cocci_menhir.ml"
+# 625 "parser_cocci_menhir.ml"
)
| TArobArob
| TArob
| TAny of (
# 74 "parser_cocci_menhir.mly"
(Data.clt)
-# 649 "parser_cocci_menhir.ml"
+# 632 "parser_cocci_menhir.ml"
)
| TAndLog of (
# 90 "parser_cocci_menhir.mly"
(Data.clt)
-# 654 "parser_cocci_menhir.ml"
+# 637 "parser_cocci_menhir.ml"
)
| TAnd of (
# 93 "parser_cocci_menhir.mly"
(Data.clt)
-# 659 "parser_cocci_menhir.ml"
+# 642 "parser_cocci_menhir.ml"
)
| EOF
and _menhir_jeton = token
+
+# 23 "parser_cocci_menhir.mly"
+
+
+(* Not clear how to allow function declarations to specify a return type
+and how to allow both to be specified as static, because they are in
+different rules. The rules seem to have to be combined, which would allow
+functions to be declared as local variables *)
+
+(* Not clear how to let a function have a parameter of type void. At the
+moment, void is allowed to be the type of a variable, which is wrong, and a
+parameter needs both a type and an identifier *)
+module Ast0 = Ast0_cocci
+module Ast = Ast_cocci
+module P = Parse_aux
+
+# 664 "parser_cocci_menhir.ml"
let _eRR =
Error
153
| TContinue _ ->
152
- | TDec _ ->
+ | TCppConcatOp ->
151
- | TDeclarer ->
+ | TDec _ ->
150
- | TDeclarerId _ ->
+ | TDeclarer ->
149
- | TDefault _ ->
+ | TDeclarerId _ ->
148
- | TDefine _ ->
+ | TDefault _ ->
147
- | TDefineParam _ ->
+ | TDefine _ ->
146
- | TDepends ->
+ | TDefineParam _ ->
145
- | TDisable ->
+ | TDepends ->
144
- | TDmOp _ ->
+ | TDisable ->
143
- | TDo _ ->
+ | TDmOp _ ->
142
- | TDot _ ->
+ | TDo _ ->
141
- | TDotDot _ ->
+ | TDot _ ->
140
- | TEllipsis _ ->
+ | TDotDot _ ->
139
- | TElse _ ->
+ | TEllipsis _ ->
138
- | TEq _ ->
+ | TElse _ ->
137
- | TEqEq _ ->
+ | TEq _ ->
136
- | TError ->
+ | TEqEq _ ->
135
- | TEver ->
+ | TError ->
134
- | TExists ->
+ | TEver ->
133
- | TExpression ->
+ | TExists ->
132
- | TExtends ->
+ | TExpression ->
131
- | TFinalize ->
+ | TExtends ->
130
- | TFloat _ ->
+ | TFinalize ->
129
- | TFor _ ->
+ | TFloat _ ->
128
- | TForall ->
+ | TFor _ ->
127
- | TFresh ->
+ | TForall ->
126
- | TFunDecl _ ->
+ | TFresh ->
125
- | TFunction ->
+ | TFunDecl _ ->
124
- | TGenerated ->
+ | TFunction ->
123
- | TGoto _ ->
+ | TGenerated ->
122
- | TIdExpression ->
+ | TGoto _ ->
121
- | TIdent _ ->
+ | TIdExpression ->
120
- | TIdentifier ->
+ | TIdent _ ->
119
- | TIf _ ->
+ | TIdentifier ->
118
- | TInc _ ->
+ | TIf _ ->
117
- | TIncludeL _ ->
+ | TInc _ ->
116
- | TIncludeNL _ ->
+ | TIncludeL _ ->
115
- | TInitialiser ->
+ | TIncludeNL _ ->
114
- | TInitialize ->
+ | TInitialiser ->
113
- | TInt _ ->
+ | TInitialize ->
112
- | TInvalid ->
+ | TInt _ ->
111
- | TIso ->
+ | TInvalid ->
110
- | TIsoArgExpression ->
+ | TIso ->
109
- | TIsoDeclaration ->
+ | TIsoArgExpression ->
108
- | TIsoExpression ->
+ | TIsoDeclaration ->
107
- | TIsoStatement ->
+ | TIsoExpression ->
106
- | TIsoTestExpression ->
+ | TIsoStatement ->
105
- | TIsoTopLevel ->
+ | TIsoTestExpression ->
104
- | TIsoType ->
+ | TIsoTopLevel ->
103
- | TIterator ->
+ | TIsoType ->
102
- | TIteratorId _ ->
+ | TIterator ->
101
- | TLineEnd _ ->
+ | TIteratorId _ ->
100
- | TLocal ->
+ | TLineEnd _ ->
99
- | TLogOp _ ->
+ | TLocal ->
98
- | TMPtVirg ->
+ | TLogOp _ ->
97
- | TMetaConst _ ->
+ | TMPtVirg ->
96
- | TMetaDeclarer _ ->
+ | TMetaConst _ ->
95
- | TMetaErr _ ->
+ | TMetaDeclarer _ ->
94
- | TMetaExp _ ->
+ | TMetaErr _ ->
93
- | TMetaExpList _ ->
+ | TMetaExp _ ->
92
- | TMetaFunc _ ->
+ | TMetaExpList _ ->
91
- | TMetaId _ ->
+ | TMetaFunc _ ->
90
- | TMetaIdExp _ ->
+ | TMetaId _ ->
89
- | TMetaInit _ ->
+ | TMetaIdExp _ ->
88
- | TMetaIterator _ ->
+ | TMetaInit _ ->
87
- | TMetaLocalFunc _ ->
+ | TMetaIterator _ ->
86
- | TMetaLocalIdExp _ ->
+ | TMetaLocalFunc _ ->
85
- | TMetaParam _ ->
+ | TMetaLocalIdExp _ ->
84
- | TMetaParamList _ ->
+ | TMetaParam _ ->
83
- | TMetaPos _ ->
+ | TMetaParamList _ ->
82
- | TMetaStm _ ->
+ | TMetaPos _ ->
81
- | TMetaStmList _ ->
+ | TMetaStm _ ->
80
- | TMetaType _ ->
+ | TMetaStmList _ ->
79
- | TMid0 _ ->
+ | TMetaType _ ->
78
- | TMinus _ ->
+ | TMid0 _ ->
77
- | TMinusFile _ ->
+ | TMinus _ ->
76
- | TMul _ ->
+ | TMinusFile _ ->
75
- | TName ->
+ | TMul _ ->
74
- | TNever ->
+ | TName ->
73
- | TNotEq _ ->
+ | TNever ->
72
- | TNothing ->
+ | TNotEq _ ->
71
- | TOBrace _ ->
+ | TNothing ->
70
- | TOCro _ ->
+ | TOBrace _ ->
69
- | TOEllipsis _ ->
+ | TOCro _ ->
68
- | TOInit _ ->
+ | TOEllipsis _ ->
67
- | TOPar _ ->
+ | TOInit _ ->
66
- | TOPar0 _ ->
+ | TOPar _ ->
65
- | TOn ->
+ | TOPar0 _ ->
64
- | TOr _ ->
+ | TOn ->
63
- | TOrLog _ ->
+ | TOr _ ->
62
- | TPArob ->
+ | TOrLog _ ->
61
- | TPCEllipsis _ ->
+ | TPArob ->
60
- | TPOEllipsis _ ->
+ | TPCEllipsis _ ->
59
- | TParameter ->
+ | TPOEllipsis _ ->
58
- | TPathIsoFile _ ->
+ | TParameter ->
57
- | TPlus _ ->
+ | TPathIsoFile _ ->
56
- | TPlus0 ->
+ | TPlus _ ->
55
- | TPlusFile _ ->
+ | TPlus0 ->
54
- | TPosAny ->
+ | TPlusFile _ ->
53
- | TPosition ->
+ | TPosAny ->
52
- | TPragma _ ->
+ | TPosition ->
51
- | TPtVirg _ ->
+ | TPragma _ ->
50
- | TPtrOp _ ->
+ | TPtVirg _ ->
49
- | TPure ->
+ | TPtrOp _ ->
48
- | TReturn _ ->
+ | TPure ->
47
- | TReverse ->
+ | TReturn _ ->
46
| TRightIso ->
45
Obj.repr ()
| TContinue _v ->
Obj.repr _v
+ | TCppConcatOp ->
+ Obj.repr ()
| TDec _v ->
Obj.repr _v
| TDeclarer ->
Obj.repr ()
| TReturn _v ->
Obj.repr _v
- | TReverse ->
- Obj.repr ()
| TRightIso ->
Obj.repr ()
| TRuleName _v ->
Obj.repr _v
let default_reduction =
- (16, "\000\000\000\000\0015\0016\000\000\0018\0017\000\001\000\000\001q\000\000\000\000\000\137\000\000\000\000\001\237\000\143\000\000\001\025\000\000\001$\001\028\001\022\001.\002\226\002\225\000\000\001\026\000\000\001%\001\029\001\023\001/\001\027\000\000\001&\001\030\001 \000\000\0012\002\134\0011\001'\001\031\000\136\001\024\001-\000\000\000\000\001,\000\000\000\000\000\000\000\000\000\000\001c\000\241\002\216\000\000\000\000\000\000\000\000\000\000\002\221\000\000\001)\000\000\002\223\000\000\000\000\000\000\003\029\002P\000\000\003\027\000\000\002j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\026\003\028\002V\001\013\002U\001\011\001\012\002T\002S\002R\002N\000\000\000\000\002O\000\214\000\000\002Q\000\000\003\025\000\000\000c\001\n\0021\000\000\000\000\0024\000\000\000\015\000\000\000\000\000\000\000\000\000\215\002M\002Y\000[\000\021\000]\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\131\002\018\000R\000\224\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\021\000\000\000\000\000\141\000\225\000\000\0027\000\226\000\014\000\016\000\000\000\000\000\144\000\000\000\142\000\000\000\000\000\229\000\000\000\000\0022\0025\000\000\0023\0026\003\000\003\001\002\255\000\000\002W\002\254\000\000\002q\000\000\000\000\002p\002o\002n\002m\002l\002h\000\000\000\000\002i\000\000\002k\000\000\000\000\000g\002?\000\000\000\000\002B\000\000\000\000\002E\000\000\000\000\002@\002C\000\000\002A\002D\002s\002g\003\014\003\015\003\013\003\012\000h\000\000\000\000\000W\000\000\000V\000\236\000\000\001\229\000\000\000\000\000\000\000\000\000\000\000\219\001\235\000\000\000\000\001\137\000U\0001\000\212\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\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\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002X\000\000\000\145\000\000\000\000\001\213\000\000\001\127\001\194\000\000\000\000\001\212\000\000\001}\001\193\000\000\000\000\000d\000\000\002r\000\000\000\000\003\017\003\016\000\000\001\230\000\000\000\000\003\003\003\002\000\000\000Q\000\151\000\000\001e\000\000\002\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\249\000\155\000\000\000\000\000n\000o\001\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\166\001\218\000\000\000\152\000\161\000\000\001\220\000\000\000\000\000\000\000\000\000\153\000\167\000\000\001k\000\000\000\000\002\218\000\000\000\000\000\139\000\000\000\000\002\217\000\000\000\000\000\000\002\220\002\224\000\000\000\000\000\000\001*\000\000\000\223\000\000\001+\000\000\000\000\001N\000\000\001M\000\000\001[\000\000\001s\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\148\000\000\000\000\000\000\000\000\000\150\000\000\000\146\000\000\002\252\000\000\000\195\002\251\000\000\000\000\000\149\000\000\000\147\002\212\002\214\002\215\002\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002w\000\000\000\000\000\000\000\000\002~\000\000\000\000\002}\002|\002{\002z\002y\001J\002u\000\000\000\000\002v\000\000\002x\000\000\000\000\000i\002F\000\000\000\000\002I\000\000\000\000\002L\000\000\000\000\002G\002J\000\000\002H\002K\002\128\002t\003\021\003\022\003\020\003\019\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\127\000\000\001\195\000X\000?\000\235\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\024\003\023\000\000\002\203\000\000\002\202\000\000\000\000\000\000\000\000\003$\000\000\000\000\000\000\003%\000\000\000\018\000\000\000\000\000\000\003 \000\000\001\139\000\000\000\000\000\000\000\168\002\193\001a\000\000\000\157\001`\001:\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\207\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\216\000\217\000\201\000\000\001o\000\000\000\000\000\200\000\196\000\000\000\203\000\197\000\202\000\000\002\205\000\000\002\204\002\190\000\000\000\000\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\000\002\200\002\192\000\000\002\206\000\000\002\194\000\000\000\172\000\000\002\209\000\156\000\000\001<\000\000\000\000\000\000\000\000\000\000\000\000\001\018\000\000\000w\000\000\000\000\000\000\002]\000\000\000\000\000\000\002e\000\000\000\000\002d\000\000\003\n\002c\002b\002a\002`\002_\002[\000\000\000\000\002\\\000\000\002^\000\000\000\000\000\000\000\000\000\000\000e\0028\000\000\000\000\002;\000\000\000\000\002>\000\000\000\000\0029\002<\000\000\002:\002=\002f\002Z\000f\003\007\003\008\003\006\003\005\003\t\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000\000\000\000\001@\000\000\000\221\001=\000\000\000\209\001C\000\000\000\000\001D\000\000\000\000\001E\000\000\001m\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\001B\000\000\000\000\001H\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001I\001?\000\000\001>\000\000\000\188\000\000\002\169\000\000\000\000\000\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\000\000\000\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\000\000\000\000\000\000\000\181\000\000\000\178\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\185\000\000\000\000\002\230\000\000\002\237\000\174\000\000\000\000\000\000\000\000\000\186\000\000\000\182\000\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\190\000\000\000\000\000\193\000\000\002\231\000\173\000\000\002\232\000\000\002\239\000\000\000\000\000\000\000\000\000\192\000\000\000\176\000\000\000\000\000\000\000\000\001\015\000\000\000\000\000\000\000\180\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\187\000\000\000\183\000\170\000\169\000\000\002\240\002\241\000\000\002\242\000\000\002\243\000\000\001;\002\197\000\000\000\000\001\217\000\000\001\135\001\199\000\000\002\191\000\000\000\000\000\000\002\196\000\000\000\000\000\000\001\003\000\000\000\253\000\000\000\254\000\000\001\008\000\252\001\007\000\000\002\208\001\t\000\000\000\175\000\000\000\000\000\000\000\000\001\005\001\000\001\214\000\000\001\001\000\000\001\002\000\000\001\129\001\196\000\000\000\000\000\000\001\225\000\000\001\223\000\000\000\000\001\227\001\221\000\000\001\228\001\222\000\000\002\210\001\231\000\000\000\171\000\000\000\000\001\215\000\000\001\131\001\197\000\000\003!\000\000\003\030\000\000\003\031\000\019\000\020\000\000\000\000\002\151\000\000\002\150\000\000\000\000\002\153\000\000\002\152\000\000\000\000\000\000\002\002\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\t\000\000\000\000\002\012\000\000\000\000\001\252\000\000\000\000\001\255\000\000\000\000\000\000\002\003\000\000\000\000\002\007\000\000\000\000\001\216\000\000\000\000\002\000\000\000\000\000\002\004\002\148\001\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\008\000\000\000\000\002\011\000\000\002\149\000\000\000\000\000\000\000\000\002\n\000\000\001\250\000\000\001\251\000\000\000\000\001\254\000\000\000\000\000\000\002\001\000\000\000\000\002\005\000\000\001\133\001\198\000\000\002\154\000\000\000\000\000\000\003\"\000\017\000u\000\000\003#\000\000\000\000\002\165\000\000\000\000\002\211\000a\000\000\000\000\000\000\000b\000\000\002\201\000\000\001g\002\198\000\000\000\000\001T\000\000\001S\000\000\001\\\000\000\001y\000\000\000\000\000\000\001R\000\000\001Q\000\000\001Y\000\000\001w\000\000\000\000\000\000\001V\000\000\001U\000\000\001Z\000\000\001{\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\001P\000\000\001O\000\000\001]\000\000\001u\000\000\000\000\000\000\001X\000\002\000\000\000N\000O\000\000\000\000\002\137\002\139\000\000\000\000\001\162\002\140\002\138\000\129\000\000\000\000\002\189\000\000\000\000\002\146\002\135\002\136\000\000\001\174\000M\001^\000\003\000\000\000\000\002\131\000\000\002\016\000\000\000\128\000\000\000\000\002\187\000\000\000\000\000\000\000z\000\000\000\000\002\175\000\000\001\245\001\244\001\157\002\144\000\000\001\190\000\000\002\132\000\000\000\000\000|\000\000\000\000\002\179\000\000\001\171\000\000\000\000\001\167\000\000\000\000\000\000\001\170\000\000\001\169\000\000\000\000\000\000\000\000\000\000\000\000\001\191\000\000\001\165\000\000\001\164\000\000\000v\000\000\000\000\002\167\000\000\000\000\001\161\000\000\000\000\000~\000\000\000\000\002\183\000\000\000\000\000\000\000{\000\000\000\000\002\177\000\000\001\241\001\240\001\153\002\142\000\000\001\177\000\000\000\000\000\000\001\173\000\000\001\179\000\000\000\000\001\168\000\000\000\000\001\175\000\000\000\000\001\176\000\000\000\000\000\000\000\000\000\000\000\000\001\192\000\000\001\166\000}\000\000\000\000\002\181\000\000\000\000\000\000\0014\000y\0013\000\000\000\000\002\173\000\000\001\239\001\238\001\151\002\141\000\000\000\127\000\000\000\000\002\185\000\000\000\000\000\000\000\000\001\243\001\242\001\155\002\143\000\000\001\184\000\000\001\188\000\000\000\000\001\180\000\000\000\000\000\000\001\172\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\001\187\001\160\000\000\001\186\000\000\000\000\000\000\000\000\001\183\000\000\000\000\001\182\000\000\001\181\000\000\000\000\000\000\000\000\001\185\000\000\001\189\000\000\000\000\001_\000\004\000\000\001\163\000\005\000\000\000\000\000\239\000\006\000\000\001\203\001\204\001\202\000\000\000\000\000\000\000\000\000\000\000\000\000x\000\000\000\000\002\171\000\000\000\230\001\201\001\145\002\227\001\147\000\000\000\007\000\000\001\206\001\207\001\205\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\243\000\000\000\000\000\000\000\000\000\248\000\250\000\249\000\244\000\246\000\245\000\000\000\000\000\000\000\000\000\000\002\233\002\246\000\000\002\234\000\000\002\235\000\000\000\000\002\228\000\000\000\000\000\000\000\000\002\245\000\000\000\000\002\244\001\211\001\210\000\000\000\000\001\149\000\000\001\200\001\208\000\000\000\000\000\000\000\000\001\247\000\000\000\000\000l\000m\000\000\000\000\000\000\001\246\000\000\000\164\000\000\001i\000\000\000\000\000\163\000\159\000\000\000\000\000\000\000\000\001\014\000\000\000\000\002\249\000\000\002\250\000\000\000\000\001\234\001\232\000\000\001\233\000\008\000\000\000\t\000\000\002!\002\"\002 \000\000\000\000\002\031\000\000\000\n\000\000\002$\002%\002#\000\000\002'\000\000\000\000\000\000\002\025\000\000\000\000\002\027\000\000\002\021\000\000\002\023\000\000\002\028\000\000\002\029\002\022\002\020\002(\001\159\000\000\002\030\000\000\002*\000\000\002)\000\000\002+\000\000\002\147\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002,\000\000\000\000\002/\000\000\002.\000\000\002-\000\204\000\000\000\000\000\000\000\000\000\205\0020\000\000\000\000\002\158\000\000\000\000\000\000\002\159\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\002\163\000k\000\000\000\000\000\213\000\000\000\000\000\233\000\232\000\231\000\000\001L\000\000\002\157\001\143\001\141\000\000\000\000\000\000\002\160\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\156\000\000\000\000\000\000\000\000\000\000\000\000\002\155\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\161")
+ (16, "\000\000\000\000\001F\001G\001E\000\000\001I\001H\000\001\000\000\001\130\000\000\000\000\000\136\000\000\000\000\001t\000\161\000\000\000\000\000\148\000\000\000\000\000\153\000\152\000\000\000\149\000\000\000\147\000\000\000\000\000\000\000\151\000\000\000\150\003\005\003\004\000\000\000\000\000\141\000\000\000\000\000\146\000\145\000\000\000\142\000\000\000\140\000\000\000\000\000\000\000\144\000\000\000\143\000\000\000\155\000\000\000\000\000\160\000\159\000\000\000\156\000\000\000\163\000\000\001B\002\148\001A\000\000\000\164\000\000\000\162\000\135\000\000\000\154\000\000\000\169\000\000\000\000\000\000\000\158\000\000\000\000\000\000\002\251\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\166\000\000\003\002\000\000\000\000\000\000\003}\002^\000\000\003{\000\000\002x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003z\003|\002d\001=\002c\001;\001<\002b\002a\002`\002\\\000\000\000\000\002]\001\n\000\000\002_\000\000\003y\000\000\000c\001:\002?\000\000\000\000\002B\000\000\000\015\000\000\000\000\000\000\000\000\001\011\002[\002g\000[\000\021\000]\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\130\002 \000R\001\020\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\021\000\000\002E\001\022\000\014\000\016\000\000\000\000\000\191\000\000\000\000\000\178\000\000\000\000\000\183\000\182\000\000\000\179\000\000\000\177\000\000\000\000\000\000\000\181\000\000\000\180\000\000\000\000\000\171\000\000\000\000\000\176\000\175\000\000\000\172\000\000\000\170\000\000\000\000\000\000\000\174\000\000\000\173\000\000\000\185\000\000\000\000\000\190\000\189\000\000\000\186\000\000\000\193\000\000\000\000\000\194\000\000\000\192\000\000\000\184\000\000\000\199\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\138\000\000\000\000\000\000\000\000\000\000\000\000\002\007\000\207\000\000\000\000\000n\000o\002\006\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\213\000\000\001\234\000\000\000\000\000\000\000\000\000\206\000\204\000\219\000\000\001|\000\000\000\000\002\253\000\000\002\252\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\197\000\195\000\000\000\000\002\255\003\003\000\187\000\000\000\000\001\025\000\000\000\000\002@\002C\000\000\002A\002D\003`\003a\003_\000\000\002e\003^\000\000\002\127\000\000\000\000\002~\002}\002|\002{\002z\002v\000\000\000\000\002w\000\000\002y\000\000\000\000\000g\002M\000\000\000\000\002P\000\000\000\000\002S\000\000\000\000\002N\002Q\000\000\002O\002R\002\129\002u\003n\003o\003m\003l\000h\000\000\000\000\000W\000\000\000V\001\030\000\000\001\243\000\000\000\000\000\000\000\000\000\000\001\015\001\249\000\000\000\000\001\154\000U\0001\001\008\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\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\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\000\000\000\202\000\000\000\000\001\228\000\000\001\144\001\209\000\000\000\000\001\227\000\000\001\142\001\208\000\000\000\000\000d\000\000\002\128\000\000\000\000\003q\003p\000\000\001\244\000\000\000\000\003c\003b\000\000\000Q\000\203\000\000\001v\000\000\002\254\000\000\000\000\000\000\000\000\000\167\000\165\000\000\001\019\000\000\000\000\000\168\000\157\000\000\000\000\001_\000\000\001^\000\000\001l\000\000\001\132\000\000\000\000\000\000\0033\000\000\000\000\003&\000\000\000\000\003+\003*\000\000\003'\000\000\003%\000\000\000\000\000\000\003)\000\000\003(\000\000\000\000\003\031\000\000\000\000\003$\003#\000\000\003 \000\000\003\030\000\000\000\000\000\000\003\"\000\000\003!\000\000\003-\000\000\000\000\0032\0031\000\000\003.\000\000\0035\000\000\000\000\0036\000\000\0034\000\000\003,\000\000\003;\000\000\000\000\000\000\0030\000\000\000\000\003Z\000\000\000\000\000\000\000\000\003:\003/\000\000\003\\\000\000\000\247\003[\000\000\000\000\000\000\000\000\0038\000\000\000\000\000\000\000\000\0039\0037\000\000\000\000\003Q\000\000\000\000\003D\000\000\000\000\003I\003H\000\000\003E\000\000\003C\000\000\000\000\000\000\003G\000\000\003F\000\000\000\000\003=\000\000\000\000\003B\003A\000\000\003>\000\000\003<\000\000\000\000\000\000\003@\000\000\003?\000\000\003K\000\000\000\000\003P\003O\000\000\003L\000\000\003S\000\000\000\000\003T\000\000\003R\000\000\003J\000\000\003Y\000\000\000\000\000\000\003N\000\000\000\000\000\000\000\000\003X\003M\000\000\000\000\000\000\000\000\003V\000\000\000\000\000\000\000\000\003W\003U\002\247\002\249\002\250\002\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\133\000\000\000\000\000\000\000\000\002\140\000\000\000\000\002\139\002\138\002\137\002\136\002\135\001[\002\131\000\000\000\000\002\132\000\000\002\134\000\000\000\000\000i\002T\000\000\000\000\002W\000\000\000\000\002Z\000\000\000\000\002U\002X\000\000\002V\002Y\002\142\002\130\003u\003v\003t\003s\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\141\000\000\001\210\000X\000?\001\029\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003x\003w\000\000\002\238\000\000\002\237\000\000\000\000\000\000\000\000\003\132\000\000\000\000\000\000\003\133\000\000\000\018\000\000\000\000\000\000\003\128\000\000\001\156\000\000\000\000\000\000\000\220\002\228\001r\000\000\000\209\001q\001K\001J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\001\013\000\253\000\000\001\128\000\000\000\000\000\252\000\248\000\000\000\255\000\249\000\254\000\000\002\240\000\000\002\239\002\225\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\235\002\227\000\000\002\241\000\000\002\229\000\000\000\224\000\000\002\244\000\208\000\000\001M\000\000\000\000\000w\000\000\000\000\000\000\002k\000\000\000\000\000\000\002s\000\000\000\000\002r\000\000\003j\002q\002p\002o\002n\002m\002i\000\000\000\000\002j\000\000\002l\000\000\000\000\000\000\000\000\000\000\000e\002F\000\000\000\000\002I\000\000\000\000\002L\000\000\000\000\002G\002J\000\000\002H\002K\002t\002h\000f\003g\003h\003f\003e\003i\000\000\000\000\000\000\000\000\001\007\001\006\000\000\000\000\000\000\000\000\001Q\000\000\001\017\001N\000\000\001\005\001T\000\000\000\000\001U\000\000\000\000\001V\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\001W\000\000\001S\000\000\000\000\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001Z\001P\000\000\001O\000\000\000\240\000\000\002\204\000\000\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\246\000\000\000\000\000\000\000\000\000\000\000\000\001@\000\000\000\000\000\000\000\233\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\000\000\000\003\t\000\000\003\016\000\226\000\000\000\000\000\000\000\000\000\238\000\000\000\234\000\231\000\000\003\n\000\225\000\000\003\011\000\000\003\018\000\000\000\000\000\000\000\000\000\244\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\000\000\245\000\000\000\000\000\000\000\000\001?\000\000\000\000\000\000\000\232\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\239\000\000\000\235\000\222\000\221\000\000\003\019\003\020\000\000\003\021\000\000\003\022\000\000\001L\002\232\000\000\000\000\001\232\000\000\001\152\001\214\000\000\002\226\000\000\000\000\000\000\002\231\000\000\000\000\000\000\0013\000\000\001-\000\000\001.\000\000\0018\001,\0017\000\000\002\243\0019\000\000\000\227\000\000\000\000\000\000\000\000\0015\0010\001\229\000\000\0011\000\000\0012\000\000\001\146\001\211\000\000\000\000\000\000\001\239\000\000\001\237\000\000\000\000\001\241\001\235\000\000\001\242\001\236\000\000\002\245\001\245\000\000\000\223\000\000\000\000\001\230\000\000\001\148\001\212\000\000\003\129\000\000\003~\000\000\003\127\000\019\000\020\000\000\000\000\002\183\000\000\002\182\000\000\000\000\002\185\000\000\002\184\000\000\000\000\000\000\002\016\000\000\000\000\002\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\023\000\000\000\000\002\026\000\000\002\n\000\000\000\000\002\013\000\000\000\000\000\000\002\017\000\000\000\000\002\021\000\000\000\000\001\231\000\000\000\000\002\014\000\000\000\000\002\018\002\180\002\011\000\000\002\181\000\000\000\000\000\000\000\000\002\024\000\000\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\002\025\000\000\002\t\000\000\000\000\002\012\000\000\000\000\000\000\002\015\000\000\000\000\002\019\000\000\001\150\001\213\000\000\002\186\000\000\000\000\000\000\003\130\000\017\000u\000\000\003\131\000\000\000\000\002\200\000\000\000\000\002\246\000a\000\000\000\000\000\000\000b\000\000\002\236\000\000\001x\002\233\000\000\000\000\001e\000\000\001d\000\000\001m\000\000\001\138\000\000\000\000\000\000\001c\000\000\001b\000\000\001j\000\000\001\136\000\000\000\000\000\000\001g\000\000\001f\000\000\001k\000\000\001\140\000\000\000\000\000\000\001h\000\000\000\000\000\000\000\000\001a\000\000\001`\000\000\001n\000\000\001\134\000\000\000\000\000\000\001i\000\002\000\000\000N\000O\000\000\000\000\002\160\002\164\002\168\002\156\002\153\000\000\000\000\001\177\002\165\002\172\002\157\002\171\002\155\002\170\002\159\002\151\002\158\002\167\002\154\002\161\002\152\002\163\002\169\002\166\002\162\000\128\000\000\000\000\002\222\000\000\000\000\002\194\000\000\000\000\002\196\002\195\002\178\000\000\000\000\002\224\002\149\002\150\000\000\001\189\000M\001o\000\003\000\000\000\000\002\145\000\000\002\030\000\000\000\127\000\000\000\000\002\220\000\000\000\000\000\000\000y\000\000\000\000\002\208\000\000\002\003\002\002\001\172\002\176\000\000\001\205\000\000\002\146\000\000\000\000\000{\000\000\000\000\002\212\000\000\001\186\000\000\000\000\001\182\000\000\000\000\000\000\001\185\000\000\001\184\000\000\000\000\000\000\000\000\000\000\000\000\001\206\000\000\001\180\000\000\001\179\000\000\000v\000\000\000\000\002\202\000\000\000\000\001\176\000\000\000\000\000}\000\000\000\000\002\216\000\000\000\000\000\000\000z\000\000\000\000\002\210\000\000\001\255\001\254\001\168\002\174\000\000\001\192\000\000\000\000\000\000\001\188\000\000\001\194\000\000\000\000\001\183\000\000\000\000\001\190\000\000\000\000\001\191\000\000\000\000\000\000\000\000\000\000\000\000\001\207\000\000\001\181\000\000\001\251\000|\000\000\000\000\002\214\000\000\000\000\000\000\001D\000x\001C\000\000\000\000\002\206\000\000\001\253\001\252\001\166\002\173\000\000\000~\000\000\000\000\002\218\000\000\000\000\000\000\000\000\002\001\002\000\001\170\002\175\000\000\001\199\000\000\001\203\000\000\000\000\001\195\000\000\000\000\000\000\001\187\000\000\001\193\000\000\000\000\000\000\000\000\001\175\000\000\000\000\001\202\000\000\001\201\000\000\000\000\000\000\000\000\001\198\000\000\000\000\001\197\000\000\001\196\000\000\000\000\000\000\000\000\001\200\000\000\001\204\000\000\000\000\001p\000\004\000\000\001\178\000\005\000\000\000\000\001!\000\006\000\000\001\218\001\219\001\217\000\000\001\216\003\006\001\162\000\000\000\007\000\000\001\221\001\222\001\220\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\012\003\025\000\000\003\013\000\000\003\014\000\000\000\000\003\007\000\000\000\000\000\000\000\000\003\024\000\000\000\000\003\023\001\226\001\225\000\000\000\000\001\164\001\215\001\223\000\000\000\000\000\000\000\000\002\005\000\000\000\000\000l\000m\002\004\000\000\000\000\000\000\000\216\000\000\001z\000\000\000\000\000\215\000\211\000\000\000\000\000\000\000\000\001>\000\000\003\028\000\000\003\029\000\000\000\000\001\248\001\246\000\000\001\247\000\008\000\000\000\t\000\000\002/\0020\002.\000\000\002-\000\000\000\n\000\000\0022\0023\0021\000\000\0025\000\000\000\000\000\000\002'\000\000\000\000\002)\000\000\002#\000\000\002%\000\000\002*\000\000\002+\000\000\002$\002\"\0026\001\174\002,\000\000\0028\000\000\0027\000\000\0029\000\000\002\179\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\002=\000\000\002<\000\000\002;\001\000\000\000\000\000\000\000\000\000\001\001\002>\000\000\000\000\002\190\000\000\000\000\000\000\002\191\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\002\198\000k\000\000\000\000\001\t\000\000\001\027\001\026\000\000\001]\000\000\002\189\001\160\001\158\000\000\000\000\000\000\002\192\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\188\000\000\000\000\000\000\000\000\000\000\000\000\002\187\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\193")
let error =
- (173, "\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\128\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\1280\128\000\016\204\008\192 \008\002\000\004\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\011\244p\001\000a\000\001!\152\017\128@\016\004 \008\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\002u\012\000@\024@\000Hf\004`\016\004\001\008\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\163\128\008\003\008\000\t\012\192\140\002\000\128!\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\019\168`\002\000\194\000\002C0#\000\128 \008@\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\161\128\008\003\008\000\t\012\192\140\002\000\128!\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\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\181^\000\016\002\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\002U\012\000@\024@\000Lf\004`\016\004\001\008\002\000\000&C\023\173W\128\004\000\128\000\004\016\016\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\016\008\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\128\000\128H\008\192 \000\002\016\004\000\000L\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\030\181^\000\144\002\000\000\016@@\000\000\000\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\004\016\016\000\000\000\000\008\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\235U\224\001\000 \000\001\004\004\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\030\181^\000\016\002\000\000\016@@\000\000\000\000 \000\004\000\000\008\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000 \000\008\128\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\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\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\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@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\004 \016@\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130z\213x\000T\136\000\144h\021\006v\128\000\132\128@\016\001\008\004\019\214\171\192\002\164@\004\131@\1683\180\000\004$\002\000\128\008@ \128\000\000\000\005 \000$\026\005\001\157\160\000! \016\000\000B\001\004\245\170\240\000\169\016\001 \208*\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\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\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\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@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\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\002@\000\136\1936Y,\000\000P\004\008\000\003\186\002'\135p\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001R \002A\160T\025\250\000\002\018\001\000@\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\001 \000@ \131\000\150\000\000(\000\000\000\001\217\000\019C\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000H\000\017\008&\194%\128\000\n\000\128\000\000v@\004\240\238\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017\008&\194%\128\000\n\000\128\000\000f@\004\240n\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\018\000\004B\t\176\137`\000\002\128 \000\000\025\144\001<\027\128\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\006d\000O\006\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\001 \000D \155\008\150\000\000(\002\000\000\001\153\000\019\193\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\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@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\006d\000O\006\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\001 \000D \155\008\150\000\000(\002\000\000\001\153\000\019\193\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000H\000\017\008&\194%\128\000\n\000\128\000\000f@\004\240n\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\018\000\004B\t\176\137`\000\002\128 \000\000\025\144\001<\027\128\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\006d\000O\006\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\003\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\000\000\001 \000D \155\008\150\000\000(\002\000\000\001\153\000\019\193\184\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000H\000\017\008&\194%\128\000\n\000\128\000\000f@\004\240n\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\018\000\004B\t\176\137`\000\002\128 \000\000\025\144\001<\027\128\000\000\000\n@\000H4\n\003;@\000B@ \008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\144h\020\006v\128\000\132\128@\016\001\008\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\016\000\000@\024\000\000\008d\000\000\000\004\001\000\002\000\000&@\016\018\168`\002\000\194\000\002C0#\000\128 \008@\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\173V\128\004\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\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\004\001\132\000\000\134@F\001\000@\016\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\136\000\030\181^\000\021\"\000$\026\005A\159\160\000! \016\004\000B\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\001H\000\t\006\129@gh\000\008H\004\001\000\016\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\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001H\000\t\006\129@gh\000\008H\004\000\000\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\000\001H\000\t\006\129@gh\000\008H\004\001\000\016\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\000R\000\002A\160P\025\218\000\002\018\001\000\000\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\020\128\000\144h\020\006v\128\000\132\128@\000\001\008\004\016\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004D\008\178I@\000\002\000 @\000\013P\017\012#\128\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\015Z\175\000\n\145\000\018\013\002\160\207\208\000\016\144\008\002\000! \130\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\005 \000$\026\005\001\157\160\000! \016\004\000B\001\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\209\000\016\1948\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\016\000\000\128\000\000\000\000\016\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \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\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\016\002,\002P\000\000\128\008\000\000\002D\000C\000\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\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\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\004\128\001\016\002,\002P\000\000\128\008\000\000\002D\000C\000\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\1280\002\016\008 \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\n@\000H4\n\003;@\000B@ \000\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000\t\016\001\012\003\128\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\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\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@\000z\213x\000@\008\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\128\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\128\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\021\"\000$\026\005A\157\160\000! \016\004\000B\001\004\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\000z\213x\000T\136\000\144h\021\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\128\000\000\000\000\000\000\000\008\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\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\002E\012\000\000\000@\000@$\004`\016\000\001\008\002\000\000&\003\016\018(`\000\000\002\000\002\000 #\000\128\000\008@\016\000\0010\024\128\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\004\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\001\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000\016\000F\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\000D\000\015Z\175\000\008\001\000\000\008\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\001\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\128\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\000\000\008\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\017\000\003\214\171\192\002\000@\000\002\000\008\192\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\002\000\000\000\008\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\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\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\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\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\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\173W\128\004\000\128\000\004\016\016\000\000\000\000\008\000\000\000\000\002\000=j\188\000 \004\000\000 \128\128\000\000\000\000@\000\008\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\004\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\014\181Z\000\016\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\001\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%P\192\004\001\132\000\004\198`F\001\000@\016\128 \000\002d1z\213x\000@\008\000\000A\001\000\000\000\000\000\128\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\001z\213x\000@\008\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\181^\000\016\002\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\128\000\000\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\008\000\000\000\000\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\245\252\016\\\137\000\128c\021\199w\132\001\158\160\192\0025\136\020\016\t\0200\000\000\000\000\001\000\128\017\128\000\000\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\000\000\008\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\021\002\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\168\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\235U\160\001\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\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\136\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\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\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\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\008\000\000\000\000\000\000\000\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\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\003\255\175\224\130\228H\004\131P\174;\188 \012\245\006\000\145\236a\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\001\000\192(\012\237\000\003\t\000\128\000\002\016\008 \000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A=j\188\000*D\000H4\n\131;@\000B@ \008\000\132\002\008\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\001\000\000\000\000\000\000\164\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\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\001H\000\008\006\001@gh\000\024H\004\000\000\016\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\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000\000\002\144\000\016\012\002\128\206\208\0000\144\008\000\000!\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\000H\000\017\024&\203%\128\000\n\000\129\000\000u@@\160\238\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=j\188\000*D\000H4\n\131?@\000B@ \008\000\132\130\008\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\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\004\016\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\016\130l\"X\000\000\160\008\000\000\007D\000\n\014\224\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\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\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136A6\017,\000\000P\004\000\000\003\"\000\005\003p\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\000\012\136\000\020\013\192\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\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\001H\000\008\006\001@gh\000\024H\004\000\000\016\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\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\000\012\136\000\020\013\192\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\002@\000\136A6\017,\000\000P\004\000\000\003\"\000\005\003p\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\024\001\008\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\005 \000 \024\005\001\157\160\000a \016\000\000B\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\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\000\012\136\000\020\013\222\181^\000\021\"\000$\026\005A\157\160\000! \016\004\000B\001\004\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\000R\000\130A\160P\025\218\000\002\018\001\000@\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\031\253\127\007\151\"@ \024\197q\221\225\000g\1680\000\141b\005\004\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\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\132\128@\016\001\008\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\004\000\000\000\001\000\000\000\000\000\000\002\008\128\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?\250\254\008.D\128@1\n\227\187\194\000\207P`\001\026\196\n\t\255\215\240Ar$\002A\168_\029\222\016\006z\131\000H\214(PO\254\191\131\203\145 \016\012b\184\238\240\1283\212\024\000F\177\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\242\228H\004\003\024\190;\188`\012\245&\008\017\236q\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\018\001\000\198+\142\239\008\003=A\128\004k\016('\255_\193\005\200\144\t\006\161|wx@\025\234\012\001#X\161A?\250\254\008.D\128H5\n\227\187\194\000\207P`\t\026\196\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002#\004\217d\176\000\001@\016 \000\014\232\008\148\029\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\018\013\002\128\206\208\000\016\144\008\002\000!\000\130\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\128\228\008\004\003\016\162;\180 \012\245\006\000\017\140@\160\128\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\005\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\144\004\018\013\002\128\206\208\000\016\144\008\002\000!\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\164\001\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\008\014@\128@1\n#\187B\000\207P`\001\024\196\n\008\000\000\000@r\004\002\001\136Q\029\218\016\006z\131\000\008\198 P@\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\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\008\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\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\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\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002A\160P\025\218\000\002\018\001\000@\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\000H\000\016\024 \201%\128\000\008\000\001\000\0003@D\128\140\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\t\006\129Pg\232\000\008H\004\001\000\016\144A\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@r\004\002\001\136Q\029\218\016\006z\131\000\008\198 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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128H5\n\227\187\194\000\207P`\t\026\196\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\195\203\145 \016\012b\248\238\241\1283\212\152 G\177\198\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\000\000\000\000\000\000\000\000\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\007\173W\128\004\000\128\000\004\000\016\000\000\000\000\008\000\000\000\000\000\000\000\145C\000\000\000\000\000\016\008\001\024\000\000\000B\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\015Z\175\000\008\001\000\000\008\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\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\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\016\000\000\000\000\000\000\000\000\000\000 \000\008\000\000\000\000\000\000R\000\002A\168P\027\218\000\002\018\001\000@\004 \016@\000\000\000\002\144\000\016\012\194\128\206\208\0000\144\008\n\128!\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\164\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\005 \000$\026\005\001\157\160\000! \016\004\000B\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000*D\000H4\n\131;@\000B@ \008\000\132\002\008\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\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\000\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\000\000\164\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\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\192(\012\237\000\003\t\000\128\000\002\016\008 \000\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@\000@0\n\003;@\000\194@ \000\000\132\002\008\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016OZ\175\000\n\145\000\018\013\002\160\206\208\000\016\144\008\002\000!\000\130\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\164\000\004\003\000\1603\180\000\012$\002\000\000\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\0082I@\000\002\000\000@\000\008P\017\000\003\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\015Z\175\000\n\145\000\018\013\002\160\207\208\000\016\144\008\002\000! \130\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\005 \000$\026\005\001\157\160\000! \016\004\000B\001\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\004\131@\1603\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128 \002\016\008 \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\002\144\000\016\012\194\128\206\208\0000\144\008\n\128!\004\130\000\000\000\002\020\128\000\128f\020\006v\128\001\132\128@T\001\008$\016\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\005 \000$\026\133\001\189\160\000! \016\004\000B\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\204(\012\237\000\003\t\000\128\136\002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\002\001\152P\025\218\000\006\018\001\001\016\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\004\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\002\000\000\128\001\006\001(\000\000@\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\000@\128\008\000\024\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\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\001H\000\008\006\001@gh\000\024H\004\000\000\016\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\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\000@\128\008\000\024\000\000\000\000R\000\002\001\128P\025\218\000\006\018\001\000\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\132\128@\000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000a \016\000\000B\001\004\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024H\004\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\000@\128\008\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\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\128\000\000\000\000\000\005 \000 \025\133\001\157\160\000a \016\021\000B\t\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\001H\000\008\006a@gh\000\024H\004\005@\016\130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000R\000\002\001\152P\025\218\000\006\018\001\001P\004 \144@\000\000\000\002\144\000\016\012\194\128\206\208\0000\144\008\008\128!\004\130\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\164\000\004\0030\1603\180\000\012$\002\002\160\008A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\008\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000 \000\140\000\000\000\000\000\000\008\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\004\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\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\000\004\131P\1607\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000#\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000 \000\008\000\000\000\000\000\000\000\000\128\000\144\000\000\000\000\000\000\000\001\000\000@\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000@\008\000\000@\001\024\000\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\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\001\000\000\000\000\000\000\n@\000H5\n\003{@\000B@ \008\000\132\002\008\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\014\181Z\000\016\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\001\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\004\000\001\000\000\000\000\000\000\n@\000H5\n\003{@\000B@ \008\000\132\002\008\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\031\253\127\004\023\"@ \024\197q\221\227\000g\1680\000\141b\005\004\000\000\000\000\000\000\000 \016\000\000\000\016\000\000\000\002 \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?\250\254\008.D\128@1\138\227\187\198\000\207P`\129\026\196\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000D`\155,\150\000 (\002\004\128\001\221\001\002\131\184\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\000\000\128\000\000\000\000\000\005 \000$\026\133\001\189\160\000! \016\004\000B\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000 \000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000 \000\140\000\000\000\000\000\000\008\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\004\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\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\000\004\131P\1607\180\000\004$\002\000\128\008@ \128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\128\000\000\000\017\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\015\254\191\130\011\145 \018\013B\184\238\241\1283\212\024\"F\177\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\130\228H\004\003\024\174;\188`\012\245\006\008\017\172@\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@\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\t\006\129Pg\232\000\008H\004\001\000\016\144A\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\0020\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\002\000\000\000\000\000\000\020\128\000\144j\020\006\246\128\000\132\128@\016\001\008\004\016\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\029j\180\000 \004\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\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\002\000\000\000\000\000\000\020\128\000\144j\020\006\246\128\000\132\128@\016\001\008\004\016\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\015\254\191\130\011\145 \018\013B\184\238\241\1283\212\024\"F\177\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\002\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\007\255_\193\005\200\144\t\006\161\\wx\192\025\234\012\001#X\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\128\000\000\000\008\192 \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\016\000\000\000\000\000\000\000\000\000\016\000\000\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\016\000\031\253\255\132\023#@&\026\133\241\221\227\000\231\1690L\143c\173f\000\000\000 9\002\001\000\196(\142\237\008\003=A\128\004c\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128@1\139\227\187\194\000\207P`\001\030\199\026\008\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\000@\000\000\000\015\254\191\130\011\145 \016\012b\248\238\240\1283\212\024\000G\177\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\000\000\000\000\001\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\255\235\248 \185\018\001 \212/\142\239\008\003=A\128${\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128H5\011\227\187\194\000\207P`\t\030\199\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\008\000\015\254\191\130\011\145 \016\012b\248\238\240\1283\212\024\000F\177B\130\000\000\000\000\000\000\000\016\008\002\000\000\000\000\000\000\000\016\000\002\000\003\255\175\224\130\228H\004\003\024\190;\188 \012\245\006\000\017\172P\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\016\008\004\001\000\000\000\000\000\000\000\008\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\254\191\130\011\145 \018\013B\248\238\240\1283\212\024\002F\177B\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\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\000\002\000\000\000 #\000\000\000\008\000\000\000\000 \000\000\000\000\000\000\002\000\012\004\000\000\000\000\001\000\000\000\008\000\000@\005\255\215\240Ar$\002\001\140W\029\222\016\006z\131\000\008\214 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\004 \024\008\000\000\000\000\002\000\000\000\016\000\000\128\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023#@&\026\133q\221\225\000\231\1680\004\141b%\006\255\235\248 \185\018\001\000\198+\142\239\008\003=A\128\004k\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\215\240Ar4\002a\168W\029\222\016\014z\131\000H\214\"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\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\008\000\015\254\191\130\011\145 \018\013B\248\238\240\1283\212\024\002F\177B\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\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\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\128@ \000\000\000 \000\000\000\000@\000\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\245\252\016\\\137\000\144j\021\199w\140\001\158\160\192\0185\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191_\192\005H\144\008\006\001Pgx\000\024H\004\000\000X\129A\000\000\000\000\n@\016H4\n\003;@\000B@ \008\000\132\002\008\000\000\000\000\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\003\223\175\224\002\164H\004\003\000\1683\188\000\012$\002\000\000,@\160\128\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\235U\224\001\000 \000\001\000\004\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\005 \000$\026\133\001\189\160\000! \016\004\000B\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000\016\000F\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\002\000\000\000\000\000\000\000\002\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\000R\000\002A\168P\027\218\000\002\018\001\000@\004 \016@\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\017\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\008\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\001H\000\t\006\161@oh\000\008H\004\001\000\016\128A\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\007Z\173\000\008\001\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\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\001 \212(\013\237\000\001\t\000\128 \002\016\008 \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\008\000\000\000\000\000\000\000\000\000\008\000\015~\191\128\n\145 \016\012\002\160\206\240\0000\144\008\000\000\177\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\t\000\002\003\004\025$\176\001\001\000\000$\000\006(\008\016\017\128\000\000\000\000\000\008\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\001H\000\t\006\161@oh\000\008H\004\001\000\016\128A\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\001\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\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\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\000 \000\001\000\004`\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\005 \000$\026\133\001\189\160\000! \016\004\000B\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\000T\136\000\144h\021\006~\128\000\132\128@\016\001\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\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\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\020\128\000\144j\020\006\246\128\000\132\128@\016\001\008\004\016\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\000u\170\208\000\128\016\000\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\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\002\144\000\018\013B\128\222\208\000\016\144\008\002\000!\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\128\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\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\004\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\128\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\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\001\000\000\000\000\000\000\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\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\031\253\127\004\023\"@ \024\197q\221\225\000g\1680\000\141b\005\004\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\000R\000\002A\160P\025\218\000\002\018\001\000@\004 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\127\245\252\016\\\137\000\144j\021\199w\132\001\158\160\192\018=\1404\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016\\\137\000\128c\021\199w\132\001\158\160\192\0025\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023\"@ \024\197q\221\225\000g\1680\000\141b\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\128\000\000\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\008\000\000\000\000\000\000\000 \000\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\128\000\144h\020\006v\128\000\132\128@\000\001\008\004\016\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000@\000\000\000\005 \000$\026\005\001\157\160\000! \016\000\000B\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\001H\000\t\006\129@gh\000\008H\004\000\000\016\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\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\007 @ \024\133\017\221\161\000g\1680\000\140b\005\004\000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\016\000\000\001\001\200\016\008\006!Dwh@\025\234\012\000#\024\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@r\004\002\001\136Q\029\218\016\006z\131\000\008\198 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\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\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\128\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\001H\000\t\006\129@gh\000\008H\004\000\000\016\128A\000\000\000\000\000\002\000\000\000\000\000\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\127\245\252\000@\008\000\000@\001\000\001\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\255\235\248\000\128\016\000\000\128\002\000\002\000\000\001\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\000 \004\000\000 \000\128\000\128\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\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\016\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\t\000\128\000\002\016\008 \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\000z\213x@\225\008\137 B\001\000\000\018\000!J\t\000\002`\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\002\000\128\000\000\002\000\000\000\000\000\008\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\128\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\008\000\000\000 \000\000\128 \000\000\000\128\000\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\016\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\181^\0008B\"\008\016\128@\000\004\128\008R\002@\000\152\000\000\245\170\240\001\194\016\000@\132\002\000\000$\000B\144\018\000\004\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\004\000\000\016\004\002\000\000\016\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\000\000\004\001\000\000\000\004\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\002\000\000\000\000\000\000\000\128\000\000\002\000\000\008\002\000\000\000\008\000\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\004\000\000\000\000\000\000\001\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\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\030\181^\0008B \008\016\128@\000\004\128\008R\002@\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\014\016\128\002\004 \016\000\001 \002\020\128\144\000\"\000\000\000\004\000\000\016\004\000\000\000\016\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\008\000\000\000\000\000\000\002\000\000\000\008\000\000 \008\000\000\000 \000\000\000\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\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\128\000\002\000\128\000\000\002\000\000\000\000\000\008\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\001\000\000\004\001\000\000\000\004\000\000\000\000\000\016\000 \000\000\000\000\000\008\000\000 \008\000\000\000 \000\000@\000\000\128\001\000\000\016\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\128\000\000\000\000\000\000\000\000\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\016\004\000\000\000\016\000\000\000\000\000@\000\128\000\000\000\000\000 \000\000\128 \000\000\016\128\000\001\000\000\002\000\004\000\000@\000\000\001\000\000\004\001\000\000\000\004\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\001\000@\000\000\001\000\000\000\000\000\004\000\008\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\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\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\000z\213x\000@\008\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\004\008\000\245\170\240\000\128\016\000\000\128\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\128 \000\000\016\192\000\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\000H\000\000\000\000\000\000\000@\000\001\000@\000\000\001\000\000\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\002\000\128\000\000\002\000\000\000\000\000\008\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\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\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\128\000\000\000\000\000\000\000\000\000C\000\000\004\008 \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\002\000\128\000\000\002\000\000\000\000\000\008\000\016\000\000\000\000\000\004\000\000\016\004\000\000\000P\000\000 \000\000@\000\128\000\008\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\002\000\000\008\002\000\000\000\008\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\004\000\000\016\004\000\000\000\016\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000 \008\000\000\000 \000\000\000\000\000\128\001\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\016\000\000@\016\000\000\000`\000\000\000\000\001\000\002\000\000\000\000\000\000\128\000\002\000\128\000\000J\000\000\004\000\000\008\000\016\000\001\000\000\000\004\000\000\016\004\000\000\000\016\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\001\000\000\001\000\000\004\001\000\000\000\004\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\008\000\000\000 \000\000\128 \000\000\000\128\000\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\128\000\000@\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\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@\128\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\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\128 \000\000\000\128\000\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\016\000\000\000@\000\001\000@\000\000\001\000\000\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\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\004\001\000\000\000\004\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\002\000\000\008\002\000\000\000\008\000\000\000\000\000 \000@\000\000\000\000\000\016\000\000@\016\000\000\001@\000\000\128\000\001\000\002\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\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\000z\221x\000`\008\000\000B!\000\000\000\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\000\000\000 \000\000\000\000\000\000\000\016\000\000@\016\000\000\001`\000\000\128\000\001\000\002\000\000 \000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\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\016\000\000\000\000\000\000\245\186\240\000\192\016\000\000\132b\000\000\000\000\001\000\002\000\000\000\000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\008\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\001\000\000\004\001\000\000\000\004\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\016\000\000\000\000\000\000\000\000\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\002\000\128\000\000B\000\000\000\000\000\008\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\128\000\000\000\000\002\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\008\028!\017$\008@ \000\002@\004)A \000L\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\005 \000$\026\007\001\157\160\000! \016\004\000B\001\004\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\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\005 \000$\026\005\001\157\160\000! \016\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\003\016\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\000\018\013\002\128\206\208\000\016\144\008\000\000!\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\130\000\000\000\000\000\005 \000$\026\005\001\157\160\000! \016\000\000B\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\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\031\253\255\132\023\"@$\030\135q\221\225\000g\1690D\141b\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\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\127\247\254\016\\\137\000\144z\021\199w\132\001\158\164\193\0185\136\021\153\223\191p\002\000@\000\000\000\008\000\000\000\000\000 \000\000\000\000\000\000H\161\128\000\000\000\000\000\004\000\000\000\000\000\001\000\000\000\000\000\000w\239\220\000\128\016\000\000\000\002\000\000\000\000\000\008\000\000\000\000\000\003\191~\224\004\000\128\000\000\000\016\000\000\000\000\000@\000\000\000\000\000\000\145C\000\000\000\000\000\000\008\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\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\t\0200\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\002E\012\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\253\127\007\151\"@ \024\197q\221\225\000g\1680\000\141b\005\004\255\235\248 \185\018\001\000\198+\142\239\008\003=A\128\004k\016( \000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.D\128@1\138\227\187\194\000\207P`\129\026\196\n\204\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\004@\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\001\000\128@\000\000\000\000\000\000\000\008\128\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\018\001 \212+\142\239\008\003=A\130$k\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\n@\000@3\n\003;@\000\194@ *\000\132\002\008\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\127\245\252\030\\\137\000\128c\021\199w\132\001\158\160\192\0025\136\020\019\255\175\224\130\228H\004\003\024\174;\188 \012\245\006\000\017\172@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\255\235\248 \185\018\001\000\198+\142\239\008\003=A\130\004k\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\015.D\128@1\138\227\187\194\000\207P`\001\026\196\n\t\255\215\240Ar$\002\001\140W\029\222\016\006z\131\000\008\214 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\000\000\000\000\000\000\000\000\000\000\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\253\255\128\016\002\000\000\016\000@\000\000\000\000!\000\000\000\000\000\000\002E\012\000\000\000\000\000@\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\000\128\0020\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\008\128\001\235U\224\001\000 \000\001\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\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\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\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\000\030\181^\000\016\002\000\000\016\000F\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\128\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145 \018\013B\184\238\240\1283\212\024\002F\177\006\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\000H\161\128\000\000\000\000\008\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\002 \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?\250\254\008.D\128H5\n\227\187\194\000\207P`\137\026\196\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\000\000\000\004\000\000\000\000F\000\000\000\016\000 \000\000\0001\000\000\000\000\000 \016\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\000R\000\002A\160p\025\218\000\002\018\001\000@\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\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\001H\000\t\006\129@gh\000\008H\004\001\000\016\128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\194\011\145 \018\015C\184\238\240\1283\212\152\"F\177\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\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?\251\255\008.D\128H=\n\227\187\194\000\207R`\137\026\196\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\194\011\145 \016\012b\184\238\240\1283\212\152 F\177\002\179\000\000\000\000\000\000\000\016\008\000\000\000\000\000\000\000\001\016\000\000\001\139\255\191\240\130\228H\004\003\024\174;\188 \012\245&\008\017\172@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\239\252 \185\018\001 \212+\142\239\008\003=I\130$k\016+7\255\127\225\005\200\144\008\0061\\wx@\025\234L\016#X\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\128@ \000\000\000\000\000\000\000\004@\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\\\137\000\144j\021\199w\132\001\158\164\193\0185\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\023\"@$\026\133q\221\225\000g\1690D\141b\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\005\200\144\t\006\161\\wx@\025\234L\017#X\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\005\200\144\t\006\161\\wx@\025\234L\017#X\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\128@ \000\000\000\000\000\000\000\004@\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\\\137\000\144j\021\199w\132\001\158\164\193\0185\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\008\000\000\000\000\140\000\000\000 \000@\000\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\128\t\000\000\000\000\000\000\000\000 H\158\000`\000\000@\000\000\000\000\000\000\000\000\000\000\000\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\128\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\002\000\000\008\016\000\000\000\000\000\000\000\128\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\128\000\002\004\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\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\016\002\000\000\000\000\000\004\000\000\016 \000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\004\000\008\000\008\000\000\000\000\000\000\000\0040\002\000\004\002\128\000\000\000\000\001\000\000\004\008\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\128\000\128\000\000\000\000\000\000\000C\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\004\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\016\000\000\000\000\000\000\000\000\000\008\224\006\000\000\004\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\016\000 \000\000\000\000\000\000\000\000\000\016\192\012\000\000\008\000\000\000\000\128\001\000\000\000\000\000\000\000\000\000\000\134\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\016\002\000\016\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\004\000\000\000\000\000\000\000\000\000\002\024\001\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\0040\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\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\004\000\008\000\000\000\000\000\000\000\000\000\004p\003\000\000\002\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000!\128\024\000\000\016\000\000\000\001\000\002\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000\128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\008`\004\000\000\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000C\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\008\000\000\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\008\000\000\000\000\000\000\000\000\000\0040\003\000\000\002\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000!\128\016\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000\128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\008`\000\000\000\004\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\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")
+ (173, "\000\000\000\001\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\001\128\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\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\008\000\000\000\000\000\000\000\000\000\000\128\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\007\240\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\008\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 %P\208\020!\170\008\t\012\192\140\006\128\136w\130@\000\142d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\163\128\000\003\016\000\016\001\129\024\004\001\000B\000\000\000\004\200b\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\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\153C\000\000\002 \000 \018\0020\008\002\000\132\000\000\000\t\144\196\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\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\004\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$P\192\000\000\136\000\008\004\128\140\002\000\128!\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\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\000\000\000\000\000\000\000\000\000\000\000\000\000\187G\000\000\006 \000 \003\0020\008\002\000\132\000\000\000\t\144\196\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\0012\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\018(`\000\000D\000\004\002@F\001\000@\016\128\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\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\001\016\000\016\t\001\024\004\001\000B\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\018(`\000\000D\000\004\002@F\001\000@\016\128\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\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\0012\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\018(`\000\000D\000\004\002@F\001\000@\016\128\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\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\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\018(`\000\000D\000\004\002@F\001\000@\016\128\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\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\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\004\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$P\192\000\000\136\000\008\004\128\140\002\000\128!\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\003\214\171\192\002\000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\001\016\000\017\t\001\024\004\001\000B\000\000\000\004\200b\245\170\240\000\128\016\000\001\004\004\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=j\188\001 \004\000\000A\001\000\000\000\000\000\128\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\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\001\000\000\000\000\000\000\003\214\171\192\002\000@\000\004\016\016\000\000\000\000\008\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\018(`\000\000D\000\004\002@F\001\000@\016\128\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\001\235U\224\001\000 \000\002\008\008\000\000\000\000\004\000\000\128\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\001\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\004\000\000\136\000\000\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\017\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\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\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\164\000\t\006\129@gh\000\008H\004\000\000\016@ \128\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008'\173W\128\005H\128\018\013\002\160\206\208\000\016\144\008\002\000 \128A=j\188\000*D\000\144h\021\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016OZ\175\000\n\145\000$\026\005A\157\160\000! \016\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\002\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\002\144\000$\026\005\001\157\160\000! \016\004\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\164\000\t\006\129@gh\000\008H\004\001\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\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\008\152&\203%\128\000\n\000\129\000\0007@Bxw\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\030\181^\000\021\"\000H4\n\131?@\000B@ \008\000\130A\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\018\000\004\004\016`\018\192\000\005\000\000\000\000\027 \0014;\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\006\200\000O\014\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\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\004\128\001\017\004\216D\176\000\001@\016\000\000\004\200\000O\006\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\0012\000\019\193\184\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000L\128\004\240n\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\019 \001<\027\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\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\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000L\128\004\240n\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\019 \001<\027\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\200\000O\006\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\0012\000\019\193\184\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000L\128\004\240n\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000`\004\016\008 \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\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\019 \001<\027\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\200\000O\006\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\0012\000\019\193\184\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\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\001H\000\018\013\002\128\206\208\000\016\144\008\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\173V\128\004\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\002 \000 \018\0020\008\002\000\132\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\n\129\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\004@\000@$\004`\016\004\001\008\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\000L\161\128\000\001\016\000\016\t\001\024\004\001\000B\000\000\000\004\200b\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\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\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\001\"\134\000\000\004@\000@$\004`\016\004\001\008\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\002\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\018(`\000\000D\000\004\002@F\001\000@\016\128\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\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\000T\008\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\002e\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\018(`\000\000D\000\004\002@F\001\000@\016\128\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$P\192\000\000\136\000\008\004\128\140\002\000\128!\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\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\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\145C\000\000\002 \000 \018\0020\008\002\000\132\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$P\192\000\000\136\000\008\004\128\140\002\000\128!\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\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\002e\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\018(`\000\000D\000\004\002@F\001\000@\016\128\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$P\192\000\000\136\000\008\004\128\140\002\000\128!\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\t\0200\000\000\"\000\002\001 #\000\128 \008@\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\128\000\000\002\000\000\000\000\000\000\000\018(`\000\000D\000\004\002@F\001\000@\016\128\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\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\001\"\134\000\000\004@\000@$\004`\016\004\001\008\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\000H\161\128\000\001\016\000\016\t\001\024\004\001\000B\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\128\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\138\024\000\000\017\000\001\000\144\017\128@\016\004 \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\001\"\134\000\000\004@\000D$\004`\016\004\001\008\000\000\000\019!\139\214\171\192\002\000@\000\004\016\016\000\000\000\000\008\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\008\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\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=j\188\000 \004\000\000A\001\000\000\000\000\000\128\000\000\000\000\016\001\235U\224\001\000 \000\002\008\008\000\000\000\000\004\000\000\128\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\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\016\000\000\000@\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000@\001\024\000\000\000\000\000\000\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\000\000\000\017\000\003\214\171\192\002\000@\000\004\000\017\128\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\001\000\000\001\000\000\000\004\000\000\000\000D\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\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000 \000\140\000\000\000\000\000\000\008\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\173W\128\004\000\128\000\008\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\008\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\001\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007Z\173\000\008\001\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\001\000\000\000\000\000\000\003\214\171\192\002\000@\000\004\016\016\000\000\000\000\008\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\008\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\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\145C\000\000\002 \000\"\018\0020\008\002\000\132\000\000\000\t\144\197\235U\224\001\000 \000\002\008\008\000\000\000\000\004\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\001\"\134\000\000\004@\000@$\004`\016\004\001\008\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\000\000\000\000\000\000\000\128\000\000\002\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\017\000\003\214\171\192\002\164@\t\006\129Pg\232\000\008H\004\001\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\002A\160P\025\218\000\002\018\001\000@\004\016\008 \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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002A\160P\025\218\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\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@\000\144h\020\006v\128\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\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\002@\000\137\002,\146P\000\000\128\008\016\000\003T\004\001\004p\000\000\000\000\000\000\000\000\000\000\004\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\001\235U\224\001R \004\131@\1683\244\000\004$\002\000\128\008$\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\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\000\t\006\129@gh\000\008H\004\001\000\016@ \128\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\008\128\"\192%\000\000\008\000\128\000\0004@\000\016G\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128 \002\008\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\005 \000H4\n\003;@\000B@ \008\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\002\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\002\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000B@ \008\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\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000\000\000\000\000\002\000\000\000\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\144\000\"\000\139\000\148\000\000 \002\000\000\000\145\000\000@\028\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000$\000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\002@\000\136\002,\002P\000\000\128\008\000\000\002D\000\001\000p\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\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\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\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\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\002@\000\136\002,\002P\000\000\128\008\000\000\002D\000\001\000p\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\000\000 \128A\000\000\000\144\000\"\000\139\000\148\000\000 \002\000\000\000\145\000\000@\028\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000$\000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \012\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\001H\000\018\013\002\128\206\208\000\016\144\008\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\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000$\000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\002@\000\136\002,\002P\000\000\128\008\000\000\002D\000\001\000p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\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\008\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\016\000\000\000\000\000\000\000\000\000\008\000\015Z\175\000\008\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\214\171\192\002\164@\t\006\129Pgh\000\008H\004\001\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\n\145\000$\026\005A\157\160\000! \016\004\000A\000\130\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000H\161\128\000\001\016\000\017\t\001\024\004\001\000B\000\000\000\004\200b\245\170\240\000\128\016\000\001\004\004\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\002\000\000\145C\000\000\002 \000 \018\0020\008\002\000\132\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\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\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000/Z\175\000\008\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\003\214\171\192\002\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\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\002\000\000\000\000\000\000\000\002\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\015\254\191\130\011\145@ \024\197q\221\225\000g\1680\000\141Q\002\130z\213x\000@\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\168\016\000\000\016\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\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\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\001\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\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\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\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\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\005@\128\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\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\020!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\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\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\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\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\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\001B\018 \128\016\196\000\000H\000\135h$\000\008\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\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\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\020!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\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\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\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\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\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\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\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\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\008\000 \000\000\000\000\000\000\000\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\001\000\016\020!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000@\008\000\000\130\002\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\001\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\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\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\245\170\240\000\128\016\000\001\004\004\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\002\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\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\020!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000@\008\000\000\130\002\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\001\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\029j\180\000 \004\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\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\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\020!\"\008\001\012@\000\004\128\008v\130@\000\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@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\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\020!\"\008\001\012@\000\004\128\008v\130@\000\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\002\160@\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\001\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\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\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\128\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 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\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\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\001\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\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\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\004\000\000\000\016\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\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\020!\"\008\001\012@\000\004\128\008v\130@\000\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@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\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\001B\018 \128\016\196\000\000H\000\135h$\000\008\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\004\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\001\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\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@\004\005\008H\130\000c\016\000\001 \002\029\160\144\000#\000\000\030\181^\000\016\002\000\000 \128\128\000\000\000\000@\000\008\000\000\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\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000 \000\000\000\000\000\000z\213x\000@\008\000\000\130\002\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\001\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\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\128\008\n\016\145\004\000\198 \000\002@\004;A \000F\000\000=j\188\000 \004\000\000A\001\000\000\000\000\000\128\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\128\000\001\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\128\228\016\008\006!Dwh@\025\234\012\000#\020@\160\128\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\002A\160P\025\218\000\002\018\001\000@\004\016\008 \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\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016\\\138\001 \212+\142\239\008\003=A\128$z\1404\016\000\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@0\n\003;@\000\194@ \000\000\130\001\004\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008'\173W\128\005H\128\018\013\002\160\206\208\000\016\144\008\002\000 \128A\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\020\128\001\000\192(\012\237\000\003\t\000\128\000\002\008\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\001\000\192(\012\237\000\003\t\000\128\000\002\008\004\016\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\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\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\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@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\000\000R\000\004\003\000\1603\180\000\012$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002&\t\178\201`\000\002\128 @\000\013P\016\020\029\192\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\007\173W\128\005H\128\018\013\002\160\207\208\000\016\144\008\002\000 \144A\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\002\144\000$\026\005\001\157\160\000! \016\004\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\" \155\008\150\000\000(\002\000\000\000\209\000\001A\220\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\128\008 \016@\000\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\128\001 \208(\012\237\000\001\t\000\128 \002\008\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017\016M\132K\000\000\020\001\000\000\000H\128\000\160n\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\018 \000(\027\128\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\136\000\n\006\224\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\001\"\000\002\129\184\000\000\000\000\164\000\008\006\001@gh\000\024H\004\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\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\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@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\136\000\n\006\224\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\001\"\000\002\129\184\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000H\128\000\160n\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\018 \000(\027\128\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\136\000\n\006\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\164\000\008\006\001@gh\000\024H\004\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\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\018 \000(\027\128\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\136\000\n\006\224\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\001\"\000\002\129\187\214\171\192\002\164@\t\006\129Pgh\000\008H\004\001\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\n@ \144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\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\175\224\242\228P\008\0061\\wx@\025\234\012\000#T@\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\002A\160P\025\218\000\002\018\001\000@\004\016\008 \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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\128\000\000\000@\000\000\000\000\000\000\130 \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\007\255_\193\005\200\160\016\012B\184\238\240\1283\212\024\000F\168\129A?\250\254\008.E\000\144j\023\199w\132\001\158\160\192\0185E\n\t\255\215\240yr(\004\003\024\174;\188 \012\245\006\000\017\170 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030\\\138\001\000\198/\142\239\024\003=I\128\004z\1425\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023\"\128@1\138\227\187\194\000\207P`\001\026\162\005\004\255\235\248 \185\020\002A\168_\029\222\016\006z\131\000H\213\020('\255_\193\005\200\160\018\013B\184\238\240\1283\212\024\002F\168\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000D\1936Y,\000\000P\004\008\000\001\186\002\018\131\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\131@\1603\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\028\130\001\000\196(\142\237\008\003=A\128\004b\136\020\016\000\000\000\128\228\016\008\006!Dwh@\025\234\012\000#\020@\160\128\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\004\131@\1603\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128A \208(\012\237\000\001\t\000\128 \002\008\004\016\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\005 \000H4\n\003;@\000B@ \008\000\130A\004\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\001\200 \016\012B\136\238\208\1283\212\024\000F(\129A\000\000\000\008\014A\000\128b\020Gv\132\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\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\002 \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\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\000D\000\000\000\000\000\000\000\000\000\000\000\000\008\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\006\0082I`\000\002\000\000@\000\012\208\016\144\017\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\169\016\002A\160T\025\250\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\008\014A\000\128b\020Gv\132\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\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_\193\005\200\160\018\013B\184\238\240\1283\212\024\002F\168\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248yr(\004\003\024\190;\188`\012\245&\000\017\2348\214`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\245\170\240\000\128\016\000\001\000\004\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\001\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\020\128\001\000\204(\012\237\000\003\t\000\128\168\002\008$\016\000\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@0\n\003;@\000\194@ \000\000\130\001\004\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001R \004\131@\1683\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000\000\005 \000H4\n\003;@\000B@ \008\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\001H\000\016\012\002\128\206\208\0000\144\008\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\000R\000\004\003\000\1603\180\000\012$\002\000\000\008 \016@\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000T\136\001 \208*\012\237\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\005 \000@0\n\003;@\000\194@ \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\128\000 @\131$\148\000\000 \000\004\000\000\133\001\008\000\024\000\000\000\000\000\000\000\000\000\000\001\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\000z\213x\000T\136\001 \208*\012\253\000\001\t\000\128 \002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \000H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\000\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\002\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\020\128\001\000\204(\012\237\000\003\t\000\128\168\002\008$\016\000\000\000\016\164\000\008\006a@gh\000\024H\004\005@\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\002A\168P\027\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\001H\000\016\012\194\128\206\208\0000\144\008\008\128 \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\002\144\000 \025\133\001\157\160\000a \016\017\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\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\016\000\004\000\016`\018\128\000\004\000\000\000\000\016 \001\000\003\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\000\001\000\004\024\004\160\000\001\000\000\000\000\004\008\000@\000\192\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000@\001\006\001(\000\000@\000\000\000\001\002\000\016\0000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000@\000\016\000A\128J\000\000\016\000\000\000\000@\128\004\000\012\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\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@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000@\001\006\001(\000\000@\000\000\000\001\002\000\016\0000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000@\000\016\000A\128J\000\000\016\000\000\000\000@\128\004\000\012\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\016\000\004\000\016`\018\128\000\004\000\000\000\000\016 \001\000\003\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\000\001\000\004\024\004\160\000\001\000\000\000\000\004\008\000@\000\192\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000@\001\006\001(\000\000@\000\000\000\001\002\000\016\0000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000@\000\016\000A\128J\000\000\016\000\000\000\000@\128\004\000\012\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\016\000\004\000\016`\018\128\000\004\000\000\000\000\016 \001\000\003\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\000\001\000\004\024\004\160\000\001\000\000\000\000\004\008\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\000\000\000\000\000\000\004\000\000\000\000\000\000)\000\002\001\152P\025\218\000\006\018\001\001P\004\016H \000\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@\000\128f\020\006v\128\001\132\128@T\001\004\018\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\020\128\001\000\204(\012\237\000\003\t\000\128\136\002\008$\016\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\005 \000@3\n\003;@\000\194@ *\000\130\t\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\000\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\001\235U\224\001\000 \000\002\000\008\192\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\128\000\000\000\000\000\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 \000H5\n\003{@\000B@ \008\000\130\001\004\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\008\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000@\008\000\000\128\0020\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\008\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\004\000\000\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\n@\000\144j\020\006\246\128\000\132\128@\016\001\004\002\008\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\014\181Z\000\016\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\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\n@\000\144j\020\006\246\128\000\132\128@\016\001\004\002\008\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\031\253\127\004\023\"\128@1\138\227\187\198\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000@ \000\000\000 \000\000\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?\250\254\008.E\000\128c\021\199w\140\001\158\160\192\0025D\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000D\1936Y,\000@P\004\t\000\001\186\002\002\131\184\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\005 \000H5\n\003{@\000B@ \008\000\130\001\004\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@ \016\000\000\000\016\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\255\235\248 \185\020\002A\168W\029\2220\006z\131\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.E\000\128c\021\199w\140\001\158\160\192\0025D\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\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000T\136\001 \208*\012\253\000\001\t\000\128 \002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\004\000\004\000\000F\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000 \000\140\000\000\000\000\000\000\008\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\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\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\004\131P\1607\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\030\181^\000\016\002\000\000 \000\140\000\000\000\000\000\000\008\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\144\000$\026\133\001\189\160\000! \016\004\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\016\000\000\000\000\000\000\000\000\000\000\000\000\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\173V\128\004\000\128\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\001\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\215\240Ar(\004\131P\174;\188`\012\245\006\000\145\170 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\002\001\000\128\000\000\000\128\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\255\235\248 \185\020\002A\168W\029\2220\006z\131\000H\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000 \000\0020\008\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\004\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\128\228\016\008\006!Dwh@\025\234\012\000#\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\000\000\000\000\008\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\008\000\000\000\000\000\000\000\000\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\002\000\003\255\191\240\130\228p\t\134\161|wx\1929\234L\003#\212u\172\192\000\000\004\007 \128@1\n#\187B\000\207P`\001\024\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\005\200\160\016\012b\248\238\240\1283\212\024\000G\168\227A\000\000\000\000\000\000\000\016\008\000\000\000\000\000\000\000\000\016\000\000\000\001\255\215\240Ar(\004\003\024\190;\188 \012\245\006\000\017\2348\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@ \016\000\000\000\000\000\000\000\000 \000\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\253\127\004\023\"\128H5\011\227\187\194\000\207P`\t\030\163\141\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\005\200\160\018\013B\248\238\240\1283\212\024\002G\168\227A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\001\000\001\255\215\240Ar(\004\003\024\190;\188 \012\245\006\000\017\170(P@\000\000\000\000\000\000\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\127\245\252\016\\\138\001\000\198/\142\239\008\003=A\128\004j\138\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\000\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\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\001\255\215\240Ar(\004\131P\190;\188 \012\245\006\000\145\170(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\004\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\128\000\128\008\008\192\000\000\002\000\000\000\000\004\000\000\000\000\000\000\000@\003\001\000\000\000\000\000@\000\000\002\000\000\008\000\191\250\254\008.E\000\128c\021\199w\132\001\158\160\192\0025D\n\008\000\000\000\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\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\130\228p\t\134\161\\wx@9\234\012\001#TD\160\223\253\127\004\023\"\128@1\138\227\187\194\000\207P`\001\026\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?\250\254\008.G\000\152j\021\199w\132\003\158\160\192\0185DJ\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\001\000\001\255\215\240Ar(\004\131P\190;\188 \012\245\006\000\145\170(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\004\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 \016\008\000\000\000\008\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\015\254\191\130\011\145@$\026\133q\221\227\000g\1680\004\141Q\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\247\235\248\000\169\020\002\001\128T\025\222\000\006\018\001\000\000\021\016( \000\000\000\001H\004\018\013\002\128\206\208\000\016\144\008\002\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\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{\245\252\000T\138\001\000\192*\012\239\000\003\t\000\128\000\n\136\020\016\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\128\000\000\000\000\000\000\000\000\000\000\000\000\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\188\000 \004\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\001\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\008\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\164\000\t\006\161@oh\000\008H\004\001\000\016@ \128\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\004\000\000F\000\000\000\016\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\001\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\003\214\171\192\002\000@\000\004\000\017\128\000\000\000\000\000\001\000\000\008\000\000\000\000\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\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\n@\000\144j\020\006\246\128\000\132\128@\016\001\004\002\008\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\128\000\000\000\000\000\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 \000H5\n\003{@\000B@ \008\000\130\001\004\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\029j\180\000 \004\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\001\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\008\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\164\000\t\006\161@oh\000\008H\004\001\000\016@ \128\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=\250\254\000*E\000\128`\021\006w\128\001\132\128@\000\005D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\008\024 \201%\128\008\008\000\001 \0001@@@F\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\005 \000H5\n\003{@\000B@ \008\000\130\001\004\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\030\181^\000\021\"\000H4\n\131?@\000B@ \008\000\130A\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\017\128\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\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\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\007\173W\128\004\000\128\000\008\000#\000\000\000\000\000\000\002\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\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\020\128\001 \212(\013\237\000\001\t\000\128 \002\008\004\016\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\128\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\n@\000\144j\020\006\246\128\000\132\128@\016\001\004\002\008\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:\213h\000@\008\000\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\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\001H\000\018\013B\128\222\208\000\016\144\008\002\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\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\128\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\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\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\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\015\254\191\130\011\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\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\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000?\250\254\008.E\000\144j\021\199w\132\001\158\160\192\018=F\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\191\250\254\008.E\000\128c\021\199w\132\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145@ \024\197q\221\225\000g\1680\000\141Q\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\008\000\000\000\000\000\000\000\008\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\n@\000\144h\020\006v\128\000\132\128@\000\001\004\002\008\000\000\000\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\000\002\144\000$\026\005\001\157\160\000! \016\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\164\000\t\006\129@gh\000\008H\004\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\016\000\000\000\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\002\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\002\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\128\228\016\008\006!Dwh@\025\234\012\000#\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 9\004\002\001\136Q\029\218\016\006z\131\000\008\197\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\128\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\164\000\t\006\129@gh\000\008H\004\000\000\016@ \128\000\000\000\000\001\000\000\000\000\000\000\000\001\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?\250\254\000 \004\000\000@\001\000\001\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\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\000\000\001\127\245\252\000@\008\000\000\128\002\000\002\000\000\001\000\000\000\008\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\253\127\000\016\002\000\000 \000\128\000\128\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\128\000\000\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\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\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\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=j\188 p\132\137 B\001\000\000\018\000!J\t\000\0020\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\002\000\000\000\000\000\000\000\000@\004\005\008H\130\000\002\000\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\001\000\000\000\004\000@P\132\136 \000 \000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\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\016\000\002\000\000\000\000\000\000\004\008\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\"\000\000\000\000\000\000\004\008\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\214\171\192\007\008H\130\004 \016\000\001 \002\020\128\144\000#\000\000\030\181^\0008B\000\016!\000\128\000\t\000\016\164\004\128\001\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\128\008\n\016\145\132\000\004\000\000\002@\004;A \000F\000\000\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\132$A\000\001\000\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000@\004\005\008H\130\000\002\000\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\214\171\192\007\008H\002\004 \016\000\001 \002\020\128\144\000!\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\170\240\001\194\016\000\129\008\004\000\000H\000\133 $\000\008@\000\000\000\128\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\020!\"\008\000\008\000\000\004\128\008v\130@\000\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\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\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\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\132$A\000\001\000\000\000\144\001\014\208H\000\017\128\000\000\001\000\016\020!\"\008\000\008\000\000\020\128\008v\130@\000\142\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\128\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\000\000\004\000@P\132\136 \004 \000\000R\000!\218\t\000\0028\000\000\000 \002\002\132$A\000\001\000\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128\161\t\016@\000@\000\000$\000C\180\018\000\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\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\015Z\175\000\008\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\129\000\030\181^\000\016\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\002\000\000\004\000@P\132\136 \0040\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\008\000\128\161\t\016@\000@\000\000$\000C\180\018\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\004\000\000\000\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\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\128\000\000@\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\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\016\192\000\000\129\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\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\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\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\128\008\n\016\145\004\000\020\000\000\n@\004;A \000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\004\005\008H\130\000\002\000\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\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\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\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\020!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\002\000 (BD\016\000\024\000\000\t\000\016\237\004\128\001\024\000\000\000\016\001\001B\018 \128\018\128\000\001H\000\135h$\000\008\224\000\000\000\128\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\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\132$A\000\001\000\000\000\144\001\014\208H\000\017\128\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\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\016\001\001B\018 \128\000\192\000\000H\000\135h$\000\008\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\002\000\000\000\000\000\000\000@\000\000\001\000\016\020!\"\008\000\008\000\000\004\128\008v\130@\000\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\008\000\000\004\000\000\000\000\000\000\000\128\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\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\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\020!\"\008\000\008\000\000\004\128\008v\130@\000\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\004\000\000\000\000\000\000\000\128\000\000\002\000 (BD\016\000\016\000\000\t\000\016\237\004\128\001\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\016\000\000\008\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128\161\t\016@\000@\000\000$\000C\180\018\000\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\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\128\008\n\016\145\004\000\020\000\000\n@\004;A \000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\214\235\196\007\008H\130\004\"\016\000\001 \002\029\160\144\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\002\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\022\000\000\n@\004;A \000G\000\000\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\132$A\000\001\000\000\000\144\001\014\208H\000\017\128\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\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\001\000\000\000\000\000\000\007\173\215\136\014\016\145\004\008F \000\002@\004;A \000F\000\000\000\004\000@P\132\136 \000 \000\000\018\000!\218\t\000\0020\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\008\000\128\161\t\016@\000@\000\000$\000C\180\018\000\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\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\004\000@P\132\136 \004 \000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\016\020!\"\008\000\008\000\000\004\128\008v\130@\000\140\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\213x@\225\t\018@\132\002\000\000$\000B\148\018\000\004`\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160p\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\254\255\194\011\145@$\030\135q\221\225\000g\1690\004\141Q\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\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?\251\255\008.E\000\144z\021\199w\132\001\158\164\192\0185D\n\205\239\223\248\001\000 \000\002\000\008\000\000\000\000\000 \000\000\000\000\000\015~\255\192\008\001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000@\008\000\000\128\002\000\000\000\000\000\008\000\000\000\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\161\128\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002E\012\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\145C\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\007\255_\193\229\200\160\016\012b\184\238\240\1283\212\024\000F\168\129A?\250\254\008.E\000\128c\021\199w\132\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000 \016\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\128@ \000\000\000\000\000\000\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?\250\254\008.E\000\144j\021\199w\132\001\158\160\192\0185D\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\000\002\144\000 \025\133\001\157\160\000a \016\021\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\031\253\127\007\151\"\128@1\138\227\187\194\000\207P`\001\026\162\005\004\255\235\248 \185\020\002\001\140W\029\222\016\006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000?\250\254\008.E\000\128c\021\199w\132\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\131\203\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016\\\138\001\000\198+\142\239\008\003=A\128\004j\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191\127\224\004\000\128\000\008\000 \000\000\000\000\016\128\000\000\000\000\000\000\145C\000\000\000\000\000 \000\0020\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\001\024\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\007\173W\128\004\000\128\000\008\000#\000\000\000\000\000\000\002\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\000D\000\015Z\175\000\008\001\000\000\016\000F\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\128\000\000\002\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\000\030\181^\000\016\002\000\000 \000\140\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\015\254\191\130\011\145@$\026\133q\221\225\000g\1680\004\141Q\006\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\016\008\004\000\000\000\000\000\000\000\000\008\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\005\200\160\018\013B\184\238\240\1283\212\024\002F\168\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\001\000\001\000\000\017\128\000\000\004 \000\000\000\000\006 \000\000\000\000\004\004\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\000\144h\028\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008.E\000\144z\029\199w\132\001\158\164\192\0185D\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\255\239\252 \185\020\002A\232W\029\222\016\006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008.E\000\128c\021\199w\132\001\158\164\192\0025D\n\204\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\128\000\000\006/\254\255\194\011\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\130\228P\t\006\161\\wx@\025\234L\001#T@\172\223\253\255\132\023\"\128@1\138\227\187\194\000\207R`\001\026\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\004\002\001\000\000\000\000\000\000\000\000\002\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\001\255\223\248Ar(\004\131P\174;\188 \012\245&\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\\\138\001 \212+\142\239\008\003=I\128$j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\023\"\128H5\n\227\187\194\000\207R`\t\026\162\005f\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\004\000\004\000\000F\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\253\255\132\023\"\128H5\n\227\187\194\000\207R`\t\026\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\004\002\001\000\000\000\000\000\000\000\000\002\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\001\255\223\248Ar(\004\131P\174;\188 \012\245&\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000@\000@\000\004`\000\000\001\008\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\002\000 \000\000\000\000\000\000\000\001\002D\240\003\000\000\001\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\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\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\008\000\000@\128\000\000\000\000\000\000\004\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\002\000\000\016 \000\000\000\000\000\000\001\000\000\000\001\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\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000@\008\000\000\000\000\000\016\000\000\129\000\000\000\000\000\000\000\008\000\000\000\008\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000!\128\016\000\016\n\000\000\000\000\000\004\000\000 @\000\000\000\000\000\000\002\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\001\000\000\000\004\000\000\000\000\000\000\000\002\024\001\000\000\000\160\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\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\0000\000\000\016\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\134\000`\000\000 \000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\0040\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\001\012\000\128\008\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\016\192\008\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!\128\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\142\000`\000\000 \000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\0040\003\000\000\001\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000!\128\016\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008`\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\134\000`\000\000 \000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\0040\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\128\016\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\008\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\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\004\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")
let action =
- ((16, "\001\146\000\006\000\000\000\000\000\241\000\000\000\000\000\000\001\146\000\000\002B)\234\000\000\000[B\146\000\000\000\000\025x\000\000\029\170\000\000\000\000\000\000\000\000\000\000\000\000\0266\000\000\030h\000\000\000\000\000\000\000\000\000\000\031&\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\025\000L\000\000)\234\031\228\028\224\000\176C\218\000\000\000\000\000\000D\170\001\140\028\224\001J\028\224\000\000\001\030\000\000\028\224\000\000\000\133\001\2348\246\000\000\000\000:\252\000\000=f\000\000=\2388\2468\246\018^\018^=f\018^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\1328\246\000\000\000\000;\132\000\000;\132\000\0008\246\000\000\000\000\000\000\020\196\000\133\000\000\018^\000\0000P8\246\02708\246\000\000\000\000\000\000\000\000\000\000\000\000 28\246!*8\246!\1548\246\"\1468\246\000\0008\246\000\0008\246#\0028\246#\2508\246$j8\246%b8\246%\2108\246\001^8\246\000\000\000\000\000\000\000\000\000\0008\246&\2028\246':8\246(28\246\000\000\000\0008\246\000\000\000\000\017\244*f\000\000\000\000\001X\000\000\000\000\000\000\000\000\025F\000[\000\000*\014\000\000\000\179\018^\000\0008\246\001\170\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\001\176\000\000\000\000\002h\000\000\002\252=f\000\000\000\000\000\000\000\000\000\000\000\000>\1508\246\000\000>\150\000\000>\150=f\000\000\000\000/6\000\133\000\000\018^\003\006\000\0008\246\003,\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\0228\246\000\0008\246\000\000\000\000\0034\000\000\000G<,\004\0068\246\004\004\000\000\000\000=f\000G\000\000\000\000\000\000\000\000\000\000D\236=fEB=fE\246=fFL=f\000\000=f\000\000=fG\000=fGV=fH\n=fH`=fI\0208\246\003\210=f\000\000=fIj=fJ\030=fJt\003\194\000\000\003\212\000\000\000\1358\246\000\000\000\135\000\000\000\000\000\210)\234\000\000\000\210\000\000\000\000\003\2308\246\000\000\003\234\000\000\018^\003\254\000\000\000\000\005d\000\000\018^\004\160\000\000\000\000\004\228\000\000\000\000\001\234\000\000\005\204\000\000*fJ\248\005\174\005\160\000\133\005\004\005\214K\218\000\176\000\000\000\000\000tM$\000\000\000\000\000\000\005\224\005\216\0026\005\238K\218\001\030K\218\000\000\000\000\000\031\000\000\000\000\005:\000\000\005@\006\012K\218\005^\000\000\000\000\000t\000\000\005b\006>\000\000MhL\130\000\000\000\133\006F\000\000\025F\000\133\006L\000\000\000\000)\008\028\224\005n\000\000\006\006\000\000\005\160\000\000\000\t)\234\000\000)\234\000\000\005\144\000\000\000\t\000\000\016\030\026X\006fK\218\005\180\006\144\000\000N\182\000[\000\000\003\210\004B)\234\005\186\000\000\000i\000\000\001z\000\000\006\150\000\000\000\000;\192\000[\000\000\000i\000\000\000\000\000\000\000\000\000\000\006\1288\246\005\202\019\012\006\1368\246\005\210\006\134\000\136\005\254\006\182\000\000?\142?\224\018^\005\218\000\000\005\220?\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\1628\246\000\000@\162\000\000@\162?\224\000\000\000\000\024\154\000\133\000\000\018^\005\224\000\0008\246\005\224\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\0068\246\000\0008\246\000\000\005\232\000\000\000\135\000\000\000\000\000\000\000\000\000\0000\174?\2241\166?\2242\022?\2243\014?\224\000\000?\224\000\000?\2243~?\2244v?\2244\230?\2245\222?\2246N8\246\006\024?\224\000\000?\2247F?\2247\182?\2248\174\018^\005\248\000\000\000\0008\246\000\000\006\216\000\000\001V\006\1768\246\006|\000\000\006\1828\246\006\134\000\000\001:\000\000\006\182\006\182\001V\000\000\001V\000\000\016\030\006\182\006\182\000\000\000\000\000\000\023\162\000\000\000\000\000\000\000\000\006\2148\246\006\030\019\012\019\218\000\133\006\250\000\000\006\2269\204\007\n9\204\007\0208\246\006>\019\012\019\012\001J\001L\000\133\000\000\000\000\000\000\001L\000\000\001\236\001\012\000\000\000\000\006D\000\000\000\000\000\000\007 \000\000\007\"\000\000\000\000\007V\007\n8\246\006R\0074\000\000<\182\007\022\018^\006j\019\012\000\000\000\000\006\148\000\000\0012\000\000\005^\000\000\001V\000\000\000\000\006\230\000\000\021\164\026X\007.K\218\006|\007Z\000\000\000\133\000\000\003\0128\246,N\000\000@\2448\246\006\132\000\000\018^\006\136\000\000\006\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\1828\246\000\000A\182\000\000A\182B\008\018^\006\140B\008\000\000\000\000M\198\000\133\000\000\018^\006\144\000\0008\246\006\142\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\0008\246\000W8\246\006\146\000\000\000\000-\028+6\007F8\246\000\000\007\016\000\000\000\000\000\133\000\000\000\000\006\208,N\000\000\006\208,N\000\000\000\004\000\000\000\000\030\144B\008:\026B\008<\246B\008A\000B\008\000\000B\008\000\000B\008NrB\008N\164B\008N\252B\008O<B\008OlB\008O\190B\008O\238B\008P\016\000\000\006\166\000\000\006\182-\196\000\000.l\006\194.l/~\006\204.l\000\000\000\000\000\000\000\000\000\000\006\196\000\000\007\166\000\000\000\133\000\000\000^\007\194\000\000\000F\007\148\000\133\007\000\007\188K\218\007\004\000\172\000\0008\246\007\226\000\000\000,\000\166\003\252\007\196K\218\007\012\007\232\000\000\003\1568\246\007\234\000\000\007\238\000\000\025F\000\133\003\2268\246\007\248\000\000\007\252\000\000\012\022\000K\000\000\012\022\000\000\000\000\021\188\004\0048\246\007\254\000\000\008\004\000\000\000\000\001\168\007\212\000\133\0076\007\242K\218\007:\002\200\000\0008\246\008\022\000\000\003\246\000\000\000\000\008\014\000\000\012\022\000\000\007\248\018^\007B\008*\000\000\000,\000\000\008\016K\218\007Z\0088\000\000\004d8\246\008:\000\000\008<\000\000\025F\000\133\004\1868\246\008>\000\000\008B\000\000\000\000\000\000\008\014\000\000\000\000\0012\000\000\006\182\000\000\000,\000\000\000\000\000\236\019\218\000\000\000\236\000\000\000\000\007n\000\000\001\182\000\003\019\012\000\000\004\006\000K\004\006\000\000\0012\000\000\006\182\000\000\006\182\000\000\000\000\000\000\007n\000\000\000\000\007x\000\000\002*\005^\0012\004\006\000\000\000\000\000\000\0012\000\000\006\182\000\000\002*\000\000\000\000\000\238\000\015\016\030\000\000\016\218\000\000\tf\016\030\000\000\000\000\tf\000\000\000\000\007~\000\000\000\000\007\148\000\000\002\166\006\182\000\000\002\166\000\000\000\000\008\n\000\000\0012\000\000\006\182\000\000\000\000\000\000\017j:T\000\000\008p\000\000\017j\008v\000\000\008x\000\000\021\164\000\133\002\216\000\0008\246\008z\000\000\008\\\008L\000\133\007\166\008bK\218\007\170\004F\000\0008\246\008\134\000\000\000,\004H\000\0008\246\008\140\000\000\025F\000\133\004\158\000\0008\246\008\142\000\000\003\022\017j\000\000\021\188\004\196\000\0008\246\008\156\000\000\000\000\000\000\008\134\008v\000\133\007\214\008\146K\218\007\218\004\228\000\0008\246\008\182\000\000\003\014\000\000\008\158\018^\007\232\008\196\000\000\003\018\000\000\005.\000\0008\246\008\200\000\000\025F\000\133\005^\000\0008\246\008\202\000\000\003\022\000\000\000\000\007\244\000\000\003\014\007\214\008n\000\000\000\000\000\000\008r\000\000\002\150\001:\000\000\016\030\008\200\000\000\000\0008\246\008*\006\182\000\000\008\000\000\000\000\136\000\000\000\000\001R\016\030\000\000\016\030\000\000\007\240\000\000\001R\000\000=f\003\134=f\000\000=f\000\000\007\242\000\000\003\134\000\000\019\012\0046\019\012\000\000\019\012\000\000\007\244\000\000\0046\000\000=f\003\134\007\248\000\000?\152\000\133\004D?\152\000\000?\152\000\000\007\250\000\000\004D\000\000=f\003\134\007\254\000\000\000\000\022\220\000\000\000\000\008l\n\226\000\000\000\000\008F\000\133\000\000\000\000\000\000\000\000\002\028\n\226\000\000\002~\t\024\000\000\000\000\000\000\008\188\000\000\000\000\000\000\000\000\027\024\028\136\000\000\006\018\000\000\n\226\000\000\004\144\n\226\000\000\000G\000J\000J\000\000\002N\000J\000\000\008>\000\000\000\000\000\000\000\000\008\208\000\000\029\024\000\000)\234\n\226\000\000\004\224\n\226\000\000\008\210\000\000\n\226\008\212\000\000\011B\011\174\008\214\000\000\008\216\000\000\012:\022\022\n\226\008\\\n\226\008\222\000\000\008\224\000\000\008\228\000\000)\234\000\000\004t)\234\000\000\008f\013\178\000\000\000\004\n\226\000\000\005\022\n\226\000\000\0030\004*\000\133\000\000\001(\000\133\000\000\008n\000\000\000\000\000\000\000\000\008\242\000\000\013B\027f\008\246\000\000\008\248\000\000\n\226\t\004\000\000\n\226\t\006\000\000\n\226\t\008\000\000\n\006\018\226\n\226\008\138\n\226\t\012\000\000\t\014\000\000\000\000\005&\n\226\000\000\0050\001z\001z\000\000\000\000\000\000\005\030\001z\000\000\008\142\000\000\000\000\000\000\000\000\n\226\000\000\005@\n\226\000\000\005^\004H\000\133\008\144\000\000\000\000\000\000\000\000\t\022\000\000\t\024\000\000\n\226\t\030\000\000\014\"\027f\t \000\000\t\"\000\000\023l\008\204\008\252\020Z\n\226\t.\000\000\000\000\t2\000\000\t\004\023l\n\226\t6\000\000\n\226\t8\000\000\t<\000\000\012\202\008\192\n\226\tH\000\000\tJ\000\000\000\133\008\190\000\000\000\000\022\220\000\000\000\000\002N\t\170\000\000\000\000\001\023\000\000\000\000\000\0008\246\000\171\t\248\t\024\t\162=f\000\000\002\140=f\000\000\008\236\000\000\000\000\000\000\000\000\000\000\002\174\000\000\001\024\000\000\000\000\000\000\004\006\024\130\005\158\024\130\024\130\005\158\000\000\000\000\000F\000F\000F\000F\000\000\000\000\000\000\000\000\000\000\000\000\001V\016\030\t\186\013n\000K\000\000\000\000\003\246\000\000\008\014\000\000,N\008\240\000\000\001V\016\030\008\246\014\198\000\000\001V\013n\000\000\000\000\000\000\021\164\000F\000\000\000\171\000\000\000\000\t>\0014\t\182L\186\000\000\002DM\252\000\000\000\000\t\184\t\168\000\133\000\000\000\133\000\000\002D\000\000\005TL\186\000\000\000\000\t\002\t\200\006\182\t\020\000\000\001\168\003\246\000\000\008\014\000\000\003\138\004\130\000\000\000\000\t\188\000\000\000\000\002N\000\000\004\182\000\000\000\000\000\0008\246\000\171\000\000\002\174\000\000\004\212\000\000\000\000\000\000\005^\000\000\n\190\004\130\n\190\000\000\006\182\n\190\000\000\006\166\000\000\006\182\000\000\006\182\000\000\006\182\000\000\000\000\000\000\000\000\000\000\000\171\000\000\006\182\000\000\006\166\000\000\006\182\000\000\006:\000\000\000\000\tf\tJ\000\133\004t\t\242\003(\000\000\003(\n\028\000\000\n\030\000\000\n \000\000\000\000\004`\003(\025\162\003(\000\000\000\000\003z\t*\000\000\tf\000\133\t0\000\000\007\254\n,\000\000\007f\006*\nD\002\128\nD\000\000\000\000\0050\000\133\000\000\002L\t\148\000\000\000\000\000\000\002\232\000\000\tH\000\000\000\000\000\000\t\136\000\133\tR\000\000\000\000\007\254\007f\006*\0050\002L\002\232\tT\000\000\007f\006*\0050\002L\002\232\tX\000\000\000\133\000\000\nX\nV\t\152\000\133\t\242\000\000"), (16, "\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\004\138\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\011\t\008J\002\146\000\158\006\029\011\t\005\133\020\159\020\163\000:\008~\011\t\020\167\011\t\011\t\011\t\017\214\007}\011\t\000\n\006\002\006\142\011\t\011\t\006\146\011\t\000\023\000\027\021&\020\178\006\150\008J\007}\000\162\011\t\006\154\021*\011\t\011\t\000\014\008~\006m\011\173\011\t\011\t\002\202\011\t\005\133\011\t\003\141\n\166\013\006\t\n\011\t\000\158\011\t\011\t\011\t\011\t\011\t\017^\006=\006=\011\t\011\t\011\t\006=\011\t\011\t\011\t\005\245\011\t\011\t\011\t\011\t\n\174\n\157\011\173\011\t\011\t\011\230\t\158\007}\003\198\000\162\006\n\017\218\001^\011\t\011\t\011\t\012\022\001j\011\t\011\t\011\t\011\t\n\186\011\t\006m\011\t\013~\0085\011\t\006\029\018\166\011\t\011\t\000\194\011\173\011\173\t\158\004\197\011\t\011\173\012\002\013\174\011\t\005\173\007i\011\t\000\162\n\222\007i\011\t\011\t\011\t\011\t\004)\011\t\011\t\004\197\007}\005\133\011\t\011\t\011\t\000\198\011\t\003\217\011\t\011\t\000\218\011\t\007}\011\t\011\t\005\197\013\006\011\t\011\t\006%\006%\006%\006%\006%\006%\006%\006%\006%\006%\006%\004\162\006%\006%\006%\006%\006%\006%\006%\006%\006%\006%\n\189\008r\013\138\004\162\006%\008N\008^\008n\011\206\t\146\006%\001^\006%\006%\006%\012\022\001j\006%\008J\005>\016\130\006%\006\194\005\165\006%\006\142\004\197\008~\006\146\012\006\000\158\016Z\021&\006%\006\150\008v\005\149\004\013\000\006\006\154\021*\000\250\006%\006%\004\197\000\162\001^\006%\006%\002e\001f\001j\006%\002e\006%\006%\006%\006%\006%\011\173\000\162\000\158\006%\006%\006%\019j\006%\006%\006%\005\237\006%\006%\006%\006%\006j\t\146\000\242\006%\006%\t\002\000\162\n\189\006\021\005\237\012\166\016\138\n\189\n\189\006%\006%\014\170\000\162\006%\006%\006%\006%\014\174\006%\t\158\006%\014\178\005\141\006%\004\138\005f\006%\006%\019n\002\145\018\206\t\002\001\006\006%\020\247\020\251\000\162\n\189\004\013\020\255\006%\001\026\002F\n\189\006%\006%\006%\006%\t\006\006%\006%\003\021\005\181\016.\006%\006%\006%\006E\002\162\006E\006%\006%\006E\006%\003\217\006%\006%\023\190\005\221\006%\006%\006E\006E\006E\006E\006E\006E\006E\006E\006E\006E\006E\013\254\006E\006E\006E\006E\006E\006E\006E\006E\006E\006E\n\133\n\237\005\189\005\189\006E\020\142\006E\000\158\002\218\002\254\006E\005\245\006E\006E\006E\006E\005\141\006E\006E\006E\006E\006E\006E\006E\006E\006E\000.\006\"\016\162\016\202\016\242\017\002\017.\006E\005\141\t\"\006E\000\162\005\141\003\025\012\194\006E\006E\006E\006E\006E\006E\006E\014\230\006E\nA\014~\006E\020\142\006E\023\198\006E\006E\006E\017z\003\165\023\202\006E\006E\006E\n\141\006E\006E\006E\005\253\006E\006E\006E\006E\n\157\015\186\005Z\015\214\006E\021\218\006E\n\133\023.\005\157\017\230\006E\n\133\n\133\006E\006E\017\134\n\181\006E\006E\006E\006E\003\165\006E\n\133\006E\006E\003\n\006E\004\138\0232\006E\006E\015^\nA\023\162\003=\0236\006E\001^\018\190\020\202\006E\012\022\001j\006E\016B\n\165\n\133\006E\006E\003=\006E\012\198\006E\006E\016\170\006\005\000J\006E\000N\014\234\000V\013\006\023\210\006]\006E\023V\006E\000Z\006E\006E\n\157\000\162\006E\006E\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\t\218\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\023>\001^\005)\003\018\006\158\012\022\001j\011\206\003f\n\157\000\186\005\245\001\030\006\174\006\202\006\013\000n\006\206\000r\t\146\000z\000\190\004\193\016\178\008:\006]\n\157\000~\008J\003r\000^\023F\003\190\001*\003=\000\162\021J\008~\004%\003=\003=\004\193\008\146\006\214\021v\021\130\016\210\008\150\013\186\003\206\007A\003=\001R\017\014\001V\003\233\000\206\t\154\008\158\015\022\015.\0126\006\234\001^\008\162\018\194\006\238\008\166\001j\011\173\006\242\006\246\008\170\006\250\n\157\003=\003\214\023^\008\174\011\206\019\182\022G\007A\007A\023V\005\213\000\130\007A\006\254\007\002\022K\004V\008\178\008\182\007\006\008\186\012V\000\162\008J\008\206\022N\004z\003\197\015J\011\173\008\218\007\014\008~\t\158\004\193\004\130\016\218\006M\012\138\011\206\000\162\021\150\n\157\017\022\008\250\004\186\004\198\015n\008\254\t:\003\233\t\166\004\193\007\018\t>\000\162\011\206\004\210\007\022\003\233\003\233\011\173\011\173\015\166\003\233\tF\011\173\007\026\n\229\006M\006M\015\026\0152\001\154\006M\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\013\"\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\0065\005\229\008]\015\222\006\158\023&\t\158\011\206\005\205\023f\000\186\n\197\001\030\006\174\006\202\018\142\005\133\006\206\015N\005\133\023^\000\190\n\149\005\133\008:\005\133\019f\015\250\0039\017\202\005\133\005\133\013B\001*\008]\008]\008J\015r\n\213\008]\004\222\004\234\008\146\006\214\021v\008~\n\205\008\150\014\002\019\178\011\206\006U\001R\015\170\001V\003\249\000\206\t\154\008\158\n\221\022g\022k\006\234\001^\008\162\022o\006\238\008\166\001j\018\"\006\242\006\246\008\170\006\250\006e\022\139\022\143\004\246\008\174\0089\022\147\0065\005\n\005\026\002\146\005\030\0065\0065\006\254\007\002\015\226\005&\008\178\008\182\007\006\008\186\018\178\000\162\023\178\008\206\019~\0089\003\197\005*\019Z\008\218\007\014\n\173\005R\006U\023\154\0089\006u\005V\015\254\005^\t\158\019\166\005\130\008\250\017\186\005\138\0065\008\254\t:\006-\t\166\022\n\007\018\t>\005\142\002\133\006e\007\022\005\133\003\249\005\150\013\006\005\170\005\174\tF\0089\007\026\005\198\006u\006u\005\214\005\234\001\154\006u\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\005\242\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\005\250\001^\006\023\006.\006\158\012\022\001j\0066\006:\006Z\000\186\006r\001\030\006\174\006\202\0089\006\162\006\206\006\170\t\146\006\178\000\190\006\186\006\190\008:\006\198\006\222\006\230\008J\007>\0089\007J\007\146\001*\006-\000\162\008J\008~\008\n\006-\006-\0082\008z\006\214\008F\008~\008R\008\150\008Z\008b\008\149\006-\001R\008j\001V\004\021\000\206\008\154\008\158\008\190\008\198\008\214\006\234\001^\008\162\008\222\006\238\008\166\001j\008\230\006\242\006\246\008\170\006\250\008\238\006-\008\246\011\181\008\174\t2\tB\tJ\008\149\008\149\tV\tZ\tb\008\149\006\254\007\002\tf\tr\008\178\008\182\007\006\008\186\0039\000\162\tz\008\206\t\138\t\174\003\197\t\190\008]\008\218\007\014\t\198\t\158\t\202\t\242\0039\008e\t\254\n\006\nF\t\158\nf\nr\008\250\n\182\n\202\n\214\008\254\t:\004\021\t\166\n\238\007\018\t>\n\250\011\130\011\138\007\022\004\021\004\021\008]\008]\011\154\004\021\tF\008]\007\026\011\166\008e\008e\011\194\011\202\001\154\008e\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\011\222\000\146\011\234\000\150\006\150\000\154\000\174\000\178\000\182\006\154\015\214\003\177\011\242\011\246\011\254\006\158\012\014\012\"\012*\012.\012>\000\186\012F\001\030\006\174\006\202\003\177\012^\006\206\012f\012\146\0039\000\190\012\154\012\170\008:\0039\0039\004\162\012\178\012\182\012\190\012\206\012\242\001*\012\250\001^\008J\0039\023&\012\022\001j\012\254\008z\006\214\013\014\008~\013\022\008\150\013\026\013*\0132\013J\001R\013R\001V\013\162\000\206\008\154\008\158\013\234\013\246\0039\006\234\001^\008\162\014j\006\238\008\166\001j\000\162\006\242\006\246\008\170\006\250\014v\014\150\014\194\011\181\008\174\014\206\014\214\014\242\014\250\014\254\015\006\015\n\015\018\015\"\006\254\007\002\015:\015V\008\178\008\182\007\006\008\186\003\177\000\162\015z\008\206\023\138\003\177\003\177\015\138\015\142\008\218\007\014\005\237\015\150\015\154\015\162\015\178\011\181\003\177\003\177\015\194\t\158\015\202\015\206\008\250\015\234\016\006\016\026\008\254\t:\016*\t\166\016:\007\018\t>\016R\016b\016n\007\022\016\151\016\191\016\231\003\177\016\255\017#\tF\017;\007\026\017R\011\181\011\181\017b\017\138\001\154\011\181\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\017\155\000\146\017\242\000\150\006\150\000\154\000\174\000\178\000\182\006\154\018\007\018/\018;\018K\018S\006\158\018f\018o\018w\003\177\018\127\000\186\018\154\001\030\006\174\006\202\018\218\018\239\006\206\018\255\019\007\023\026\000\190\007\133\003\177\008:\019\019\019\031\019+\019>\019G\019O\019\138\019\190\001*\019\211\019\219\008J\007\133\019\231\019\247\019\255\020\n\008z\006\214\020\014\008~\020\027\008\150\020'\020.\020;\020G\001R\020O\001V\020Z\000\206\008\154\008\158\020c\020k\020w\006\234\001^\008\162\020\146\006\238\008\166\001j\0192\006\242\006\246\008\170\006\250\020\182\020\186\020\190\020\214\008\174\021V\021~\021\142\021\198\021\206\021\234\021\238\022\026\007\133\006\254\007\002\023v\017Z\008\178\008\182\007\006\008\186\022\030\000\162\022&\008\206\023\134\017^\022S\023\030\003\177\008\218\007\014\023\230\023\138\003\177\003\177\023*\023:\023B\023J\023s\t\158\023z\023\131\008\250\023\142\003\177\003\177\008\254\t:\023\158\t\166\023\194\007\018\t>\023\219\017j\000:\007\022\023\234\023\243\024\023\007\133\0243\024B\tF\024F\007\026\024J\024S\003\177\000\000\000\000\001\154\007\133\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\000\000\000\000\000\000\000\000\006\158\000\162\000\000\017V\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\000\000\017n\000\190\000\000\000\000\008:\000\000\000\000\000\000\000\000\017Z\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\017^\000\000\000\000\008\146\006\214\000\000\000\000\000\000\008\150\022\162\000\000\000\000\000\000\001R\000\000\001V\018B\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\017j\006\242\006\246\008\170\006\250\000\000\000\000\000\000\017Z\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017^\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\003\197\000\000\000\000\008\218\007\014\000\000\000\000\017V\000\000\000\000\008I\000\000\000\000\000\162\000\000\017j\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\017n\017Z\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\017^\007\026\000\000\008I\008I\000\000\000\000\001\154\008I\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\162\000\150\006\150\000\154\000\174\000\178\000\182\006\154\017j\000\000\000\000\000\000\000\000\006\158\000\000\017n\018Z\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\000\000\000\000\000\190\n!\000\000\008:\000\000\000\000\000\000\000\000\017Z\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\017^\000\000\000\000\008\146\006\214\000\000\000\162\000\000\008\150\012n\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\t\154\008\158\000\000\017n\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\017j\006\242\006\246\008\170\006\250\000\000\000\000\000\000\011\145\008\174\017V\n!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\017Z\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\017^\011\145\000\000\000\000\000\162\000\000\000\000\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\017n\000\000\000\000\007\022\000\000\000\000\020V\000\000\000\000\017V\tF\017j\007\026\000\000\011\145\011\145\000\000\000\000\001\154\011\145\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\017Z\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\017^\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\162\000\000\006\206\000\000\000\000\000\000\000\190\000\000\005\133\008:\000\000\000\000\000\000\000\000\018\246\017n\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\146\006\214\000\000\005\133\000\000\008\150\021Z\000\000\000\000\000\000\001R\000\000\001V\005\133\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\162\000\000\000\000\008\174\017V\005\133\000\000\000\000\000\000\000\000\005\133\002\146\000\000\006\254\007\002\017n\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\017Z\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\017^\011\221\000\000\000\000\000\000\000\000\000\000\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\000\000\005\133\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\019\238\007\026\000\000\011\221\011\221\005\133\000\000\001\154\011\221\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\000\000\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\162\000\000\006\206\000\000\000\000\000\000\000\190\000\000\000\000\008:\000\000\000\000\000\000\000\000\000\000\017n\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\146\006\214\000\000\000\000\000\000\008\150\021Z\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\000\000\000\000\000\008\174\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\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\000\000\011\217\000\000\000\000\000\000\000\000\000\000\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\000\000\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\000\000\007\026\000\000\011\217\011\217\000\000\000\000\001\154\011\217\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\000\000\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\000\000\000\000\000\190\000\000\000\000\008:\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\008\146\006\214\000\000\000\000\000\000\008\150\0146\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\t\154\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\000\000\000\000\000\008\174\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\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007}\000\000\000\000\008\250\000\000\t\146\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\008J\007}\000\000\007\022\000\000\000\000\000\000\000\000\000\000\008~\tF\000\000\007\026\000\000\0002\006&\000F\000b\001\154\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\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\186\000\000\001\030\000\000\006\202\007}\000\000\006\206\000\000\000\000\000\000\000\190\000\000\000\000\014\182\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\014\198\006\214\t\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\206\000\000\005\133\000\000\000\000\000\000\006\234\001^\000\000\007}\006\238\001f\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\000\000\000\007}\000\000\000\000\005\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\005\133\005\133\000\000\000\000\007\006\000\000\000\000\000\162\000\000\000\000\0002\0006\000F\000b\000\000\000f\007\014\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\005\133\000\154\000\174\000\178\000\182\005\133\002\146\000\000\000\000\005\133\000\000\t\166\000\000\007\018\014\202\000\000\000\000\000\186\007\022\001\030\000\000\001\"\000\000\000\000\001&\014\210\000\000\007\026\000\190\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\001*\005\133\000\000\001.\000\000\000\000\000\000\000\000\000\000\001F\001B\005\133\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\017V\000\206\000\000\000\000\005\133\000\000\000\000\001Z\001^\000\000\000\000\001b\001f\001j\001\190\001n\001r\000\000\001v\000\000\000\000\000\000\017Z\000\000\005\133\000\000\000\000\005\133\005\133\000\000\000\000\005\133\017^\000\000\001z\000\000\006\158\000\000\000\000\001~\000\000\005\133\000\162\000\000\001\030\006\174\006\202\000\000\000\000\006\206\000\000\001\134\000\000\000\000\000\000\000\000\008:\0196\000\000\000\000\n!\001\138\017j\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\142\008\202\006\214\000\000\000\000\001\146\008\150\000\000\003\137\000\000\000\000\001R\n!\001V\001\150\000\000\000\000\008\158\000\000\000\000\001\154\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\000\000\006\250\000\000\000\000\000\162\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\017n\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\006\158\000\000\000\000\000\000\n!\000\000\000\000\000\000\001\030\006\174\006\202\000\000\008\250\006\206\000\000\000\000\008\254\t:\000\000\000\000\008:\007\018\t>\000\000\000\000\000\000\007\022\000\000\000\000\001*\000\000\000\000\000\000\tF\000\000\007\026\000\000\000\000\006\210\006\214\000\000\001\154\000\000\008\150\000\000\000\000\000\000\000\000\001R\004\173\001V\000\000\000\000\000\000\008\158\000\000\000\000\000\000\006\234\001^\008\162\000\000\006\238\008\166\001j\000\000\006\242\006\246\000\000\006\250\000\000\004\173\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\004\173\000\000\000\000\006\254\007\002\000\000\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\000\000\000\000\n\021\000\000\004\173\004\173\011\241\000\000\008\250\011\241\000\000\000\000\008\254\t:\000\000\000\000\000\000\007\018\t>\000\000\000\000\000\000\007\022\000\000\011\241\000\000\000\000\n\021\011\241\tF\000\000\007\026\001\178\011\241\000\000\000\000\000\000\001\154\000\000\011\241\000\000\000\000\011\241\011\241\000\000\011\241\011\241\000\000\000\000\001\186\004\173\011\241\002\210\000\000\000\000\011\241\000\000\000\000\011\241\000\000\011\241\011\241\000\000\000\000\000\000\004\173\000\000\000\000\000\000\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\241\000\000\011\241\000\000\n\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\241\000\000\000\000\0002\t\182\000F\000b\002\222\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\021\006\000\150\006\150\000\154\000\174\000\178\000\182\006\154\021\014\011\241\011\241\011\241\000\000\011\241\011\241\002\226\000\000\011\241\000\000\000\186\000\000\004%\000\000\000\000\004%\002\234\000\000\000\000\000\000\011\241\000\190\000\000\011\241\011\241\011\241\011\241\000\000\000\000\000\000\004%\011\241\011\241\011\241\004%\011\241\011\241\011\241\004%\004%\000\000\000\000\000\202\000\000\000\000\004%\017V\000\000\004%\004%\000\000\004%\004%\000\000\000\000\004%\000\206\004%\004%\000\000\000\000\004%\000\000\000\000\004%\000\000\004%\004%\017Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017^\000\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\000\000\004%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\162\000\000\004%\000\000\000\000\003\197\018^\000\000\000\000\004%\000\000\017j\000\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004%\004%\004%\000\000\004%\004\193\004%\n!\004%\000\000\001=\001=\001=\001=\000\000\001=\004%\001=\001=\000\000\001=\000\000\001=\004%\001=\004%\001=\001=\001=\001=\000\162\004%\004%\004%\017F\004%\004%\004%\000\000\000\000\000\000\001=\001=\001=\000\000\017n\000\000\000\000\001=\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\017J\n!\000\000\001=\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\0002\0006\000F\000b\000\000\000f\001=\000j\000\134\000\000\000\138\017V\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\000\000\000\000\000\186\017Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\020\006\000\000\000\000\001=\000\000\001=\004)\000\000\001=\004)\017N\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\000\000\000\202\000\000\000\000\004)\000\000\018\130\000\000\004)\000\000\017j\000:\004)\004)\001=\000\206\000\000\001=\001=\004)\000\000\000\000\004)\004)\000\000\004)\004)\000\000\017\158\004)\000\000\004)\004)\000\000\000\000\004)\000\000\000\000\004)\000\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\162\000\000\000\000\000\000\000\000\004)\000\000\004)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017n\000\000\004)\000\000\000\000\000\000\021\n\000F\000b\004)\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\021\006\000\150\006\150\000\154\000\174\000\000\000\182\006\154\021\014\004)\004)\004)\000\000\004)\004\197\004)\000\000\004)\000\000\000\186\000\000\012E\000\000\000\000\012E\004)\000\000\000\000\000\000\004)\000\190\000\000\004)\000\000\004)\000\000\000\000\000\000\000\000\012E\004)\004)\004)\012E\004)\004)\004)\007.\012E\000\000\000\000\000\000\000\000\000\000\012E\000\000\000\000\012E\012E\000\000\012E\012E\000\000\000\000\0076\000\206\012E\007B\000\000\000\000\012E\000\000\000\000\012E\000\000\012E\012E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\012E\000\146\012E\000\150\000\000\000\154\000\174\000\000\000\182\000\000\000\000\000\000\012E\000\000\000\000\003\197\000\000\000\000\000\000\007N\004I\000\186\000J\004I\000N\004I\000V\004I\000\000\004I\000\000\000\000\000\190\000Z\004I\004I\000\000\012E\012E\012E\000\000\012E\000\000\007R\000\000\012E\000\000\004I\000\000\000\000\000\000\000\000\000\000\007Z\000\000\000\000\000\000\004I\004I\000\000\012E\000\000\012E\004I\000\000\0035\000\000\000\206\012E\012E\012E\000\000\012E\012E\012E\000\000\000\000\000\000\000\000\004I\0035\000\000\004I\000\000\000\000\000\000\000\000\004I\004I\000\000\000\000\004I\000^\000\000\000\000\000\000\0035\000\000\000\000\004I\000\000\000\000\000\000\004I\004I\000\000\000\000\000\000\000\162\000\000\000\000\000\000\000\000\004I\000\000\004M\000\000\000n\004M\000r\004M\000z\004M\004I\004M\000\000\000\000\000\000\000~\004M\004M\000\000\005\133\004I\000\000\005\133\000\000\000\000\004I\005\133\000\000\005\133\004M\000\000\000\000\000\000\005\133\005\133\004I\000\000\000\000\000\000\004M\004M\000\000\000\000\000\000\000\000\004M\000\000\000\000\0035\000\000\000\000\000\000\000\000\0035\0035\004I\000\000\000\000\004I\004I\000\000\004M\004I\000\000\004M\0035\000\000\004I\004I\004M\004M\000\000\004I\004M\000\130\000\000\000\000\000\000\005\133\000\000\0035\004M\000\000\000\000\000\000\004M\004M\000\218\000\000\0035\000\000\023^\000\000\000\000\000\000\004M\000\000\000\000\001^\000\000\000\000\000\000\001f\001j\000\000\004M\000\000\000\000\000\000\n\017\n\017\n\017\n\017\000\000\n\017\004M\n\017\n\017\000\000\n\017\004M\n\017\000\000\n\017\000\000\n\017\n\017\n\017\n\017\000\000\004M\000\000\000\162\000\000\000\000\000\000\000\000\005\133\000\000\000\000\n\017\n\017\n\017\001\137\000\000\000\000\001\137\n\017\000\000\000\000\004M\000\000\n\017\004M\004M\000\000\017\174\004M\000\000\017V\017\182\001\137\004M\004M\000\000\001\137\n\017\004M\000\000\000\000\001\137\000\000\000\000\n\017\000\000\000\000\001\137\000\000\n\017\001\137\001\137\017Z\001\137\001\137\000\000\000\000\000\000\n\017\001\137\000\000\000\000\017^\001\137\000\000\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\017\000\000\000\000\n\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\n-\001\137\017j\n\017\000\000\000\000\000\000\000\000\n\017\000\000\n\017\001\137\000\000\n\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\017\000\000\000\000\n\017\n-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\001\137\001\206\n\017\001\137\001\137\018\n\n\017\001\137\000\000\000\000\000\000\000\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\001\137\001\137\017n\000\000\000\000\000\000\002v\001\137\001\137\000\000\001\137\001\137\001\137\n\001\n\001\n\001\n\001\000\000\n\001\000\000\n\001\n\001\n-\n\001\000\000\n\001\000\000\n\001\000\000\n\001\n\001\n\001\n\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\n\001\n\001\000\000\000\000\000\000\000\000\n\001\000\000\000\000\000\000\000\000\n\001\0002\000\214\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\n\001\000\150\000\000\000\154\000\174\000\178\000\182\n\001\000\000\000\000\000\000\000\000\n\001\000\000\000\000\n\005\n\005\n\005\n\005\000\186\n\005\n\001\n\005\n\005\000\000\n\005\000\000\n\005\000\000\n\005\000\190\n\005\n\005\n\005\n\005\000\000\000\000\000\000\000\000\000\000\000\000\n\001\000\000\000\000\n\001\000\000\n\005\n\005\n\005\000\000\000\000\000\202\000\000\n\005\000\000\000\000\n\001\000\230\n\005\000\000\000\000\n\001\018\014\n\001\000\000\000\206\n\001\000\000\000\000\000\000\000\000\000\000\n\005\000\000\n\001\000\000\000\000\n\001\000\000\n\005\000\000\000\000\000\000\000\000\n\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\n\005\004\129\017\178\n\001\004\129\000R\004\129\000\000\004\129\000\000\004\129\000\000\000\000\000\162\000\000\004\129\004\129\000\000\000\000\000\000\n\005\000\000\000\000\n\005\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\000\234\000\000\000\000\n\005\000\000\000\000\004\129\004\129\n\005\000\000\n\005\000\000\004\129\n\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\005\000\000\011u\n\005\000\000\000\000\000\000\004\129\000\000\000\000\004\129\000\000\000\000\000\000\000\000\004\129\004\129\000\000\n\005\004\129\004\129\000\000\n\005\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\004\129\004\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\129\000\000\004\133\000\000\000\000\004\133\000v\004\133\000\000\004\133\004\129\004\133\000\000\000\000\000\000\000\000\004\133\004\133\000\000\000\000\004\129\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\004\133\000\000\000\000\000\000\000\000\000\000\004\129\000\000\000\000\011\018\004\133\004\133\000\000\000\000\000\000\000\000\004\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\129\011\026\000\000\004\129\004\129\000\000\004\133\004\129\000\000\004\133\000\000\000\000\004\129\004\129\004\133\004\133\011\"\004\129\004\133\004\133\000\000\000\000\011b\011j\000\000\000\000\004\133\000\000\000\000\000\000\004\133\004\133\011B\000\000\000\000\011*\000\000\011:\000\000\000\000\004\133\000\000\004\137\000\000\000\000\004\137\000\142\004\137\000\000\004\137\004\133\004\137\000\000\000\000\000\000\000\000\004\137\004\137\011J\000\000\004\133\000\000\000\000\000\000\000\000\004\133\000\000\000\000\000\000\004\137\000\000\000\000\000\000\000\000\000\000\004\133\000\000\000\000\000\000\004\137\004\137\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\133\011R\000\000\004\133\004\133\000\000\004\137\004\133\0112\004\137\000\000\000\000\004\133\004\133\004\137\004\137\000\000\004\133\004\137\004\137\005\001\000\000\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\004\137\004\137\000\000\000\000\000\000\011r\011Z\000\000\000\000\000\000\004\137\000\000\004\189\000\000\000\000\004\189\000\000\004\189\000\000\004\189\004\137\004\189\000\000\000\000\000\000\000\000\004\189\004\189\000\000\000\000\004\137\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\004\189\000\000\000\000\000\000\000\000\000\000\004\137\000\000\000\000\000\000\004\189\004\189\000\000\000\000\000\000\000\000\004\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\137\000\000\001\238\004\137\004\137\002>\004\189\004\137\000\000\004\189\000\210\000\000\004\137\004\137\004\189\004\189\000\000\004\137\004\189\004\189\001\246\000\000\000\000\000\000\002\005\000\000\004\189\000\000\000\000\002\005\004\189\004\189\000\000\000\000\000\000\001\254\000\000\000\000\002\005\002\005\004\189\002^\002f\000\000\000\000\000\000\000\000\002\005\000\000\000\000\004\189\002\030\000\000\000\000\002\006\000\000\002\022\002\005\000\000\000\000\004\189\000\000\000\000\000\000\000\000\004\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\189\000\000\002&\000\000\002\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\005\000\000\000\000\000\000\000\000\000\000\004\189\000\000\000\000\004\189\004\189\000\000\000\000\004\189\000\000\000\000\000\000\000\000\004\189\004\189\000\000\000\000\000\000\004\189\000\000\002\005\002.\000\000\000\000\002\005\002\005\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\002\005\000\000\000\000\002\005\002\005\002\005\002\005\000\000\000\000\000\000\001\246\000\000\002\005\002\005\000}\002n\0026\002\005\000\000\000}\000\000\000\000\000\000\000\000\000\000\001\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\002\030\000\000\000\000\002\006\000\000\002\022\000}\000e\000\000\000\000\000e\000\000\000\000\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\002&\000\000\000}\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000}\000\000\001\254\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\006\000\000\002\022\000e\000}\002.\000\000\000\000\000}\000}\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\000e\000}\000e\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000e\000}\000}\000\000\000}\0026\000}\000\000\000\000\000\000\000\000\000\000\000\000\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\000e\000\000\000\000\000e\000e\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\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000\000\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\002\006\000\000\000]\000]\000a\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\000a\000]\000\000\000]\000a\000\000\000\000\000\000\000\000\000a\000\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\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\006\000\000\000a\000a\000]\000]\000\000\000\000\000]\000]\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\000a\000]\000a\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\000a\000\000\000\000\000a\000a\000\000\000\000\002\014\000\000\000\000\000\000\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\001\246\000\000\000a\000a\000q\000a\000a\000a\000\000\000q\000\000\000\000\000\000\000\000\000\000\001\254\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\002\006\000\000\002\022\000q\000i\000\000\000\000\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\001\246\002&\000\000\000q\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000q\000\000\001\254\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\006\000\000\002\022\000i\000q\000q\000\000\000\000\000q\000q\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\000i\000q\000i\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000i\000q\000q\000\000\000q\000q\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\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000i\000i\000\000\000\000\002\014\000\000\000\000\000\000\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\001\246\000\000\000i\000i\000m\000i\000i\000i\000\000\000m\000\000\000\000\000\000\000\000\000\000\001\254\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\002\006\000\000\002\022\000m\000u\000\000\000\000\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\000\000\000\000\001\246\002&\000\000\000m\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000m\000\000\001\254\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\000u\000m\000m\000\000\000\000\000m\000m\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\002&\000m\000u\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000u\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\002.\000\000\000\000\000u\000u\000\000\000\000\002\014\000\000\000\000\000\000\001\238\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\001\246\000\000\000u\000u\000\133\000u\000u\000u\000\000\000\133\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\133\000\133\000\000\000\133\002f\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\000\133\001\238\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\001\246\002&\000\000\000\133\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\133\000\000\001\254\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\002\030\000\000\000\000\002\006\000\000\002\022\000y\000\133\002.\000\000\000\000\000\133\000\133\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\002&\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000y\000\133\000\133\000\000\002n\0026\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\000\000\000\000\000\000\000\000\000\000\000\000\000y\002.\000\000\000\000\000y\000y\000\000\000\000\002\014\000\000\000\000\000\000\001\238\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\001\246\000\000\000y\000y\000\129\000y\0026\000y\000\000\000\129\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\129\000\129\000\000\000\129\002f\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\030\000\000\000\000\002\006\000\000\002\022\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\000\000\000\000\000\000\000\000\000\000\002&\000\000\000\129\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\004\157\000\000\000\000\004\157\000\000\004\157\000\000\004\157\000\000\004\157\000\000\000\000\000\000\000\000\004\157\004\157\000\000\000\000\000\000\000\000\000\000\000\129\002.\000\000\000\000\000\129\000\129\004\157\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\157\004\157\000\000\000\000\000\129\000\000\004\157\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\0026\000\129\004\157\000\000\000\000\004\157\005\226\000\000\000\000\000\000\004\157\004\157\000\000\000\000\004\157\004\157\000\000\000\000\000\000\000\000\000\000\000\000\004\157\000\000\000\000\000\000\004\157\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\157\000\000\000\000\000\000\0002\0006\000F\000b\000\000\000f\004\157\000j\000\134\000\000\000\138\004\157\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\018\022\000\186\0182\000\000\000\000\000\000\000\000\018>\000\000\000\000\004\157\000\000\000\190\004\157\004\157\000\000\000\000\004\157\000\000\000\000\005\133\000\000\004\157\004\157\000\000\000\000\018V\004\157\000\000\000\000\005\133\005\133\000\000\000\202\000\000\000\000\005\133\005\133\018\130\000\000\005\133\000\000\005\133\000\000\005\133\000\000\005\133\000\206\000\000\000\000\000\000\005\133\005\133\000\000\000\000\005\133\000\000\000\000\000\000\000\000\005\133\002\146\000\000\000\000\005\133\000\000\000\000\018\162\000\000\000\000\018\242\000\000\005\133\000\000\005\133\005\133\005\133\005\133\000\000\000\000\005\133\000\000\019\n\000\000\000\000\000\000\005\133\019\022\000\000\0081\000\000\000\000\019\"\000\000\000\000\000\000\005\133\000\000\000\000\005\133\019.\000\000\000\000\019\222\005\133\002\146\005\133\000\000\005\133\005\133\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\019\234\000\000\005\133\005\133\020\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\005\133\000\000\000\000\005\133\005\133\000\000\000\000\005\133\000\000\005\133\000\000\000\000\005\133\005\133\005\133\000\000\000\000\005\133\000\000\000\000\000\000\000\000\000\000\n\198\005\133\000\000\000\000\000\000\003m\000\000\003m\000\000\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\133\000\000\000\000\005\133\005\133\003m\000\000\005\133\000\000\000\000\000\000\000\000\005\133\005\133\003m\003m\000\000\005\133\003m\003m\000\000\000\000\000\000\000\000\003m\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003m\003m\000\000\000\000\003m\003m\003m\000\000\003m\003m\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003m\003m\000\000\000\000\000\000\000\000\003m\000\000\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\003m\001\161\000\000\000\000\000\000\000\000\000\000\000\000\003m\000\000\003m\000\000\003m\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\003m\000\000\000\000\001\161\000\000\003m\000\000\000\000\000\000\001\161\000\000\003m\001\161\001\161\003m\001\161\001\161\000\000\000\000\000\000\003m\001\161\000\000\000\000\001\030\001\161\t\226\000\000\001\161\t\230\001\161\001\161\000\000\000\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\001\161\000\000\001\161\t\234\n>\000\000\000\000\n\166\n\190\000\000\000\000\000\000\001\161\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\001\161\001\161\007~\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\000\000\000\162\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\n*\007\134\001\161\001\161\000\000\001\161\001\161\001\161\005\173\001\030\n\194\t\226\n\222\000\000\t\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n.\000\000\000\000\000\000\000\000\n2\000\000\000\000\001*\000\000\000\000\011\186\000\000\000\000\n6\000\000\000\000\t\234\n>\000\000\001\154\n\166\n\190\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\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\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\001\030\000\162\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\n*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\173\000\000\n\194\001*\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\234\n>\n.\000\000\n\166\n\190\000\000\n2\000\000\000\000\001R\000\000\001V\n\230\000\000\000\000\n6\000\000\000\000\000\000\n\n\001^\001\154\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\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\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\001\030\000\162\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\n*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\173\000\000\n\194\001*\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\234\n>\n.\000\000\n\166\n\190\000\000\n2\000\000\000\000\001R\000\000\001V\005\025\000\000\000\000\n6\000\000\000\000\000\000\n\n\001^\001\154\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\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\000\000\006\254\n\030\000\000\000\000\000\000\000\000\n\"\000\000\000\000\000\162\000\000\000\000\000\000\012)\000\000\000\000\012)\000\000\n*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\173\000\000\n\194\000\000\n\222\012)\000\000\000\000\000\000\012)\000\000\000\000\000\000\003V\n.\000\000\000\000\000\000\000\000\n2\012)\000\000\000\000\000\000\012)\001\189\012)\012)\n6\000\000\003^\000\000\000\000\003j\001\154\001\030\012)\t\226\000\000\012)\t\230\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\001*\000\000\000\000\000\000\000\000\000\000\012)\000\000\000\000\t\234\n>\000\000\000\000\n\166\n\190\000\000\000\000\000\000\012)\001R\000\000\001V\000\000\000\000\000\000\003v\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\008\166\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\012)\012)\000\000\012)\000\000\003z\000\000\012)\000\000\000\000\000\000\006\254\n\030\000\000\000\000\003\130\000\000\n\"\000\000\012)\000\162\000\000\000\000\000\000\012)\012)\000\000\000\000\001\137\n*\012)\001\137\000\000\000\000\012)\012)\012)\005\173\000\000\000\000\000\000\n\222\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\000\000\n.\000\000\000\000\000\000\001\137\n2\000\000\000\000\000\000\000\000\001\137\001\201\000\000\000\000\n6\000\000\001\137\001\137\000\000\000\000\001\154\000\000\000\000\000\000\007\178\000\000\001\137\008\002\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\002\021\000\000\000\000\000\000\000\000\002\021\001\137\000\000\001\137\000\000\000\000\007\194\000\000\000\000\002\021\002\021\000\000\008\018\008\026\000\000\000\000\000\000\000\000\002\021\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\001\137\001\198\000\000\001\137\001\137\000\000\000\000\001\137\000\000\007\234\000\000\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\002\021\001\137\001\137\000\000\001\137\000\000\000\000\000\000\000\000\002\130\001\137\001\137\000\000\001\137\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\021\007\242\000\000\000\000\002\021\000\000\000\000\000\000\007\210\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\002\021\000\000\002\021\000\000\000\000\000\000\000\000\007\186\000\000\002\021\002\021\001%\008\"\007\250\002\021\000\000\001%\000\000\000\000\000\000\000\000\000\000\007\194\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\007\226\000\000\000\000\007\202\000\000\007\218\001%\001\013\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\007\234\000\000\001%\001\013\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\001%\000\000\007\194\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\001\013\000\000\000\000\007\202\000\000\007\218\001\013\001%\007\242\000\000\000\000\001%\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\001\013\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\001\013\001%\001%\000\000\001%\007\250\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\001\013\001\013\000\000\000\000\001\013\000\000\000\000\000\000\007\210\000\000\000\000\000\000\001\005\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\001\005\000\000\001\013\001\013\001\005\001\013\001\013\001\013\000\000\001\005\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\007\202\000\000\001\005\001\005\001\t\000\000\000\000\001\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\001\t\001\005\000\000\001\005\001\t\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001\005\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001\t\000\000\000\000\007\202\000\000\001\t\001\t\001\005\001\005\000\000\000\000\001\005\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\t\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\001\t\001\005\001\005\000\000\001\005\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\t\000\000\000\000\001\t\000\000\000\000\000\000\007\210\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\007\186\000\000\001\t\001\t\001\025\001\t\001\t\001\t\000\000\001\025\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\007\202\000\000\007\218\001\025\001\017\000\000\000\000\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\000\000\007\186\007\234\000\000\001\025\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\025\000\000\007\194\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\007\202\000\000\007\218\001\017\001\025\001\025\000\000\000\000\001\025\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\001\017\001\025\001\025\000\000\001\025\001\025\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\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\001\017\000\000\000\000\000\000\007\210\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\007\186\000\000\001\017\001\017\001\021\001\017\001\017\001\017\000\000\001\021\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\007\202\000\000\007\218\001\021\001\029\000\000\000\000\001\029\000\000\000\000\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\186\007\234\000\000\001\021\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\021\000\000\007\194\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001\029\001\021\001\021\000\000\000\000\001\021\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\234\000\000\001\029\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\029\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\007\242\000\000\000\000\001\029\000\000\000\000\000\000\007\210\000\000\000\000\000\000\007\178\000\000\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\007\186\000\000\001\029\001\029\001-\001\029\001\029\001\029\000\000\001-\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001-\001-\000\000\001-\008\026\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001-\007\178\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\007\186\007\234\000\000\001-\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\001-\000\000\007\194\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\007\226\000\000\000\000\007\202\000\000\007\218\001!\001-\007\242\000\000\000\000\001-\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\234\000\000\001!\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\001!\001-\001-\000\000\008\"\007\250\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\001!\007\242\000\000\000\000\001!\000\000\000\000\000\000\007\210\000\000\000\000\000\000\007\178\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\007\186\000\000\001!\001!\001)\001!\007\250\001!\000\000\001)\000\000\000\000\000\000\000\000\000\000\007\194\000\000\000\000\001)\001)\000\000\001)\008\026\000\000\000\000\000\000\000\000\001)\000\000\000\000\001\030\007\226\001\"\000\000\007\202\001&\007\218\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008>\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\007\234\000\000\001)\001>\001B\000\000\001J\000\000\t\222\000\000\000\000\000\000\001)\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\001^\000\000\n\206\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\001)\007\242\000\000\000\000\001)\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\000\000\001~\000\000\000\000\000\162\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\001\134\000\000\001)\001)\000\000\001)\007\250\001)\000\000\000\000\001\138\008A\000\000\001\030\000\000\001\"\000\000\000\000\001&\000\000\000\000\000\000\001\142\000\000\000\000\000\000\000\000\001\146\008A\000\000\008A\000\000\008A\000\000\001*\000\000\001\150\001.\000\000\000\000\000\181\000\000\001\154\001>\001B\000\000\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\011\026\000\000\000\000\000\000\000\000\001Z\001^\000\000\000\000\001b\001f\001j\000\000\001n\001r\011\"\001v\000\000\000\000\000\000\000\000\000\181\000\181\001\030\000\000\001\"\000\000\000\000\001&\000\000\000\000\011B\001z\000\000\011*\000\000\011:\001~\014\186\000\000\000\162\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\001\134\000\000\000\000\000\000\001>\001B\000\000\001J\011J\000\000\001\138\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\001\142\000\000\001Z\001^\000\000\001\146\001b\001f\001j\000\000\001n\001r\000\000\001v\001\150\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\011R\000\000\000\000\000\000\000\000\001z\000\000\0112\000\000\000\000\001~\000\000\001\030\000\162\001\"\000\000\000\000\001&\000\000\000\181\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\138\001*\000\181\011Z\001.\000\000\000\000\000\000\000\000\000\000\001>\004\226\001\142\001J\000\000\000\000\000\000\001\146\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\001\150\000\000\000\000\000\000\001Z\001^\001\154\000\000\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\000\000\006~\006J\000b\001\030\000f\001\"\006N\000\134\001&\000\138\000\000\000\146\001z\000\150\000\000\000\154\000\174\001~\000\182\000\000\000\162\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\001\134\000\000\000\186\000\000\001>\001\130\000\000\001J\000\000\000\000\001\138\000\000\000\000\000\190\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\001\142\000\000\001Z\001^\000\000\001\146\001b\001f\001j\000\000\001n\001r\000\000\001v\001\150\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\001z\000\000\003\202\000\000\000\000\001~\000\000\003e\000\162\003e\000\000\000\000\003e\000\000\000\000\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\138\003e\000\000\000\000\003e\000\000\000\000\000\000\000\000\000\000\003e\003e\001\142\003e\000\000\000\000\000\000\001\146\000\000\000\000\003e\000\000\003e\000\000\000\000\000\000\001\150\000\000\000\000\000\000\003e\003e\001\154\000\000\003e\003e\003e\004%\003e\003e\004%\003e\000\000\000\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\003e\000\000\000\000\000\000\000\000\003e\004%\004%\003e\000\000\000\000\000\000\000\157\004%\000\000\000\000\000\000\003e\000\000\004%\004%\000\000\000\000\004%\000\000\000\000\004%\000\000\000\000\004%\000\157\000\000\004%\000\000\004%\004%\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\003e\011\"\000\000\000\000\000\000\000\000\000\000\000\157\000\157\003e\000\000\004%\000\000\000\000\000\000\003e\000\000\000\157\000\000\000\000\011*\000\000\011:\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\030\000\000\0012\000\000\000\000\0016\000\000\000\157\000\000\000\000\000\000\000\000\000\000\004%\004%\000\000\000\000\004\193\004%\000\000\004%\001*\000\000\000\000\001.\000\000\000\000\000\000\004%\000\000\001:\001N\004%\001J\000\000\004%\000\000\000\000\000\000\000\000\001R\000\000\001V\004%\000\000\000\157\000\000\004%\004%\000\000\003\022\001^\0112\000\000\003\026\001f\001j\000\000\003\030\003\"\000\000\003&\000\000\000\000\000\157\000\000\000\000\000\000\001\030\000\000\0012\000\000\000\000\0016\000\000\000\000\000\000\003*\000\000\000\157\000\157\000\000\003.\000\000\000\000\000\162\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\0036\000\000\000\000\000\000\001:\004\202\000\000\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\003:\000\000\003\022\001^\000\000\003>\003\026\001f\001j\000\000\003\030\003\"\000\000\003&\003B\000\000\000\000\000\000\000\000\000\000\001\154\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\003.\000\000\001\030\000\162\0012\000\000\000\000\0016\000\000\000\000\000\000\000\000\0036\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\001:\0032\003:\001J\000\000\000\000\000\000\003>\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\003B\000\000\000\000\000\000\003\022\001^\001\154\000\000\003\026\001f\001j\000\000\003\030\003\"\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\000\000\000\000\003*\000\000\000\000\000\000\000\000\003.\000\000\000\000\000\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0036\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\000\000\000\150\006\150\000\154\000\174\000\178\000\182\006\154\003:\000\000\000\000\000\000\000\000\003>\000\000\000\000\001\030\000\000\006\202\000\186\000\000\006\206\003B\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\190\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\006\210\008*\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\001R\001\030\001V\006\202\000\000\000\000\006\206\000\000\000\000\000\206\006\234\001^\000\000\000\000\006\238\001f\001j\000\000\006\242\006\246\000\000\006\250\001*\000\000\000\000\008\170\000\000\000\000\000\000\000\000\000\000\006\210\006\214\000\000\000\000\000\000\006\254\007\002\000\000\000\000\000\000\001R\007\006\001V\000\000\000\162\000\000\000\000\000\000\000\000\000\162\006\234\001^\000\000\007\014\006\238\001f\001j\000\000\006\242\006\246\000\000\006\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\007\018\006\254\007\002\t\166\000\000\007\022\000\000\007\006\000\000\000\000\000\162\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\007\014\001\154\000\000\001\030\000\000\006\202\000\000\000\000\006\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\007\018\000\000\001*\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\006\210\007\n\000\000\007\026\000\000\000\149\000\000\000\000\000\000\001\154\001R\001\030\001V\t\226\000\000\000\000\t\230\000\000\000\000\000\000\006\234\001^\000\000\000\149\006\238\001f\001j\000\000\006\242\006\246\000\000\006\250\001*\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\t\234\t\246\000\000\000\149\000\149\006\254\007\002\000\000\000\000\000\000\001R\007\006\001V\000\149\000\162\000\000\011*\000\000\000\149\000\000\n\n\001^\000\000\007\014\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\007\018\006\254\n\030\000\000\000\000\007\022\000\000\n\"\000\000\000\000\000\162\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\n*\001\154\000\000\001\030\000\000\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\000\000\0112\000\000\n.\000\000\001*\000\000\000\000\n2\000\000\000\000\000\000\000\000\000\149\t\234\n&\000\000\n6\000\000\000\000\000\000\000\000\000\000\001\154\001R\001\030\001V\t\226\000\149\000\149\t\230\000\000\000\000\000\000\n\n\001^\000\000\000\000\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\001*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\234\n>\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\001R\n\"\001V\000\000\000\162\000\000\007\173\000\000\000\000\000\000\n\n\001^\000\000\n*\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\000\000\000\000\n.\006\254\n\030\007\173\007\173\n2\000\000\n\"\000\000\007\173\000\162\000\000\000\000\000\000\n6\000\000\000\000\000\000\000\000\n*\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\007\173\000:\000\000\000\000\007\173\007\173\000\000\000\000\n.\000\000\000\000\000\000\007\173\n2\000\000\001\153\007\173\007\173\001\153\000\000\000\000\000\000\n6\000\000\000\000\000\000\007\173\000\000\001\154\000\000\000\000\000\000\000\000\001\153\000\000\000\000\007\173\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\001\153\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\000\000\007\173\000\000\000\000\007\173\007\173\000\000\000\000\007\173\000\000\001\153\000\000\000\000\007\173\007\173\000\000\000\000\005\133\007\173\000\000\005\133\000\000\001\153\000\000\005\133\000\000\005\133\000\000\000\000\000\000\000\000\005\133\005\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\000\000\000\000\000\000\001\153\003\166\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\005\133\000\000\003\174\000\000\000\000\000\000\001\153\001\153\001\153\000\218\000\000\000\000\007\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\007\173\007\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\000\000\000\000\003u\003u\003u\003u\000\000\003u\000\000\003u\003u\000\000\003u\000\000\003u\000\000\003u\007\173\003u\003u\003u\003u\005\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\007\173\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\007\173\000\000\000\000\007\173\007\173\003\254\000\000\000\000\004N\000\000\000\000\000\000\007\173\007\173\003u\000\000\000\000\007\173\000\000\000\000\003u\000\000\000\000\004\006\000\000\000\000\000\000\002\013\003u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\014\000\000\000\000\000\000\002\013\000\000\004^\004f\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\004\006\000\000\000\000\003u\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\004\014\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\002\013\000\000\000\000\000\000\000\000\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\004>\000\000\000\000\002\013\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\002\013\000\213\000\000\000\000\000\213\002\013\002\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004n\004F\002\013\000\000\000\213\000\000\000\000\000\000\000\213\004>\000\000\000\000\000\237\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\237\000\205\000\000\000\000\000\205\000\237\000\237\000\213\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\237\004F\000\237\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\205\000\000\000\000\000\000\000\205\000\000\000\205\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\205\000\000\000\000\004\022\000\000\000\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\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\205\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\213\000\209\000\000\000\000\000\209\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\213\000\000\000\209\000\000\000\000\000\000\000\209\000\205\000\000\000\000\000\205\000\000\000\000\000\000\004\030\000\000\000\000\000\209\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\000\000\205\000\225\000\000\000\000\000\225\000\205\000\205\000\209\000\000\000\000\004\022\000\000\000\209\000\000\000\000\000\205\000\205\000\205\000\000\004\006\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\004\014\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\225\000\000\000\000\004\022\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\209\000\000\000\000\000\209\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\209\000\217\000\000\000\000\000\217\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\209\000\209\000\000\004\006\000\000\000\000\000\000\000\217\000\225\000\000\000\000\000\225\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\225\000\221\000\000\000\000\000\221\000\225\000\225\000\217\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\225\000\225\000\225\000\000\004\006\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\004\014\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\221\000\000\000\000\004\022\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\217\000\000\000\000\000\217\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\217\000\229\000\000\000\000\000\229\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\217\000\000\004\006\000\000\000\000\000\000\000\229\000\221\000\000\000\000\000\221\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\221\003\254\000\000\000\000\000\245\000\221\000\221\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\000\221\000\221\000\221\000\000\004\006\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\004\014\000\000\000\000\000\000\000\245\000\000\000\245\004f\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\004.\000\000\000\000\004\022\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\004>\000\000\000\000\000\229\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\229\003\254\000\000\000\000\000\233\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\229\000\229\000\000\004\006\000\000\000\000\000\000\000\233\004>\000\000\000\000\000\245\000\000\000\000\000\000\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\000\000\245\003\254\000\000\000\000\000\241\000\245\000\245\004.\000\000\000\000\004\022\000\000\004&\000\000\000\000\004n\004F\000\245\000\000\004\006\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\004\014\000\000\000\000\000\000\000\241\000\000\000\241\004f\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\000\004.\003\189\000\000\004\022\003\189\004&\000\000\000\000\003\189\000\000\003\189\000\000\000\000\000\000\000\000\003\189\003\189\000\000\000\000\000\000\000\000\004>\000\000\000\000\000\233\000\000\0046\000\000\004\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\233\000\000\000\000\000\000\0021\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\004F\000\233\000\000\000\000\003\189\000\000\000\000\000\000\004>\000\000\000\000\000\241\000\000\000\000\000\000\004\030\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0021\000\000\000\000\000\241\0021\0021\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\000\0021\000\000\000\000\000\000\000\241\004F\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\005.\000F\000b\000\000\000f\0021\000j\000\134\000\000\000\138\003\189\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0021\000\000\000\190\0021\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0021\0021\000\000\000\000\000\000\0021\000\000\000\000\000\000\000\000\000\000\000\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\206\000\000\000\000\000\000\0052\0056\0002\000\214\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\005.\000F\000b\000\186\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\000\190\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\005:\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\230\000\190\000\000\000\000\002}\000\000\000\000\000\000\000\206\000\000\000\000\0002\005.\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\000\202\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\021\210\0056\000\000\000\186\000\000\0002\000\214\000F\000b\000\162\000f\000\000\000j\000\134\000\190\000\138\000\000\000\146\000\000\000\150\000\000\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\234\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\190\000\206\000\000\002-\000\000\0052\0056\000\000\021\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\012\013\000\230\002u\000\000\000\000\0002\005.\000F\000b\000\206\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\012\013\000\150\000\000\000\154\000\174\000\178\000\182\000\000\nV\000\000\000\000\000\000\000\000\000\000\000\000\012\013\000\000\005B\000\000\000\186\000\000\012\013\012\013\000\000\000\000\n^\000\000\000\000\nj\000\000\000\190\012\013\000\162\000\000\012\013\000\000\012\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\012\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\153\021\210\0056\000\000\000\000\000\000\002%\000\000\nv\000\000\000\000\000\000\0002\006B\006J\000b\000\000\000f\000\153\006N\000\134\000\000\000\138\000\000\000\146\000\169\000\150\012\013\000\154\000\174\000\178\000\182\nz\000\153\012\013\000\000\000\000\000\000\000\000\000\153\000\153\000\000\n\130\011\026\000\186\000\000\012\013\000\000\000\000\000\153\000\000\000\000\011*\000\000\000\153\000\190\000\000\021\222\011\"\000\000\000\000\012\013\012\013\000\000\000\169\000\169\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\169\000\153\006R\011*\000\000\011:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\026\000\000\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011J\000\165\011\"\000\000\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\161\011\026\0112\011*\000\000\011:\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\011\"\000\000\000\000\000\000\000\169\000\000\000\165\000\165\000\000\011\026\000\161\0112\000\000\000\153\000\153\000\000\000\165\000\000\000\000\011*\000\000\011:\000\000\000\169\011\"\000\000\000\000\000\000\000\000\000\000\000\173\000\173\011\018\000\000\000\000\000\000\000\000\000\000\000\169\000\169\011B\000\000\011J\011*\000\000\011:\000\000\000\000\000\161\000\000\011\026\000\000\000\000\000\000\000\000\0112\011\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\"\011J\000\161\000\000\000\000\000\000\000\189\011j\011\018\011\026\000\000\000\000\000\000\000\000\000\000\000\165\011B\000\161\000\161\011*\000\000\011:\0112\000\000\011\"\000\000\011\026\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\165\000\000\000\000\000\000\000\000\011R\011B\011\"\011J\011*\000\000\011:\0112\000\185\011j\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\011B\000\173\000\000\011*\000\000\011:\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\011R\000\000\000\000\011J\000\000\000\000\000\000\0112\000\000\000\000\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\000\011R\000\000\000\000\000\000\000\000\000\000\000\000\0112\000\000\000\000\011r\011Z\000\000\000\000\000\000\000\000\000\000\011R\000\000\000\177\000\000\000\000\000\000\000\000\0112\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\011Z\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\011Z"))
+ ((16, "\000\224\001Z\000\000\000\000\000\000\001\031\000\000\000\000\000\000\000\224\000\000\001T\023\164\000\000\018B\018F\000\000\000\000+\022\018B\000\000;h\018B\000\000\000\000\018B\000\000\018B\000\000\001\003\000\195\018B\000\000\018B\000\000\000\000\000\000+\224\018B\000\000;\156\018B\000\000\000\000\018B\000\000\018B\000\000\000W\000\017\018B\000\000\018B\000\000\018B\000\000;\160\018B\000\000\000\000\018B\000\000\018B\000\000\000O\000\000\000\000\000\000\018B\000\000\018B\000\000\000\000\018B\000\000\018B\000\000\000\224\001\134\018B\000\000\023\164\018B-P\000\000G<\002\008-P\000O-P\000\000\001\156\018B\000\000G\242\000\000\000O\001\234-\254\000\000\000\0008\024\000\000<\172\000\000=\"-\254-\254\019\158\019\158<\172\019\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\228-\254\000\000\000\0008\228\000\0008\228\000\000-\254\000\000\000\000\000\000\022\250\000O\000\000\019\158\000\000.v-\254\027\180-\254\000\000\000\000\000\000\000\000\000\000\000\000\030\246-\254\031d-\254 \\-\254 \202-\254\000\000-\254\000\000-\254!\194-\254\"0-\254#(-\254#\150-\254$\142-\254\001\220-\254\000\000\000\000\000\000\000\000\000\000-\254$\252-\254%\244-\254&b-\254\000\000\000\000-\254\000\000\000\000\001\190\000\000\000\000\000\000\000\000\019\236\018B\000\000\003^\018B\000\000=\220\018B\000\000\000\000\018B\000\000\018B\000\000\002<\002v\018B\000\000\018B\000\000\004\246\018B\000\000=\254\018B\000\000\000\000\018B\000\000\018B\000\000\002d\002\144\018B\000\000\018B\000\000\018B\000\000>\024\018B\000\000\000\000\018B\000\000\018B\000\000\000O\018B\000\000\018B\000\000\018B\000\000\018B\000\000\002\130\002\234\018B\000\000;h-P\002\242\018B\000\000H\252H\028\000\000\000\152\003\226\000O\003Z\004(+x\000\000\000\000\000\235I\162\000\000\000\000\000\000\000\000\001*\004l\001\012\004\128+x\000++x\000\000\000\000\003\228\000\000\003\232\004\182+x\004N\000\000\000\000\000\000\000\235\000\000\004\176\005\188\000\000\005\210\000\000\019\236\001*-P\005\028\018B\000\000;\156-P\005Z\018B\000\000\000\000\000O\006N\000\000\000\000\000\000\000\015\019\158\000\000-\254\005\140\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\005\166\000\000\000\000\005\172\000\000\005\184<\172\000\000\000\000\000\000\000\000\000\000\000\000?\000-\254\000\000?\000\000\000?\000<\172\000\000\000\000.\212\000O\000\000\019\158\005\188\000\000-\254\005\206\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H6-\254\000\000-\254\000\000\000\000\005\216\000\000\000\1889n\006\140-\254\006V\000\000\000\000<\172\000\188\000\000\000\000\000\000\000\000\000\000I\254<\172J4<\172J\138<\172K4<\172\000\000<\172\000\000<\172K\138<\172K\192<\172L4<\172L\182<\172L\236-\254\006\n<\172\000\000<\172MB<\172M\236<\172NB\005\230\000\000\005\234\000\000\001&-\254\000\000\001&\000\000\000\000\002\174\023\164\000\000\002\174\000\000\000\000\005\234-\254\000\000\005\242\000\000\019\158\005\242\000\000\000\000\006\188\000\000\019\158\005\246\000\000\000\000\005\248\000\000\000\000\001\234\000\000\006\220\000\000;\160-P\006\020\018B\000\000\000\000\006\150\000\000\006 \018B\000\000\000\000\001\132\023\164\000\000\023\164\000\000\006\020\000\000\001\132\000\000\016\030\026\006\0182\000\000\005\218\0182\000\000\0186\0182\000\000\000\000\0182\000\000\0182\000\000\006`\006\140\0182\000\000\0182\000\000\006\022\0182\000\000\018F\0182\000\000\000\000\0182\000\000\0182\000\000\006h\006\148\0182\000\000\0182\000\000\0182\000\000/\190\0182\000\000\000\000\0182\000\000\0182\000\000\000O\0182\000\000\0182\000\000\0182\000\000\0182\000\000\006l\006\152\0182\000\000\023\164\006L\000\000\0182-P\006H\0182\000\000\000\000\000[\000\000\007,\000\000\000\000\001\188-P\006L\0182\000\000\018F-P\006T\0182\000\000\000\000\021\002\0182\000\000\006R\0182\000\000/\226\0182\000\000\000\000\0182\000\000\0182\000\000\006\138\006\184\0182\000\000\0182\000\000\0072\0182\000\000/\242\0182\000\000\000\000\0182\000\000\0182\000\000\006\146\006\190\0182\000\000\0182\000\000\0182\000\0000\002\0182\000\000\000\000\0182\000\000\0182\000\000\000O\0182\000\000\0182\000\000\0182\000\000\0182\000\000\006\152\006\196\0182\000\000/\226-P\006t\0182\000\000\000\000\002\160-P\006v\0182\000\000/\242-P\006x\0182\000\000\000\000\000\000\000\000\000\000\000\000\007>-\254\006\132\021f\007B-\254\006\142\007H\000\213\006\190\006\182\000\000@<@\178\019\158\006\152\000\000\006\162@\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000A(-\254\000\000A(\000\000A(@\178\000\000\000\000\026\\\000O\000\000\019\158\006\166\000\000-\254\006\166\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,p-\254\000\000-\254\000\000\006\174\000\000\001&\000\000\000\000\000\000\000\000\000\0000\214@\17812@\1781\206@\1782*@\178\000\000@\178\000\000@\1782\198@\1783\"@\1783\190@\1784\026@\1784\182-\254\006\214@\178\000\000@\1785\018@\1785\174@\1786\n\019\158\006\182\000\000\000\000-\254\000\000\007\148\000\000\001V\007j-\254\0078\000\000\007z-\254\007`\000\000\000\003\000\000\006\182\006\182\001V\000\000\001V\000\000\016\030\006\182\006\182\000\000\000\000\000\000\025\\\000\000\000\000\000\000\000\000\007\184-\254\006\254\021f\0224\000O\007\220\000\000\007\1906\208\007\2286\208\007\2306\208\007\012\021f\021f\000\248\001J\002\208\000\000\000\000\000\000\001J\000\000\001N\000\248\000\000\000\000\007\014\000\000\000\000\000\000\007\236\000\000\007\254\000\000\000\000\008,\007\226-\254\007.\008\012\000\000\024R\007\238\019\158\0074\021f\000\000\000\000\007^\000\000\001&\000\000\005^\000\000\001V\000\000\000\000\007\176\000\000-P\000O\000\000\002\004-\254'\242\000\000A\158-\254\007<\000\000\019\158\007<\000\000\007@\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\020-\254\000\000B\020\000\000B\020B\138\019\158\007BB\138\000\000\000\000\029\022\000O\000\000\019\158\007H\000\000-\254\007F\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\254\000\134-\254\007H\000\000\000\000(\166'>\007\254-\254\000\000\007\204\000\000\000\000\000O\000\000\000\000\007\138'\242\000\000\007\134'\242\000\000\000\028\000\000\000\000:DB\138>\144B\138NxB\138N\164B\138\000\000B\138\000\000B\138N\246B\138ONB\138O\170B\138O\186B\138P\018B\138P\"B\138PDB\138P\198\000\000\007Z\000\000\007j)Z\000\000*\014\007n*\014-J\007r*\014\000\000\000\000\000\000\000\000\000\000\007l\000\000\008P\000\000\000O\000\000\002\004\008R\000\000\000N\008(\000O\007\134\008L+x\007\146\001(\000\000-\254\008p\000\000\003\226\005\020\008R+x\007\154\008x\000\000\002\008-\254\008z\000\000\008|\000\000\019\236\000O\002\172-\254\008~\000\000\008\128\000\000\012\022\003z\000\000\012\022\000\000\000\000\024R\002\188-\254\008\132\000\000\008\140\000\000\000\000\003z\000\000\000\000\tf\000\000\012\022\000\000\008n\019\158\007\188\008\156\000\000\000%\000\000\008n\000O\007\198\008\132+x\007\202\003\216\000\000-\254\008\174\000\000\008\144+x\007\214\008\180\000\000\003B-\254\008\182\000\000\008\184\000\000\019\236\000O\003r-\254\008\186\000\000\008\188\000\000\000\000\000\000\tf\000\000\000\000\003z\000\000\006\182\000\000\000%\000\000\000\000\003\154\0224\000\000\003\154\000\000\000\000\007\228\000\000\001&\000\003\021f\000\000\004\006\000Z\004\006\000\000\001\240\000\000\006\182\000\000\006\182\000\000\000\000\000\000\007\224\000\000\000\000\007\234\000\000\003\192\005^\000Z\004\006\000\000\000\000\000\000\001\240\000\000\006\182\000\000\003\192\000\000\000\000\007\168\003D\016\030\000\000\003\250\000\000\008\014\016\030\000\000\000\000\008\014\000\000\000\000\007\236\000\000\000\000\007\242\000\000\005\018\006\182\000\000\005\018\000\000\000\000\008n\000\000\003z\000\000\006\182\000\000\000\000\000\000\017j7F\000\000\008\214\000\000\017j\008\218\000\000\008\222\000\000-P\000O\005d\000\000-\254\008\226\000\000\002\254\008\180\000O\008\012\008\202+x\008\018\005t\000\000-\254\008\244\000\000\005\242\000\000-\254\008\252\000\000\019\236\000O\006\004\000\000-\254\008\254\000\000\005f\017j\000\000\024R\006\014\000\000-\254\t\000\000\000\000\000\000\000\005.\000\000\008\252\019\158\008D\t0\000\000\007\020\000\000\t\000\000O\008Z\t\024+x\008`\006\028\000\000-\254\t>\000\000\0062\000\000-\254\t@\000\000\019\236\000O\0066\000\000-\254\tB\000\000\005f\000\000\000\000\008j\000\000\005.\008\168\008\228\000\000\000\000\000\000\008\236\000\000\004~\000\003\000\000\016\030\t>\000\000\000\000-\254\008\162\006\182\000\000\008v\000\000\000\213\000\000\000\000\001\146\016\030\000\000\016\030\000\000\008d\000\000\001\146\000\000<\172\003\134<\172\000\000<\172\000\000\008h\000\000\003\134\000\000\021f\003\142\021f\000\000\021f\000\000\008l\000\000\003\142\000\000<\172\003\134\008n\000\000-P\000O\004\214-P\000\000-P\000\000\008p\000\000\004\214\000\000<\172\003\134\008r\000\000\000\000\024R\000\000\000\000\008\2247\242\000\000\000\000\000\000\000\000\000\000\008\182\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\1397\242\000\000\0036\001\144\000\000\008\184\000\143\000\000\000\000\000\000\003~\001\144\000\000\000\000\000\000\t\018\000\000\000\000\000\000\000\000\027\180\029\012\000\000C>\000\0007\242\000\000\00307\242\000\000\004|\000\250\000\250\000\000\000\187\000\250\000\000\008\146\000\000\000\000\000\000\000\000\t\024\000\000\030\004\000\000\030\1507\242\000\000\004\2227\242\000\000\t\028\000\0007\242\t\030\000\000D\1807\242\t \000\000\t\"\000\000E\148:\0027\242\008\1687\242\t.\000\000\t2\000\000\t4\000\000\023\164\000\000\004\134\023\164\000\000\008\178\0182\000\000\001\2427\242\000\000\005\1887\242\000\000\004\136\004l\000\143\000\000\000\207\000\143\000\000\008\180\000\000\000\000\000\000\000\000\t<\000\000E\222:\226\t@\000\000\tH\000\0007\242\tJ\000\0007\242\tL\000\0007\242\tT\000\000C\1387\2427\242\008\2187\242\tf\000\000\th\000\000Dj\000\000\000\000\005\2107\242\000\000\005\000\005\174\000\143\000\000\000\000\000\000\005\176\000\143\000\000\008\230\000\000\000\000\000\000\000\0007\242\000\000\005\2247\242\000\000\005\028\006\028\000\143\008\236\000\000\000\000\000\000\000\000\tr\000\000\tt\000\0007\242\tv\000\000F\190:\226\tx\000\000\tz\000\000\020\158\t$\tP/\226\000\0007\242\t\128\000\000\t\134\000\000\tX\020\1587\242\t\146\000\0007\242\t\150\000\000\t\154\000\000:\226\t\0267\242\t\158\000\000\t\160\000\000\000\143\t\018\000\000\000\000\024R\000\000\000\000\002X\t\254\000\000\000\000\002v\000\000\000\000\000\000-\254\000\000\000\000\000\000\002\174\000\000\004J\000\000\000\000\000\000\004\006@L@L@L\000\000\000N\000N\000N\000N\000\000\000\000\000\000\000\000\000\000\000\000\001V\016\030\t\244\013n\003z\000\000\000\000\003z\000\000\tf\000\000'\242\t(\000\000\001V\016\030\t.\014\198\000\000\001V\013n\000\000\000\000\000\000@L\000N\000\000\000\000\000\000\tx\001\166\t\240H\252\000\000\005\178J\002\000\000\000\000\000\000\005R\t\224\000O\000\000\005\178\000\000\005\206H\252\000\000\000\000\t8\t\238\006\182\t8\000\000\003z\000\000\tf\000\000\022L\004h\000\000\000\000\t\220\000\000\000\000\002X\000\000\004\128\000\000\000\000\000\000-\254\000\000\002\174\000\000\005\n\000\000\000\000\000\000\005^\000\000\n\190\003\196\n\190\000\000\006\182\n\190\000\000\004\210\000\000\006\182\000\000\006\182\000\000\006\182\000\000\017\004\000\000\000\000\000\000\000\000\000\000\006\182\000\000\004\210\000\000\006\182\000\000D\218\000\000\000\000\000\180\tl\000\143\003v\n\006\002\248\000\000\002\248\n.\000\000\n4\000\000\n8\000\000\000\000\002l\002\248\002\030\002\248\000\000\000\000\000\198\tD\000\000\t\130\000\143\tJ\000\000\000\180\nD\000\000\003v\004\188\nV\000I\nV\000\000\000\000\0005\000\143\000\000\003\212\000\000\000\000\000;\000\000\tR\000\000\000\000\000\000\t\142\000\143\tV\000\000\000\000\000\180\003v\004\188\0005\003\212\000;\tX\000\000\003v\004\188\0005\003\212\000;\tZ\000\000\000\143\000\000\n\\\nZ\t\160\000\143\t\250\000\000"), (16, "\011\149\011\149\011\149\011\149\011\149\011\149\011\149\011\149\011\149\011\149\011\149\000z\011\149\011\149\011\149\011\149\011\149\011\149\011\149\011\149\011\149\011\149\000~\011A\000\027\000\031\011\149\011q\011A\011A\001f\016V\011\149\008\186\011\149\011\149\011\149\012\014\004F\011\149\023R\n^\005\233\011\149\011\149\011\149\n*\016Z\001\n\n.\001\006\019\206\022\170\024\206\011\149\n2\005\217\011\149\011\149\011A\n6\024\210\021\194\011\149\011\149\011A\011\149\001\206\011\149\0119\012\018\015\150\001\218\011\149\001\n\011\149\011\149\011\149\011\149\011\149\001\n\016\250\014*\011\149\011\149\011\149\0216\011\149\011\149\011\149\011\017\011\149\011\149\011\149\011\149\011\017\011\017\000\198\011\149\011\149\006y\001\n\027b\011\230\015j\006y\006y\011\017\011\149\011\149\011\149\000\202\012\026\011\149\011\149\011\149\011\149\027J\011\149\027:\011\149\004y\004\205\011\149\001\206\018&\011\149\011\149\015\150\001\218\004\013\018*\011\017\026\178\004r\018.\017*\011\149\003a\005m\011\149\004&\006y\000\006\011\149\011\149\011\149\011\149\005\006\011\149\005\241\011\149\004]\006a\014b\011\149\011\149\011\149\001\n\011\149\026\238\011\149\011\149\004\153\011\149\001\006\011\149\011\149\019\162\020\222\011\149\011\149\006i\006i\006i\006i\006i\006i\006i\006i\006i\006i\006i\013:\006i\006i\006i\006i\006i\006i\006i\006i\006i\006i\021\182\001\n\013.\015\134\006i\011\234\011\250\012\n\027\014\004\205\006i\0142\006i\006i\006i\001\n\000\n\006i\027\030\001\006\004^\006i\004y\006i\004\198\027v\027\"\004y\004y\001\006\006\198\004\013\006i\000\018\014>\000\014\004\013\004\013\006\002\004y\004y\006i\006i\021F\001\006\007~\006i\006i\004\013\001\n\021J\006i\019\246\006i\006i\006i\006i\006i\001:\001\n\006a\006i\006i\006i\004y\006i\006i\006i\012\158\006i\006i\006i\006i\004\013\001\n\026\246\006i\006i\0002\007\158\020\022\020>\020f\020v\020\162\006\001\006\001\006i\006i\003\229\015\138\006i\006i\006i\006i\021V\006i\008\206\006i\004f\005\209\006i\001\206\013.\006i\006i\001\214\001\218\004\005\007\134\0031\0069\011\230\011)\0031\011)\019\254\001\006\006i\001\138\001>\012\026\006i\006i\006i\006i\012\162\006i\012\190\006i\005\249\004\205\003\233\006i\006i\006i\001\n\001^\004\005\006i\006i\006\129\006i\006\129\006i\006i\006\129\001\n\006i\006i\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\t\006\129\001r\008m\006\129\026\238\022\130\006!\006\129\024r\006\129\002\182\006\129\006\129\006\129\005\209\003\002\006\129\006\129\006\129\013:\006\129\006\129\006\129\006\129\011)\006\129\006\129\013^\006\129\015\182\004\005\006\129\011)\005\209\006\129\004\005\004\005\005\209\n\002\004\205\006\129\006\129\006\129\006\129\006\129\006\129\015R\004\005\015R\006\129\006\129\024r\006\129\006\222\006\129\006\129\006\129\026\198\001\006\003N\006\129\006\129\006\129\004\005\006\129\006\129\006\129\003R\006\129\006\129\006\129\006\129\004\005\003\"\026\246\003*\006\129\003:\026\202\003\146\003\150\018v\001\006\006\129\003B\026\206\006\129\006\129\001\n\006\129\006\129\006\129\006\129\006\129\003\246\006\129\007\181\006\129\006\129\011)\006\129\001\206\026\254\006\129\006\129\015\150\001\218\004\t\003J\011\230\007\181\015\214\001\n\026\246\006\129\024\131\024\135\006\129\012\026\016\n\024\139\006\129\006\129\011)\006\129\003\250\006\129\013.\006\129\020\030\015R\012\166\006\129\020F\0061\001\n\011\230\011i\015R\006\129\n\193\006\129\003Z\006\129\006\129\012\026\026\214\006\129\006\129\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\007\181\000\242\024\186\000\250\n2\001\002\001\026\001\"\001&\n6\024\190\017\006\004\014\011\230\016v\n:\011y\0129\026\222\005\005\021B\001.\012\026\001\142\nJ\nf\016\158\007\181\nj\013:\017z\013.\0016\020&\011\214\004\233\021\166\020N\005\005\n\193\011\230\007\181\004\t\001\154\004*\015R\024\242\004\t\004\t\012\026\016\190\007\181\012.\nr\025\030\025*\013:\0122\0176\004\t\026\190\0042\001\194\007\181\001\198\004\169\001J\0136\012:\015R\0046\021b\n\134\001\206\012>\011y\n\138\012B\001\218\025\227\n\142\n\146\012F\n\150\004\t\0129\0129\025\231\012J\027V\0129\007\181\006Y\013:\004m\027Z\006\025\025\234\n\154\n\158\006)\016z\012N\012R\n\162\012V\005\005\001\n\022\158\012j\0272\006A\004\133\004b\004j\012v\n\170\003f\021\178\003n\013:\003~\008\149\008\149\022\154\005\005\025>\008\149\003\134\012\150\004\130\004m\004\138\012\154\012\214\004\169\013B\020\130\n\174\013.\012\218\004\142\007\181\006\169\n\178\004\169\004\169\011\025\011\230\006\153\004\169\012\226\003\142\n\182\007\181\006\137\006\137\012\026\001\n\002\n\006\137\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\005\001\000\242\024\186\000\250\n2\001\002\001\026\001\"\001&\n6\024\190\004\150\023J\019\002\003\158\n:\004\229\024\171\024\175\005\001\011I\001.\024\179\001\142\nJ\nf\023\150\017\250\nj\020\138\006\169\019\182\0016\006q\011\214\022j\006\153\006\145\006q\006q\018b\006\198\011!\001\154\026\003\026\007\011\230\025\146\018\146\026\011\006q\006\161\012.\nr\025\030\012\026\013:\0122\017~\007\178\004\174\007\186\001\194\007\202\001\198\004\185\001J\0136\012:\018\214\007\210\001\006\n\134\001\206\012>\006q\n\138\012B\001\218\021\254\n\142\n\146\012F\n\150\004\178\008\149\008\149\005\001\012J\007\246\008\149\007\254\006\017\008\014\007\218\004\186\006\145\023N\n\154\n\158\008\022\001\n\012N\012R\n\162\012V\005\001\001\n\006I\012j\006\161\018\166\004\133\026#\026'\012v\n\170\004\206\026+\t\006\018\194\t\014\0069\t\030\008\030\018\230\013:\018f\007\234\012\150\t&\011Y\019>\012\154\012\214\018\150\013B\0031\n\174\023R\012\218\0031\011Q\019R\n\178\019n\004\185\001\n\004\226\011a\006Q\012\226\023\154\n\182\t.\006\177\006\177\004\246\008.\002\n\006\177\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\005\022\000\242\024\186\000\250\n2\001\002\001\026\001\"\001&\n6\024\190\005:\023b\025~\005F\n:\t>\005\225\022\142\0111\005N\001.\005\162\001\142\nJ\nf\018\170\025\170\nj\023>\001\n\003U\0016\005\174\011\214\018\198\023\138\005\250\006\n\006\018\018\234\006\146\006\182\001\154\006\190\006\246\011\230\019B\007\002\007\014\007\026\007&\012\022\nr\0072\012\026\007F\0122\019V\tJ\019r\tR\001\194\tb\001\198\004\213\001J\0126\012:\007V\tj\007f\n\134\001\206\012>\007n\n\138\012B\001\218\007\147\n\142\n\146\012F\n\150\019\030\007\222\007\226\012A\012J\008\"\008&\008\134\008\138\008\154\tr\008\170\008\194\008\214\n\154\n\158\019\"\008\234\012N\012R\n\162\012V\t2\001\n\t6\012j\tv\tz\004\133\t\218\t\222\012v\n\170\t\242\n\n\n\030\001\206\n>\nF\nN\015\150\001\218\013:\nV\t\130\012\150\nZ\nb\nz\012\154\012\214\004\213\013B\n\130\n\174\n\218\012\218\n\230\011.\011\166\n\178\004\213\004\213\011\206\011\226\011\238\004\213\012\226\011\246\n\182\001\n\008\157\008\157\011\254\016V\002\n\008\157\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\012\006\000\242\016Z\000\250\n2\001\002\001\026\001\"\001&\n6\012Z\012b\012r\012z\006\222\n:\012\130\012\138\012\146\012\206\012\222\001.\001\206\001\142\nJ\nf\015\150\001\218\nj\012\230\012\242\012\246\0016\007\189\011\214\012\254\013\002\013\014\013\022\013&\013J\013v\013\130\001\154\013\138\013\202\011\230\007\189\013\234\013\246\014:\014N\012\022\nr\014Z\012\026\001\n\0122\014r\014~\015\006\015\014\001\194\015\030\001\198\015*\001J\0126\012:\015F\015N\015b\n\134\001\206\012>\015n\n\138\012B\001\218\015v\n\142\n\146\012F\n\150\015z\015\130\015\146\015\162\012J\015\170\015\174\015\190\015\198\015\222\015\230\0061\016\018\007\189\n\154\n\158\016\026\016B\012N\012R\n\162\012V\016J\001\n\016N\012j\016^\016f\016j\016r\019\030\012v\n\170\016\130\016\138\016\146\016\150\016\166\016\174\016\198\016\206\017\030\013:\017f\017r\012\150\019\"\017\230\017\242\012\154\012\214\018\018\013B\018>\n\174\018J\012\218\018R\006\222\018n\n\178\018z\018\130\018\134\007\189\018\142\001\206\012\226\018\158\n\182\015\150\001\218\018\178\018\206\018\242\002\n\007\189\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\019\n\000\242\019\018\000\250\n2\001\002\001\026\001\"\001&\n6\019\022\019&\001\n\019.\0192\n:\019:\019J\019^\019z\019\142\001.\019\158\001\142\nJ\nf\019\174\019\198\nj\019\214\019\226\020\011\0016\0203\011\214\020[\020s\020\151\020\175\020\198\020\226\021N\021w\001\154\021\206\021\227\011\230\022\011\022\023\022'\022/\0061\012\022\nr\022B\012\026\022K\0122\022S\022[\022v\022\182\001\194\022\203\001\198\022\219\001J\0126\012:\022\227\022\239\022\251\n\134\001\206\012>\023\007\n\138\012B\001\218\023\026\n\142\n\146\012F\n\150\023#\023+\023n\012A\012J\023\162\023\183\023\191\023\203\023\219\023\227\023\238\023\242\024\003\n\154\n\158\024\011\024\018\012N\012R\n\162\012V\024\031\001\n\024+\012j\0243\024>\024G\024O\024[\012v\n\170\024v\024\254\025&\0256\025j\025r\025\150\025\186\025\190\013:\025\198\025\239\012\150\026\182\026\194\026\210\012\154\012\214\026\218\013B\026\226\n\174\027\011\012\218\027\018\027\027\027&\n\178\0276\027k\027z\027\131\027\167\027\195\012\226\027\210\n\182\027\214\012A\012A\027\218\027\227\002\n\012A\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\024\186\000\250\n2\001\002\001\026\001\"\001&\n6\024\190\000\000\000\000\000\000\000\000\n:\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nJ\nf\000\000\000\000\nj\000\000\000\000\000\000\0016\000\000\011\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012.\nr\000\000\000\000\000\000\0122\026:\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\0136\012:\000\000\000\000\000\000\n\134\001\206\012>\000\000\n\138\012B\001\218\000\000\n\142\n\146\012F\n\150\000\000\000\000\000\000\000\000\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\012N\012R\n\162\012V\000\000\001\n\000\000\012j\000\000\000\000\004\133\000\000\000\000\012v\n\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\012\150\000\000\000\000\000\000\012\154\012\214\000\000\013B\000\000\n\174\000\000\012\218\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\000\000\000\000\012\226\000\000\n\182\000\000\008\129\008\129\000\000\000\000\002\n\008\129\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\000\000\000\250\n2\001\002\001\026\001\"\001&\n6\000\000\000\000\000\000\000\000\000\000\n:\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nJ\nf\000\000\000\000\nj\000\000\000\000\000\000\0016\000\000\011\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012.\nr\000\000\000\000\000\000\0122\015\238\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\0136\012:\000\000\000\000\000\000\n\134\001\206\012>\000\000\n\138\012B\001\218\000\000\n\142\n\146\012F\n\150\000\000\000\000\000\000\012\029\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\012N\012R\n\162\012V\000\000\001\n\000\000\012j\000\000\000\000\000\000\000\000\000\000\012v\n\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\012\150\000\000\000\000\000\000\012\154\012\214\000\000\013B\000\000\n\174\000\000\012\218\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\000\000\000\000\012\226\000\000\n\182\000\000\012\029\012\029\000\000\000\000\002\n\012\029\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\000\000\000\250\n2\001\002\001\026\001\"\001&\n6\000\000\000\000\000\000\000\000\000\000\n:\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nJ\nf\000\000\000\000\nj\000\000\000\000\000\000\0016\000\000\011\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012.\nr\000\000\000\000\000\000\0122\025\002\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\0136\012:\000\000\000\000\000\000\n\134\001\206\012>\000\000\n\138\012B\001\218\000\000\n\142\n\146\012F\n\150\000\000\000\000\000\000\000\000\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\012N\012R\n\162\012V\000\000\001\n\000\000\012j\000\000\000\000\000\000\000\000\000\000\012v\n\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\012\150\000\000\000\000\000\000\012\154\012\214\000\000\013B\000\000\n\174\000\000\012\218\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\000\000\000\000\012\226\000\000\n\182\000\000\012i\012i\000\000\000\000\002\n\012i\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\000\000\000\250\n2\001\002\001\026\001\"\001&\n6\000\000\000\000\000\000\000\000\000\000\n:\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nJ\nf\000\000\000\000\nj\000\000\000\000\000\000\0016\000\000\011\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012.\nr\000\000\000\000\000\000\0122\025\002\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\0136\012:\000\000\000\000\000\000\n\134\001\206\012>\000\000\n\138\012B\001\218\000\000\n\142\n\146\012F\n\150\000\000\000\000\000\000\000\000\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\012N\012R\n\162\012V\000\000\001\n\000\000\012j\000\000\000\000\000\000\000\000\000\000\012v\n\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\012\150\000\000\000\000\000\000\012\154\012\214\000\000\013B\000\000\n\174\000\000\012\218\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\000\000\000\000\012\226\000\000\n\182\000\000\012e\012e\000\000\000\000\002\n\012e\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\000\000\000\250\n2\001\002\001\026\001\"\001&\n6\000\000\000\000\000\000\000\000\000\000\n:\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nJ\nf\000\000\000\000\nj\000\000\000\000\000\000\0016\000\000\011\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012.\nr\000\000\000\000\000\000\0122\017\178\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\0136\012:\000\000\000\000\000\000\n\134\001\206\012>\000\000\n\138\012B\001\218\000\000\n\142\n\146\012F\n\150\000\000\000\000\000\000\000\000\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\012N\012R\n\162\012V\000\000\001\n\000\000\012j\n*\000\000\000\000\n.\000\000\012v\n\170\024\206\000\000\n2\000\000\000\000\000\000\000\000\n6\024\210\000\000\000\000\000\000\012\150\000\000\000\000\000\000\012\154\012\214\000\000\013B\000\000\n\174\000\000\012\218\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\000\000\000\000\012\226\016V\n\182\000\000\0006\000:\000J\000\142\002\n\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\016Z\000\250\n2\001\002\001\026\001\"\001&\n6\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\001\206\001\142\000\000\nf\015\150\001\218\nj\000\000\000\000\000\000\0016\000\000\0182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018B\nr\000\000\000\000\001\n\000\000\000\000\000\000\000\000\004\153\001\194\000\000\001\198\000\000\001J\000\000\000\000\000\000\000\000\000\000\n\134\001\206\000\000\000\000\n\138\001\214\001\218\000\000\n\142\n\146\012F\n\150\000\000\000\000\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\154\n\158\005\201\007\190\005\201\005\201\n\162\005\201\005\201\001\n\005\201\008\002\005\201\000\000\005\201\000\000\005\201\000\000\n\170\005\201\005\201\005\201\005\201\000\000\005\201\000\000\005\201\000\000\000\000\005\201\000\000\005\201\005\201\000\000\005\201\000\000\005\201\005\201\013B\005\201\n\174\005\201\018F\005\201\005\201\005\201\n\178\005\201\000\000\005\201\000\000\005\201\000\000\018N\000\000\n\182\000\000\005\201\005\201\008\162\005\201\002\n\000\000\005\201\000>\005\201\000>\001N\005\201\008\226\005\201\000\000\000>\005\201\000>\005\201\000\000\005\201\005\201\000\000\000\000\000\000\000\000\005\201\000\000\005\201\000\000\005\201\005\201\005\201\005\201\005\201\000\000\005\201\000\000\000\000\000\000\005\201\005\201\005\201\000\000\005\201\000\000\005\201\000\000\005\201\000\000\005\201\005\201\005\201\005\201\005\201\005\201\005\201\005\201\005\201\000\000\005\201\005\201\005\201\005\201\005\201\005\201\005\201\005\201\005\201\005\201\000\000\000\000\000\000\000\000\005\201\000\000\000\000\005\201\000\000\000\000\000\000\000\000\005\201\000\000\005\201\000\000\005\201\005\201\005\201\005\201\000\000\000\000\005\201\000\000\000\000\000\000\005\201\005\201\005\201\005\201\005\201\005\201\005\201\005\201\000\000\005\201\000\000\000\000\005\201\005\201\005\201\005\201\000\000\005\201\000\000\005\201\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\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\001.\000\000\001\142\000\000\001\146\000\000\000\000\001\150\003\022\003\030\000\142\0016\000\146\000\000\003b\003\166\000\000\003\174\000\000\003\190\000\000\003\198\001\154\003\206\003\218\001\158\003\226\000\000\000\000\000\000\000\000\001\182\001\178\000\000\001\186\000\000\000\000\000\000\000\000\003\234\000\000\001\194\000\000\001\198\000\000\001J\000\000\000\000\000\000\000\000\003\242\001\202\001\206\000\000\000\000\001\210\001\214\001\218\002.\001\222\001\226\000\000\001\230\000\000\000\000\000\000\000\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\000\000\001\238\004\002\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\246\0006\007\166\007\174\000\142\000\000\000\146\000\000\007\242\0086\001\250\008>\020\202\008N\000\000\008V\000\000\008^\008j\001\"\008r\000\000\001\254\000\000\020\206\000\000\000\000\000\000\002\002\000\000\001\n\004Y\020\210\008z\020\214\000\000\000\000\002\006\000\000\020\218\000\000\000\000\000\000\002\n\023\234\000\000\000\000\020\234\000\000\000\000\000\000\020\238\008\250\t\002\000\142\000\000\000\146\020\242\tF\t\138\000\000\t\146\000\000\t\162\008\146\t\170\000\000\t\178\t\190\022^\t\198\000\000\000\000\020\246\023.\000\000\000\000\000\000\008\158\000\000\000\000\000\000\000\000\t\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\214\000\000\000\000\000\000\020\250\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\000\000\000\000\021\006\001\n\021\n\000\000\021\014\021\018\000\000\021\022\000\000\n:\t\230\000\000\000\000\021\026\000\000\000\000\021\030\001\142\nJ\nf\000\000\000\000\nj\000\000\000\000\000\000\000\000\000\000\011\214\000\000\000\000\021\"\000\000\000\000\000\000\021&\021*\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012f\nr\000\000\000\000\000\000\0122\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\012:\000\000\000\000\000\000\n\134\001\206\012>\000\000\n\138\012B\001\218\000\000\n\142\n\146\000\000\n\150\000\000\000\000\000\000\000\000\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\012N\012R\n\162\012V\000\000\001\n\000\000\012j\n*\000\000\000\000\n.\000\000\012v\n\170\024\206\n:\n2\000\000\000\000\000\000\000\000\n6\024\210\001\142\nJ\nf\012\150\000\000\nj\000\000\012\154\012\214\000\000\000\000\011\214\n\174\000\000\012\218\000\000\000\000\000\000\n\178\000\000\001\154\000\000\000\000\000\000\000\000\012\226\016V\n\182\000\000\nn\nr\000\000\000\000\002\n\0122\000\000\000\000\000\000\000\000\001\194\000\000\001\198\016Z\000\000\000\000\012:\000\000\000\000\000\000\n\134\001\206\012>\000\000\n\138\012B\001\218\000\000\n\142\n\146\000\000\n\150\000\000\001\206\000\000\000\000\012J\015\150\001\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\012N\012R\n\162\012V\000\000\001\n\000\000\012j\013q\000\000\000\000\013q\000\000\012v\n\170\000\000\000\000\001\n\000\000\000\000\000\000\000\000\004\153\000\000\000\000\000\000\013q\012\150\000\000\000\000\013q\012\154\012\214\002\"\013q\000\000\n\174\000\000\012\218\000\000\013q\000\000\n\178\013q\013q\000\000\013q\013q\000\000\012\226\002*\n\182\013q\005\014\000\000\000\000\013q\002\n\000\000\013q\000\000\013q\013q\000\000\000\000\007}\007}\000\000\000\000\000\000\007}\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\013q\000\242\013q\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\000\000\013q\000\000\000\000\000\000\000\000\000\000\000\000\005\026\000\000\001.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\000\000\000\000\000\000\000\000\013q\013q\000\000\013q\013q\005\030\000\000\013q\000\000\000\000\000\000\000\000\000\000\000\000\001F\005&\000\000\000\000\000\000\000\000\013q\000\000\000\000\013q\013q\013q\013q\000\000\001J\000\000\000\000\013q\013q\013q\000\000\013q\013q\013q\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\229\000\000\020\186\004\229\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\001=\000\000\004\229\000\000\000\000\001=\004\229\000\000\001=\004\229\004\229\000\000\001=\000\000\000\000\020\190\004\229\000\000\001=\004\229\004\229\000\000\004\229\004\229\000\000\001=\004\229\000\000\004\229\004\229\001=\000\000\004\229\000\000\000\000\004\229\000\000\004\229\004\229\001=\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\000\000\000\000\000\000\000\000\000\000\000\004\229\001=\004\229\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\229\000\000\000\000\000\000\001=\000\000\000\000\004\229\000\000\001=\001\n\001=\000\000\000\000\001=\000\000\020\194\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\229\004\229\000\000\004\229\005\001\004\229\000\000\004\229\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\229\000\000\000\000\001=\001=\004\229\004\233\000\000\004\229\004\233\004\229\000\000\000\000\000\000\021z\000\000\004\229\004\229\004\229\000\000\004\229\004\229\004\229\000\000\004\233\000\000\000\000\000\000\004\233\000\000\000\000\004\233\004\233\000\000\000\000\000\000\000\000\000\000\004\233\000\000\000\000\004\233\004\233\000\000\004\233\004\233\000\000\000\000\004\233\000\000\004\233\004\233\000\000\000\000\004\233\000\000\000\000\004\233\000\000\004\233\004\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\007\166\007\174\000\142\000\000\000\146\000\000\007\242\0086\000\000\008>\004\233\008N\004\233\008V\000\000\008^\008j\001\"\008r\000\000\000\000\000\000\004\233\000\000\000\000\000\000\000\000\000\000\000\000\004\233\000\000\008z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\130\000\000\000\000\000\000\000\000\000\000\004\233\004\233\000\000\004\233\005\005\004\233\000\000\004\233\000\000\000\000\000\000\000\000\000\000\000\000\008\146\004\233\013\197\000\000\000\000\013\197\004\233\000\000\000\000\004\233\000\000\004\233\000\000\000\000\008\158\000\000\000\000\004\233\004\233\004\233\013\197\004\233\004\233\004\233\013\197\000\000\000\000\n\202\013\197\000\000\000\000\000\000\000\000\000\000\013\197\000\000\000\000\013\197\013\197\000\000\013\197\013\197\000\000\000\000\n\210\000\000\013\197\n\222\000\000\000\000\013\197\000\000\000\000\013\197\000\000\013\197\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\197\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\n\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\000\000\000\000\000\000\000\000\000\000\000\000\013\197\013\197\000\000\013\197\000\000\n\238\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\197\000\000\013\197\000\000\000\000\000\000\000\000\000\000\013\197\013\197\013\197\000\000\013\197\013\197\013\197\nI\nI\nI\nI\000\000\nI\000\000\nI\nI\000\000\nI\000\000\nI\000\000\nI\000\000\nI\nI\nI\nI\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\nI\nI\nI\000\000\000\000\000\000\000\000\nI\000\000\001\137\000\000\000\000\nI\001\137\000\000\021\138\000\000\001\137\000\000\021\146\000\000\000\000\000\000\001\137\000\000\nI\001\137\001\137\000\000\001\137\001\137\000\000\nI\000\000\000\000\001\137\000\000\nI\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\nI\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\nI\001\137\000\000\nI\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\000\000\nI\000\000\000\000\nI\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\nI\001\137\002>\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\021\230\nI\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\230\001\137\001\137\000\000\001\137\001\137\001\137\n9\n9\n9\n9\000\000\n9\000\000\n9\n9\000\000\n9\000\000\n9\000\000\n9\000\000\n9\n9\n9\n9\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\141\000\000\000\000\000\000\n9\n9\n9\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\000\000\n9\000\000\013\141\000\000\000\000\000\000\000\000\000\000\000\000\013\218\000\000\000\000\000\000\n9\000\000\000\000\013\141\000\000\000\000\000\000\n9\000\000\013\141\013\141\000\000\n9\013\226\000\000\000\000\013\238\000\000\000\000\013\141\000\000\n9\013\141\000\000\013\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\n9\013\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\000\000\n9\000\000\n9\013\250\000\000\n9\000\000\n=\n=\n=\n=\000\000\n=\n9\n=\n=\n9\n=\000\000\n=\000\000\n=\013\141\n=\n=\n=\n=\013\254\000\000\013\141\000\000\n9\000\000\000\000\000\000\021\142\n9\014\006\n=\n=\n=\000\000\013\141\000\000\000\000\n=\000\000\000\000\000\000\000\000\n=\000\000\000\000\021\234\000\000\000\000\000\000\013\141\013\141\000\000\000\000\000\000\000\000\n=\000\000\000\000\000\000\000\000\000\000\000\000\n=\000\000\000\000\000\000\000\000\n=\000\000\000\000\000\000\000\000\0006\007\166\007\174\000\142\n=\000\146\000\000\007\242\0086\000\000\008>\000\000\008N\000\000\008V\000\000\008^\008j\001\"\008r\000\000\000\000\000\000\000\000\n=\000\000\000\000\n=\000\000\000\000\000\000\021\242\008z\022\014\000\000\000\000\000\000\000\000\022\026\n=\000\000\000\000\000\000\008\130\n=\000\000\n=\000\000\000\000\n=\000\000\000\000\000\000\000\000\000\000\000\000\0222\n=\000\000\000\000\n=\000\000\000\000\008\146\000\000\000\000\000\000\000\000\022^\000\000\002^\000\000\000\000\002\174\000\000\n=\000\000\008\158\000\000\000\000\n=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\000\000\000\000\000\000\002\001\000\000\000\000\000\000\002\001\022~\000\000\000\000\022\206\000\000\002n\000\000\000\000\002\001\002\001\000\000\002\206\002\214\000\000\000\000\022\230\000\000\002\001\000\000\000\000\022\242\002\142\008i\000\000\002v\022\254\002\134\002\001\000}\000\000\000\000\000}\000\000\023\n\000\000\000\000\023\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\002\150\000\000\002\001\000}\023\206\000\000\000\000\000}\000\000\023\230\000\000\000\000\002\001\002n\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\000\000}\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000}\000\000\000\000\002\158\000\000\000\000\002\001\002\001\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000}\002\001\000\000\000\000\002\001\002\001\002\001\002\001\000\000\000\000\000}\000\000\000\000\002\001\002\001\000\000\002\222\002\166\002\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\002\158\000\000\000\000\000}\000}\000\000\000\000\002~\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\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\000}\002\166\000}\000e\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002v\000\000\002\134\000e\000]\000\000\000\000\000]\000\000\000\000\000\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\000e\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\000\000e\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\002v\000\000\000]\000]\000\000\000\000\000e\000\000\000\000\000e\000e\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]\000e\000\000\000\000\000e\000e\000e\000e\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\000\000\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\000a\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\000a\000\000\000]\000]\000a\000]\000]\000]\000a\000\000\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\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002v\000\000\000a\000a\000q\000\000\000\000\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\000\000\000\000\002f\000a\000\000\000a\000q\000\000\000\000\000\000\000q\000\000\000\000\000\000\000\000\000a\002n\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\002v\000\000\002\134\000q\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000q\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000q\000\000\000\000\000a\000a\000\000\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\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002~\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\002f\000\000\000q\000q\000i\000q\000q\000q\000i\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002v\000\000\002\134\000i\000m\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\000\000\000\000\000\000\000\000\002f\000i\000\000\000i\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000i\002n\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\002v\000\000\002\134\000m\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000m\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000m\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\000m\000\000\000\000\000m\000m\000\000\000\000\002~\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000\000\002f\000\000\000m\000m\000u\000m\000m\000m\000u\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000u\002^\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\000\000\000\000\000\000\000\002f\002\150\000\000\000u\000\133\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000u\002n\000\000\000\000\000\133\000\133\000\000\000\133\002\214\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000\133\000\000\000\000\002\158\000\000\000\000\000u\000u\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\133\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\133\000\000\000\000\000u\000u\000\000\000u\000u\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\000\000\000\000\000\000\000\000\000\000\002\158\000\000\000\000\000\133\000\133\000\000\000\000\002~\000\000\000\000\000\000\000\000\002^\000\000\000\000\000y\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\002f\000\000\000\133\000\133\000y\002\222\002\166\000\133\000y\000\000\000\000\000\000\000\000\000\000\002n\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\002\142\000\000\000\000\002v\000\000\002\134\000y\002^\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\002f\002\150\000\000\000y\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000y\002n\000\000\000\000\000\129\000\129\000\000\000\129\002\214\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000\129\000\000\000\000\002\158\000\000\000\000\000y\000y\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\129\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\129\000\000\000\000\000y\000y\000\000\000y\002\166\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\002\158\000\000\000\000\000\129\000\129\014J\000\000\002~\000\000\000\000\004=\000\000\004=\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\004=\000\000\000\129\000\129\000\000\000\129\002\166\000\129\000\000\004=\004=\000\000\000\000\004=\004=\000\000\000\000\000\000\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004=\004=\000\000\000\000\004=\004=\004=\000\000\004=\004=\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=\004=\000\000\000\000\000\000\000\000\004=\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013f\004=\000\000\013j\000\000\000\000\000\000\000\000\000\000\004=\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\004=\000\000\000\000\000\000\013n\013\194\004=\000\000\014*\014B\000\000\000\000\004=\000\000\001\194\004=\001\198\000\000\000\000\000\000\000\000\004=\000\000\000\000\013\142\001\206\000\000\000\000\013\146\012B\001\218\000\000\013\150\013\154\000\000\013\158\000\000\000\000\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\154\013\162\000\000\000\000\000\000\000\000\013\166\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013f\013\174\000\000\013j\000\000\000\000\000\000\000\000\000\000\005\241\000\000\014F\000\000\014b\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\013\178\000\000\000\000\000\000\013n\013\194\013\182\000\000\014*\014B\000\000\000\000\015>\000\000\001\194\013\186\001\198\000\000\000\000\000\000\000\000\002\n\000\000\000\000\013\142\001\206\000\000\000\000\013\146\012B\001\218\000\000\013\150\013\154\000\000\013\158\000\000\000\000\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\154\013\162\000\000\000\000\000\000\000\000\013\166\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013f\013\174\000\000\013j\000\000\000\000\000\000\000\000\000\000\005\241\000\000\014F\000\000\014b\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\013\178\000\000\000\000\000\000\013n\013\194\013\182\000\000\014*\014B\000\000\000\000\014j\000\000\001\194\013\186\001\198\000\000\000\000\000\000\000\000\002\n\000\000\000\000\013\142\001\206\000\000\000\000\013\146\012B\001\218\000\000\013\150\013\154\000\000\013\158\000\000\000\000\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\154\013\162\000\000\000\000\000\000\000\000\013\166\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013f\013\174\000\000\013j\000\000\000\000\000\000\000\000\000\000\005\241\000\000\014F\000\000\014b\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\013\178\000\000\000\000\000\000\013n\013\194\013\182\000\000\014*\014B\000\000\000\000\005]\000\000\001\194\013\186\001\198\000\000\000\000\000\000\000\000\002\n\000\000\000\000\013\142\001\206\000\000\000\000\013\146\012B\001\218\000\000\013\150\013\154\000\000\013\158\000\000\000\000\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\154\013\162\000\000\000\000\000\000\000\000\013\166\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\241\000\000\014F\003!\014b\000N\003!\000V\000\000\000f\003!\000\000\003!\000\000\013\178\000\000\000n\003!\003!\000\000\013\182\000\000\000\000\000\000\000\000\000\000\001\189\000\000\000\000\013\186\000\000\000\000\000\000\000\000\000\000\002\n\000\000\000\000\000\000\000\000\000v\003!\000\000\000\000\000\000\003!\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\003!\001\002\001\026\001\"\001&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003!\000\134\000\000\000\000\000\000\001.\000\000\000\000\003!\000\000\000\000\000\000\003!\003!\000\000\000\000\0016\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\029\003!\000\154\003\029\000\162\001F\000\178\003\029\000\000\003\029\000\000\003!\000\000\000\186\003\029\003\029\003!\000\000\000\000\001J\000\000\000\000\000\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\194\003\029\000\000\000\000\000\000\003\029\000\000\000\000\000\000\000\000\003!\000\000\000\000\003!\003!\000\000\000\000\003!\000\000\000\000\000\000\003\029\003!\003!\000\000\000\000\000\000\003!\000\000\000\000\000\000\000\000\000\000\003\029\000\210\000\000\000\000\000\000\000\000\000\000\000\000\003\029\004B\000\000\000\000\003\029\003\029\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\003\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003M\000\000\003\029\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\003\029\000\000\001\161\000\000\000\000\003\029\000\000\000\000\001\161\000\000\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\000\000\003\029\000\000\000\000\003\029\003\029\000\000\000\000\003\029\000\000\000\000\000\000\000\000\003\029\003\029\001\161\000\000\001\161\003\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\0006\000:\000J\000\142\007\162\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\000\000\000\250\n2\001\002\001\026\001\"\001&\n6\000\000\001\161\011\026\000\000\001\161\000\000\000\000\000\000\001\161\000\000\001\142\001.\013f\000\000\000\000\013j\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\001\161\000\000\001\161\000\000\000\000\000\000\001\154\000\000\011\"\001\161\001\161\000\000\001\161\001\161\001\161\013n\013\194\000\000\001F\014*\014B\000\000\000\000\000\000\001R\001\194\000\000\001\198\000\000\000\000\000\000\000\000\001J\000\000\000\000\013\142\001\206\000\000\000\000\013\146\012B\001\218\000\000\013\150\013\154\000\000\013\158\000\000\012F\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\154\013\162\000\000\000\000\000\000\000\000\013\166\000\000\000\000\001\n\000\000\000\000\001\n\000\000\000\000\001\142\000\000\001\146\013\174\000\000\001\150\000\000\000\000\000\000\000\000\000\000\005\241\000\000\000\000\011\218\014b\001V\000\000\000\000\000\000\001\154\000\000\000\000\001\158\000\000\013\178\013B\000\000\000\000\001\174\001\178\013\182\001\186\000\000\013b\000\000\000\000\001\201\000\000\001\194\013\186\001\198\000\000\000\000\000\000\000\000\002\n\000\000\001\137\001\202\001\206\001\137\014R\001\210\001\214\001\218\000\000\001\222\001\226\000\000\001\230\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\234\000\000\000\000\000\000\001\137\001\238\000\000\000\000\001\n\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\001\246\000\000\013\169\001\137\000\000\013\169\001\137\000\000\001\137\001\137\001\250\008y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\169\000\000\001\254\000\000\013\169\000\000\000\000\005\146\002\002\001\137\000\000\001\137\000\000\008y\013\169\000\000\000\000\002\006\013\169\000\000\013\169\013\169\000\000\002\n\005\154\000\000\000\000\005\166\000\000\000\000\013\169\000\000\000\000\013\169\000\000\013\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\0026\000\000\001\137\001\137\000\000\000\000\001\137\000\000\013\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\013\169\000\000\001\137\001\137\000\000\001\137\000\000\005\178\000\000\000\000\002\242\001\137\001\137\000\000\001\137\001\137\001\137\000\000\000\000\008B\005\201\000\000\000\000\000\000\000\000\000\000\013\169\013\169\000\000\013\169\000\000\005\182\005\201\013\169\000\000\000\000\000\000\t\018\005\201\000\000\005\201\005\190\005\201\000\000\000\000\tV\005\201\005\201\000\000\000\000\005\201\013\169\005\201\t\150\005\201\005\201\000\000\013\169\005\201\005\201\005\201\013\169\013\169\013\169\000\000\005\201\005\201\000\000\005\201\000\000\005\201\000\000\000\000\005\201\005\201\000\000\005\201\005\201\005\201\000\000\000\000\005\201\000>\005\201\000\000\005\201\005\201\000\000\000\000\005\201\000\000\005\201\000\000\005\201\005\201\t\234\000\000\nM\000\000\005\201\000>\000\000\005\201\n\022\005\201\000\000\005\201\005\201\000>\005\201\005\201\000\000\005\201\000\000\000\000\005\201\000>\000\000\000\000\000\000\005\201\005\201\nM\000\000\005\201\000\000\005\201\005\201\005\201\000\000\005\201\005\201\005\201\005\201\000\000\005\201\000\000\000\000\000\000\005\201\005\201\000\000\005\201\005\201\005\201\005\201\005\201\005\201\005\201\005\201\000\000\005\201\005\201\005\201\005\201\005\201\005\201\005\201\000\000\005\201\005\201\005\201\005\201\000\000\005\201\005\201\000\000\005\201\005\201\000\000\000\000\011N\000\000\005\201\011\158\005\201\005\201\000\000\000\000\005\201\005\201\nM\000\000\005\201\000\000\000\000\000\000\005\201\005\201\011V\000\000\005\201\000\000\002\017\000\000\005\201\005\201\002\017\000\000\000\000\000\000\000\000\000\000\011^\000\000\000\000\002\017\002\017\000\000\011\174\011\182\000\000\000\000\000\000\000\000\002\017\000\000\001%\000\000\011~\001%\000\000\011f\000\000\011v\002\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011V\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\011\134\000\000\002\017\000\000\011^\000\000\000\000\001%\001%\000\000\001%\001%\002\017\000\000\000\000\000\000\001%\000\000\000\000\000\000\011~\000\000\000\000\011f\000\000\011v\001%\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\002\017\000\000\000\000\000\000\011n\011\134\000\000\001%\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\000\000\001%\000\000\000\000\002\017\000\000\002\017\000\000\000\000\000\000\000\000\001\013\000\000\002\017\002\017\001\013\011\190\011\150\002\017\001\013\000\000\000\000\000\000\000\000\000\000\011^\000\000\011\142\001\013\001\013\001%\001\013\001\013\000\000\011n\000\000\000\000\001\013\000\000\001\005\000\000\001\013\001\005\000\000\011f\000\000\011v\001\013\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\001\005\000\000\001%\001%\001\005\001%\011\150\001%\001\005\000\000\001\013\000\000\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\013\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\011f\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\011n\001\005\000\000\001\005\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\001\t\000\000\001\013\001\013\001\t\001\013\001\013\001\013\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\005\001\t\001\t\001\005\001\t\001\t\000\000\011n\000\000\000\000\001\t\000\000\001\025\000\000\001\t\001\025\000\000\011f\000\000\001\t\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\011V\000\000\001\005\001\005\001\025\001\005\001\005\001\005\001\025\000\000\001\t\000\000\001\t\000\000\011^\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\t\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\011f\000\000\011v\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\011n\011\134\000\000\001\025\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\011V\000\000\001\t\001\t\001\017\001\t\001\t\001\t\001\017\000\000\000\000\000\000\000\000\000\000\011^\000\000\001\025\001\017\001\017\001\025\001\017\001\017\000\000\011n\000\000\000\000\001\017\000\000\001\021\000\000\001\017\001\021\000\000\011f\000\000\011v\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\011V\000\000\001\025\001\025\001\021\001\025\001\025\001\025\001\021\000\000\001\017\000\000\001\017\000\000\011^\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\017\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\011f\000\000\011v\001\021\000\000\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\017\000\000\000\000\000\000\011n\011\134\000\000\001\021\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\011V\000\000\001\017\001\017\001\029\001\017\001\017\001\017\001\029\000\000\000\000\000\000\000\000\000\000\011^\000\000\001\021\001\029\001\029\001\021\001\029\001\029\000\000\011n\000\000\000\000\001\029\000\000\011N\000\000\011~\001-\000\000\011f\000\000\011v\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\011V\000\000\001\021\001\021\001-\001\021\001\021\001\021\001-\000\000\011\134\000\000\001\029\000\000\011^\000\000\000\000\001-\001-\000\000\001-\011\182\001\029\000\000\000\000\000\000\001-\000\000\000\000\000\000\011~\000\000\000\000\011f\000\000\011v\001-\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\001\029\000\000\000\000\000\000\011n\011\134\000\000\001-\000\000\011N\000\000\000\000\001!\000\000\000\000\000\000\000\000\001-\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\011V\000\000\001\029\001\029\001!\001\029\001\029\001\029\001!\000\000\000\000\000\000\000\000\000\000\011^\000\000\011\142\001!\001!\001-\001!\001!\000\000\011n\000\000\000\000\001!\000\000\011N\000\000\011~\001)\000\000\011f\000\000\011v\001!\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\011V\000\000\001-\001-\001)\011\190\011\150\001-\001)\000\000\011\134\000\000\001!\000\000\011^\000\000\000\000\001)\001)\000\000\001)\011\182\001!\000\000\000\000\000\000\001)\000\000\000\000\000\000\011~\000\000\000\000\011f\000\000\011v\001)\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\001!\000\000\000\000\000\000\011n\011\134\000\000\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\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\011\150\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\142\011\142\001\146\000\000\001)\001\150\000\000\000\000\011n\000\000\000\000\000\000\000\000\000\000\008y\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\001\158\001)\000\000\001)\000\000\000\000\001\174\001\178\000\000\001\186\001)\001)\000\000\001)\011\150\001)\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\000\000\001\222\001\226\001\142\001\230\001\146\000\000\000\000\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0186\000\000\000\000\001\234\000\000\000\000\001\154\000\000\001\238\001\158\000\000\001\n\000\000\000\000\000\000\001\174\001\178\000\000\001\186\000\000\001\246\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\001\250\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\001\254\001\222\001\226\000\000\001\230\000\000\002\002\020\202\000\000\008y\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\020\206\001\234\002\n\000\000\000\000\000\000\001\238\000\000\020\210\001\n\020\214\000\000\000\000\000\000\000\000\020\218\000\000\000\000\001\246\000\000\020\222\000\000\000\000\020\234\000\000\000\000\000\000\020\238\001\250\000\000\001\142\000\000\001\146\020\242\000\000\001\150\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\000\023\018\000\000\002\002\n}\000\000\020\246\001\154\000\000\000\000\001\158\000\000\002\006\000\000\000\000\000\000\001\174\007\030\002\n\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\194\000\000\001\198\n}\000\000\020\250\000\000\000\000\020\254\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\000\000\001\222\001\226\021\002\001\230\000\000\000\000\000\000\021\006\001\n\021\n\000\000\021\014\021\018\000\000\021\022\000\000\000\000\000\000\000\000\001\234\021\026\000\000\000\000\021\030\001\238\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\246\000\000\021\"\000\000\000\000\000\000\021&\021*\n}\001\142\001\250\001\146\000\000\000\000\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\000\000\000\000\000\002\002\001\154\000\000\000\000\001\158\000\000\000\000\000\000\000\000\002\006\001\174\001\242\000\000\001\186\000\000\002\n\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\000\000\001\222\001\226\000\000\001\230\000\000\000\000\000\000\006\006\000\000\000\000\000\000\000\000\0045\000\000\0045\000\000\000\000\0045\000\000\001\234\000\000\000\000\000\000\000\000\001\238\000\000\000\000\001\n\000\000\000\000\000\000\000\000\0045\000\000\000\000\0045\001\246\000\000\000\000\000\000\000\000\0045\0045\000\000\0045\000\000\001\250\000\000\000\000\000\000\000\000\0045\000\000\0045\000\000\000\000\000\000\000\000\001\254\000\000\000\000\0045\0045\020\202\002\002\0045\0045\0045\000\000\0045\0045\000\000\0045\002\006\000\000\020\206\000\000\000\000\000\000\002\n\000\000\000\000\000\000\020\210\000\000\020\214\000\000\000\000\0045\000\000\020\218\000\000\000\000\0045\000\000\020\222\0045\000\000\020\234\000\000\000\000\000\000\020\238\000\000\000\000\0045\000\000\014\150\020\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022:\000\000\000\000\000\000\000\000\020\246\014\158\000\000\0045\000\000\000\000\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\000\000\000\014\166\000\000\000\000\0045\000\000\000\000\014\230\014\238\n}\0045\020\250\000\000\000\000\020\254\000\000\000\000\014\198\000\000\000\000\014\174\000\000\014\190\000\000\000\000\000\000\021\002\000\000\000\000\000\000\000\000\021\006\001\n\021\n\000\000\021\014\021\018\020\202\021\022\000\000\000\000\000\000\000\000\014\206\021\026\000\000\000\000\021\030\000\000\020\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\210\000\000\020\214\000\000\000\000\021\"\000\000\020\218\000\000\021&\021*\n}\020\222\000\000\000\000\020\234\000\000\000\000\000\000\020\238\000\000\000\000\000\000\000\000\014\214\020\242\000\000\000\000\000\000\000\000\000\000\014\182\000\000\000\000\000\000\000\000\024:\000\000\000\000\n\169\000\000\020\246\005\201\000\000\005E\005\201\000Z\000\000\000\000\005\201\000\000\005\201\000\000\000\000\000\000\000\000\005\201\005\201\000\000\014\246\014\222\000\000\000\000\000\000\n\169\000\000\020\250\000\000\005\201\020\254\005\201\005\201\000\166\005\201\000\230\005\201\000\000\005\201\000\000\005\201\005\201\021\002\005\201\005\201\005\201\005\201\021\006\001\n\021\n\000\000\021\014\021\018\000\000\021\022\000\000\000\000\000\000\000\000\000\000\021\026\005\201\000\000\021\030\000\000\004\006\000\000\005\201\000\000\005\201\000>\005\201\000\000\005\201\000\000\000\000\000\000\000\000\021\"\000\000\000\000\005\201\021&\021*\n\169\005\201\005\201\005\201\000\000\005\201\000\000\004\218\000\000\007N\000\000\005\201\000>\000\000\000>\005\201\000\000\005\201\000\000\000\000\000\000\005\201\000\000\005\201\000\000\005\201\000\000\005\201\005\201\005\201\005\201\005\201\000\000\000\000\000\000\000\000\005\201\005\201\000\000\005\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\201\000\000\005\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\201\000\000\005\201\000\000\000\000\005\201\000\000\005\201\000\000\000\000\005\201\000\000\000\000\005\201\005\201\000\000\000\000\005\201\000\000\000\000\000\000\000\000\005\201\005\201\000\000\000\000\000\000\005\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\201\000\000\005\201\005\201\005\201\005\201\005\201\005\201\000\000\005\201\000\000\000\000\005\201\005\201\005\201\005\201\001\142\005\201\001\162\005\201\000\000\001\166\000\000\000\000\000\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\001\158\000\000\000\000\000\000\000\000\000\000\001\170\001\190\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005R\001\206\000\000\000\000\005V\001\214\001\218\000\000\005Z\005^\001\142\005b\001\162\000\000\000\000\001\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005f\000\000\000\000\001\154\000\000\005j\001\158\000\000\001\n\000\000\000\000\000\000\001\170\007\006\000\000\001\186\000\000\005r\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005R\001\206\000\000\000\000\005V\001\214\001\218\005v\005Z\005^\000\000\005b\000\000\005z\000\000\000\000\005\201\000\000\000\000\005\201\003.\000\000\005~\005\201\000\000\005\201\000\000\005f\002\n\000\000\005\201\005\201\005j\005\201\000\000\001\n\005\201\003r\000\000\000\000\005\201\000\000\005\201\000\000\005r\000\000\005\201\005\201\005\201\005\201\003\178\000\000\000\000\005\201\005\201\005\201\000\000\000\000\005\201\000\000\005\201\005\201\000\000\000\000\000\000\000\000\005v\000\000\000\000\000\000\000\000\005\201\005z\000\000\005\201\005\201\000\000\000\000\000\000\000\000\000\000\005~\000\000\000>\005\201\000\000\005\201\002\n\005\201\000\000\000\000\005\201\000\000\000\000\005\201\000\000\000\000\000\000\005\201\005\201\000>\000\000\000\000\005\201\005\201\000\000\000\000\000\000\005\201\000\000\000\000\005\201\000\000\000>\000\000\005\201\005\201\000\000\005\201\000\000\000\000\000\000\000\181\000\000\005\201\005\201\000\000\000\000\005\201\005\201\000\000\000\000\000\000\005\201\000\000\005\201\000\000\000\000\005\201\000\000\014\158\000\000\000\000\000\000\000\000\005\201\000\000\000\000\005\201\000\000\005\201\000\000\000\000\000\000\014\166\000\000\000\000\000\000\005\201\000\000\000\181\000\181\000\000\005\201\005\201\000\000\000\000\005\201\005\201\000\000\014\198\005\201\000\000\014\174\000\000\014\190\005\201\005\201\000\000\000\000\000\000\005\201\000\000\000\000\005\201\005\201\000\000\000\000\005\201\000\000\001\142\000\000\001\162\005\201\005\201\001\166\014\206\005\201\005\201\000\000\000\000\005\201\000\000\000\000\000\000\000\000\005\201\005\201\000\000\000\000\001\154\005\201\000\000\001\158\000\000\000\000\000\000\000\000\000\000\001\170\005n\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\014\214\000\000\000\000\000\000\000\000\005R\001\206\014\182\000\000\005V\001\214\001\218\000\000\005Z\005^\000\000\005b\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\000\000\000\005f\000\000\000\000\000\181\014\222\005j\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005v\000\000\000\000\000\000\000\000\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\0006\000:\000J\000\142\002\n\000\146\n*\000\150\000\218\n.\000\226\000\000\000\242\024\186\000\250\n2\001\002\001\026\001\"\001&\n6\024\190\000\000\000\000\000\000\000\000\001\142\000\000\nf\000\000\000\000\nj\001.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nn\011\198\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\134\001\206\001J\000\000\n\138\001\214\001\218\000\000\n\142\n\146\001\142\n\150\nf\000\000\000\000\nj\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\154\n\158\000\000\000\000\001\154\000\000\n\162\000\000\000\000\001\n\000\000\000\000\000\000\nn\nr\000\000\000\000\001\n\n\170\000\000\000\000\000\000\004\133\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\134\001\206\000\000\000\000\n\138\001\214\001\218\n\174\n\142\n\146\001\142\n\150\nf\n\178\000\000\nj\000\000\000\000\000\000\000\000\000\000\000\000\n\182\000\000\000\000\000\000\n\154\n\158\002\n\000\000\001\154\000\000\n\162\000\000\000\000\001\n\000\000\000\000\000\000\nn\n\166\000\000\000\000\000\000\n\170\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\134\001\206\000\000\000\000\n\138\001\214\001\218\n\174\n\142\n\146\001\142\n\150\013f\n\178\000\000\013j\000\000\000\000\000\000\000\000\000\000\000\000\n\182\000\000\000\000\000\000\n\154\n\158\002\n\000\000\001\154\000\000\n\162\000\000\000\000\001\n\000\000\000\000\000\000\013n\013z\000\000\000\000\000\000\n\170\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\142\001\206\000\000\000\000\013\146\001\214\001\218\n\174\013\150\013\154\001\142\013\158\013f\n\178\000\000\013j\000\000\000\000\000\000\000\000\000\000\000\000\n\182\000\000\000\000\000\000\n\154\013\162\002\n\000\000\001\154\000\000\013\166\000\000\000\000\001\n\000\000\000\000\000\000\013n\013\170\000\000\000\000\000\000\013\174\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\142\001\206\000\000\000\000\013\146\001\214\001\218\013\178\013\150\013\154\001\142\013\158\013f\013\182\000\000\013j\000\000\000\000\000\000\000\000\000\000\000\000\013\186\000\000\000\000\000\000\n\154\013\162\002\n\000\000\001\154\000\000\013\166\000\000\000\000\001\n\000\000\000\000\000\000\013n\013\194\000\000\000\000\000\000\013\174\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\142\001\206\000\000\000\000\013\146\001\214\001\218\013\178\013\150\013\154\000\000\013\158\000\000\013\182\000\000\000\000\000\000\000\000\008q\000\000\000\000\000\000\013\186\000\000\000\000\000\000\n\154\013\162\002\n\000\000\008q\000\000\013\166\000\000\000\000\001\n\000\000\000\000\008q\000\000\008q\000\000\000\000\000\000\013\174\008q\000\000\000\000\000\000\000\000\008q\000\000\000\000\008q\000\000\000\000\023\014\008q\021\150\000\000\000\000\000\000\000\000\008q\000\000\000\000\013\178\000\000\020\206\000\000\000\000\000\000\013\182\000\000\000\000\000\000\020\210\000\000\020\214\008q\000\000\013\186\000\000\020\218\000\000\000\000\000\000\002\n\020\222\000\000\000\000\020\234\000\000\000\000\000\000\020\238\000\000\000\000\000\000\000\000\000\000\020\242\000\000\000\000\008q\000\000\000\000\008q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\246\023.\008q\000\000\000\000\000\000\000\000\008q\008q\008q\000\000\008q\008q\000\000\008q\000\000\000\000\000\000\000\000\000\000\008q\000\000\000\000\008q\000\000\020\250\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008q\000\000\021\002\000\000\008q\008q\000\000\021\006\001\n\021\n\000\000\021\014\021\018\007\229\021\022\000\000\000\000\000\000\000\000\000\000\021\026\000\000\000\000\021\030\000\000\007\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\229\000\000\007\229\000\000\000\000\021\"\000\000\007\229\000\000\021&\021*\000\000\007\229\000\000\000\000\007\229\000\000\022\030\000\000\007\229\000\000\000\000\000\000\000\000\000\000\007\229\000\000\000\000\000\000\020\206\000\000\n*\000\000\000\000\n.\000\000\000\000\020\210\024\206\020\214\n2\007\229\023.\000\000\020\218\n6\024\210\000\000\000\000\020\222\000\000\000\000\020\234\000\000\000\000\000\000\020\238\000\000\000\000\000\000\000\000\000\000\020\242\000\000\000\000\000\000\007\229\000\000\000\000\007\229\000\000\000\000\000\000\016V\000\000\000\000\000\000\000\000\020\246\000\000\000\000\007\229\000\000\000\000\000\000\000\000\007\229\007\229\007\229\016Z\007\229\007\229\000\000\007\229\000\000\000\000\000\000\000\000\000\000\007\229\000\000\000\000\007\229\020\250\000\000\000\000\020\254\000\000\000\000\001\206\000\000\000\000\000\000\015\150\001\218\000\000\000\000\007\229\021\002\000\000\000\000\007\229\007\229\021\006\001\n\021\n\000\000\021\014\021\018\0226\021\022\000\000\000\000\000\000\000\000\000\000\021\026\000\000\000\000\021\030\000\000\020\206\000\000\001\n\000\000\000\000\000\000\000\000\004\153\020\210\000\000\020\214\000\000\000\000\021\"\000\000\020\218\000\000\021&\021*\000\000\020\222\000\000\000\000\020\234\000\000\020\202\000\000\020\238\000\000\000\000\000\000\000\000\000\000\020\242\000\000\000\000\000\000\020\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\210\000\000\020\214\000\000\020\246\008\205\008\205\020\218\000\000\000\000\008\205\000\000\020\222\000\000\000\000\020\234\000\000\000\000\000\000\020\238\000\000\000\000\000\000\000\000\000\000\020\242\000\000\000\000\000\000\020\250\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\210\000\000\000\000\021\002\000\000\000\000\000\000\000\000\021\006\001\n\021\n\000\000\021\014\021\018\000\000\021\022\000\000\000\000\000\000\000\000\000\000\021\026\000\000\000\000\021\030\020\250\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\021\002\000\000\000\000\021&\021*\021\006\001\n\021\n\000\000\021\014\021\018\020\202\021\022\000\000\000\000\000\000\000\000\000\000\021\026\000\000\000\000\021\030\000\000\020\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\210\000\000\020\214\000\000\000\000\021\"\000\000\020\218\000\000\021&\021*\000\000\020\222\000\000\000\000\020\234\000\000\000\000\000\000\020\238\000\000\000\000\000\000\000\000\000\000\020\242\000\000\000\000\000\000\000\000\000\000\000\000\004E\004E\004E\004E\000\000\004E\000\000\004E\004E\023\210\004E\000\000\004E\000\000\004E\000\000\004E\004E\004E\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\000\000\000\000\004E\000\000\020\250\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\000\000\000\000\021\006\001\n\021\n\000\000\021\014\021\018\000\000\021\022\000\000\004E\000\000\000\000\000\000\021\026\000\000\004E\021\030\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\021&\021*\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\0006\000:\000J\000\142\000\000\000\146\004E\000\150\000\218\000\000\000\226\001.\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\0016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\001\153\000\000\000\000\001\153\000\000\000\000\000\000\001F\0016\000\000\000\000\000\000\000\000\001R\004E\000\000\000\000\000\000\001\153\000\000\000\000\001J\001\153\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\153\000\000\001R\000\000\001\153\000\000\001\153\001\153\000\000\000\000\001J\000\000\000\000\000\000\000\000\000\000\001\153\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\001\n\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\000\000\0006\000:\000J\000\142\001V\000\146\001\n\000\150\000\218\001\153\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\000\000\000\000\000\000\001V\000\000\000\000\012\001\000\000\000\000\000\000\001.\000\000\000\000\001\153\005\226\000\000\001\153\000\000\000\000\000\000\001\153\0016\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\001\153\000\000\000\000\001F\000\000\000\000\005\234\000\000\000\000\001R\001\153\001\153\001\153\000\000\000\000\000\000\000\000\001J\000\000\000\000\000\000\025v\004>\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\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\001.\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\000\000\000\000\000\000\0006\000:\000J\000\142\000\000\000\146\025z\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\001F\001\002\001\026\001\"\001&\006:\000\000\000\000\006\138\000\000\000\000\000\000\003E\000\000\001J\002!\000\000\001.\004:\004>\000\000\000\000\000\000\006B\000\000\000\000\000\000\002\t\0016\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\006J\000\000\000\000\000\000\002\t\000\000\006\154\006\162\000\000\000\000\000\000\001F\000\000\006B\000\000\000\000\006j\000\237\000\000\006R\000\000\006b\000\000\000\000\000\000\001J\000\000\006J\000\000\025v\004>\000\237\000\000\000\237\000\237\000\000\000\000\004J\000\213\000\000\000\000\000\213\006r\006j\000\000\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\002\t\000\000\000\213\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\006J\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\006z\000\237\000\000\002\t\000\000\025\130\000\213\006Z\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\t\000\000\006z\000\000\000\000\000\237\000\000\000\213\000\000\006Z\006\170\006\130\002\t\000\000\000\000\000\000\000\000\000\000\000\205\000\213\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\237\006\130\000\237\000\205\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\205\000\000\006Z\000\000\000\205\000\000\000\205\000\205\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\205\000\000\000\000\006R\000\213\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\213\000\213\000\213\000\209\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\205\000\209\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\000\000\000\000\000\000\205\000\000\006B\000\000\000\000\000\209\000\225\000\000\006R\000\000\000\209\000\000\000\000\000\000\000\000\000\000\006J\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\205\000\000\000\000\000\205\000\000\000\209\000\225\006Z\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\217\000\209\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\006r\000\000\006B\000\205\000\205\000\205\000\217\000\000\000\000\000\000\000\000\000\209\000\225\000\000\000\209\000\000\006J\000\000\006Z\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\006R\000\209\006b\000\225\000\000\000\000\000\225\000\000\000\000\000\000\006Z\000\209\000\209\000\209\000\221\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\006B\000\000\000\000\000\217\000\221\000\000\000\225\000\225\000\225\000\229\000\000\000\000\000\229\000\000\006J\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\217\000\221\000\229\000\217\006R\000\000\006b\006Z\000\000\000\000\000\000\000\000\006J\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\006:\000\000\000\217\000\245\006r\006j\000\000\000\000\006R\000\000\006b\000\000\000\217\000\217\000\217\000\000\000\221\000\000\006B\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\006J\000\000\000\000\000\000\000\245\000\000\000\245\006\162\000\000\000\000\000\221\000\229\000\000\000\221\000\000\000\000\006j\006Z\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\006z\000\000\000\000\000\229\000\000\006r\000\000\006Z\000\221\000\221\000\221\000\000\000\000\000\000\000\000\000\000\006:\000\245\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006B\000\229\000\229\000\229\000\233\000\000\000\000\000\000\000\000\006z\000\000\000\000\000\245\000\000\006J\000\000\006Z\000\000\000\233\000\000\000\233\000\233\000\000\000\000\000\000\006:\000\000\000\000\000\241\000\000\006j\000\000\000\000\006R\000\245\006b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006B\006\170\006\130\000\245\000\241\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\006r\006J\000\000\000\000\000\000\000\241\000\000\000\241\006\162\000\000\000\000\000\000\000\233\000\000\000\157\000\000\000\000\006j\000\149\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\014\166\000\000\000\000\000\000\000\000\000\000\000\157\000\157\000\149\000\000\006z\000\000\000\000\000\233\000\000\006r\000\157\006Z\000\000\014\174\000\000\014\190\000\149\000\000\000\000\000\000\000\000\000\241\000\149\000\149\000\000\000\153\000\000\000\000\000\000\000\233\000\000\000\000\000\149\000\000\000\000\014\174\000\157\000\149\000\000\000\233\006\130\000\233\000\000\000\153\000\000\000\000\000\000\006z\000\000\000\000\000\241\000\000\000\000\000\000\006Z\000\000\000\000\000\153\000\149\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\241\000\153\000\157\000\000\014\174\000\000\000\153\000\000\000\000\014\182\000\241\006\130\000\241\000\000\000\000\014\158\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\149\000\000\000\000\000\153\000\000\014\166\000\000\014\182\000\000\000\000\000\000\000\169\000\169\000\157\000\157\000\000\000\000\000\000\000\000\000\161\000\149\000\169\000\000\000\000\014\174\000\000\014\190\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\149\014\158\000\000\000\000\000\000\000\153\000\000\000\000\000\000\014\158\000\000\014\206\014\182\000\000\000\000\014\166\000\000\000\000\000\000\000\000\000\000\000\161\000\161\014\166\000\000\000\153\000\000\000\000\000\000\000\165\000\165\000\161\000\000\000\000\014\174\000\173\014\190\000\000\000\000\000\165\000\153\000\153\014\174\014\150\014\190\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\014\158\000\000\000\000\014\182\000\161\000\000\000\000\014\150\014\158\000\000\000\000\000\000\014\206\000\000\014\166\000\000\000\169\000\000\000\000\000\000\000\173\000\173\014\166\000\000\000\000\014\158\000\000\000\000\000\189\014\238\014\198\000\169\000\169\014\174\000\000\014\190\000\000\000\000\014\198\014\166\000\000\014\174\000\161\014\190\000\000\000\177\000\177\000\000\000\000\014\182\000\165\000\000\000\000\000\000\000\000\014\198\014\206\014\182\014\174\000\000\014\190\000\000\000\161\000\000\014\206\000\000\000\000\000\000\000\000\000\000\000\165\000\000\014\150\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\014\206\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\014\158\000\000\000\000\000\000\014\214\000\000\000\000\000\000\000\000\000\000\000\000\014\182\014\214\000\000\014\166\000\000\000\000\000\000\000\000\014\182\000\185\014\238\000\000\000\000\000\173\000\000\000\000\000\000\000\000\014\214\014\198\000\000\000\189\014\174\000\000\014\190\014\182\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\014\246\014\222\000\177\000\000\000\000\000\000\000\000\000\000\000\000\014\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\014\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\214\000\000\000\000\000\000\000\000\000\000\000\000\014\182\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\014\222"))
let lhs =
- (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\003\001\003\001\003\001\003\001\002\001\001\001\001\001\001\001\000\001\000\001\000\000\255\000\255\000\255\000\254\000\254\000\254\000\253\000\252\000\251\000\250\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\244\000\244\000\243\000\243\000\242\000\242\000\242\000\241\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\230\000\229\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\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\221\000\220\000\219\000\219\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\214\000\213\000\213\000\213\000\213\000\212\000\212\000\212\000\212\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\211\000\210\000\209\000\209\000\208\000\208\000\208\000\207\000\207\000\206\000\206\000\206\000\205\000\205\000\204\000\204\000\204\000\203\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\195\000\194\000\194\000\193\000\193\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\188\000\188\000\187\000\186\000\186\000\185\000\185\000\185\000\185\000\185\000\184\000\184\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\182\000\182\000\181\000\180\000\180\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\175\000\175\000\174\000\174\000\174\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\000\173\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\168\000\167\000\167\000\167\000\167\000\166\000\166\000\166\000\166\000\166\000\165\000\164\000\164\000\164\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\156\000\156\000\156\000\156\000\156\000\155\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\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\130\000\129\000\129\000\128\000\128\000\127\000\127\000~\000~\000}\000}\000|\000|\000{\000{\000z\000z\000y\000y\000x\000w\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000v\000u\000t\000s\000r\000q\000p\000o\000n\000m\000l\000l\000l\000k\000k\000k\000j\000j\000j\000j\000i\000h\000g\000f\000e\000d\000c\000c\000c\000b\000b\000b\000a\000a\000`\000`\000`\000_\000_\000^\000]\000]\000]\000\\\000[\000[\000Z\000Z\000Y\000Y\000X\000X\000W\000W\000V\000V\000U\000U\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000T\000S\000S\000R\000R\000Q\000Q\000P\000P\000P\000P\000P\000O\000O\000N\000N\000N\000N\000M\000L\000K\000K\000K\000J\000J\000J\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000E\000E\000E\000E\000D\000D\000D\000D\000D\000D\000D\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000A\000A\000A\000A\000A\000A\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=\000<\000;\000:\0009\0008\0008\0007\0006\0006\0006\0006\0006\0006\0006\0005\0005\0005\0005\0005\0005\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\031\000\031\000\031\000\030\000\030\000\029\000\028\000\027\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\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\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\013\000\013\000\013\000\013\000\013")
+ (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\004\001\004\001\004\001\003\001\003\001\003\001\003\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\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\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\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\254\000\254\000\254\000\254\000\253\000\252\000\252\000\252\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\249\000\249\000\248\000\247\000\246\000\245\000\245\000\244\000\244\000\243\000\243\000\242\000\242\000\241\000\241\000\240\000\239\000\239\000\238\000\238\000\237\000\237\000\237\000\236\000\236\000\235\000\234\000\233\000\232\000\231\000\230\000\229\000\228\000\227\000\226\000\225\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\217\000\216\000\216\000\216\000\216\000\215\000\215\000\214\000\214\000\213\000\213\000\212\000\212\000\212\000\211\000\211\000\211\000\210\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\208\000\207\000\206\000\206\000\205\000\205\000\205\000\204\000\204\000\203\000\203\000\203\000\202\000\202\000\201\000\201\000\201\000\200\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\195\000\195\000\194\000\194\000\193\000\192\000\191\000\191\000\190\000\190\000\189\000\189\000\189\000\188\000\187\000\186\000\186\000\185\000\184\000\184\000\184\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\182\000\182\000\181\000\181\000\181\000\181\000\180\000\179\000\179\000\178\000\178\000\178\000\177\000\176\000\176\000\176\000\176\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\171\000\170\000\170\000\169\000\169\000\169\000\169\000\168\000\168\000\168\000\168\000\167\000\167\000\167\000\167\000\167\000\166\000\165\000\165\000\165\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\157\000\157\000\157\000\157\000\157\000\156\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\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\130\000\129\000\129\000\128\000\128\000\127\000\127\000~\000~\000}\000}\000|\000|\000{\000{\000z\000y\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000x\000w\000v\000u\000t\000s\000r\000q\000p\000o\000n\000n\000n\000m\000m\000m\000l\000l\000l\000l\000k\000j\000i\000h\000g\000f\000e\000e\000d\000d\000d\000c\000c\000b\000b\000b\000a\000a\000`\000_\000_\000_\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000X\000X\000W\000W\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000V\000U\000U\000T\000T\000S\000S\000R\000R\000R\000R\000R\000Q\000Q\000P\000P\000P\000P\000O\000N\000M\000M\000M\000L\000L\000L\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\000B\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?\000>\000=\000<\000;\000:\000:\0009\0008\0008\0008\0008\0008\0008\0008\0007\0007\0007\0007\0007\0007\0006\0005\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\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\013\000\013\000\013\000\013\000\013")
let goto =
- ((16, "\001.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\159\002\206\000\000\000\179\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000[\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\011\000\179\000u\000\000\000\000\000\000\000\000\000\000\012\226\000\128\006\208\000\000\000\000\000\000\004\232\000\000\0004\001!\0024\000\000\000\000\015\168\000\000\003\244\000\000\000B\013\"\018('x&\138\005\028'\156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000'\012'x\000\000\000\0000$\000\0004\200\000\000\t\216\000\000\000\000\000\000\000\000\001r\000\000\"\014\000\000\000\000\000\236\000\000\n\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018T\000\000\020L\000\000\020\244\000\000\021\178\000\000\024R\000\000\026J\000\000\028B\000\000\028\212\000\000\030\204\000\000\",\000\000\007\178\000\000\011\166\000\000\000\000\000\000\000\000\000\0009\170\000\0009\176\000\000:\128\000\000\"z\000\000\000\000\"\162\000\000\000\000\000#\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004F\000Z\000\000\000\230\000\000\000\000%\176\000\0004N\000\000\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\000\000\000\000\000\000\000\000\000\000\003\254'\156\000\000\n\186\000\000\018\160\005n\000\000\000\000\000\000\002\026\000\000\"\160\000\000\000\0004n\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\0002\012\000\0008 \000\000\000\000\000\000\000\000\0006\000\000\000\0004\198\000\000\000\000\000\000\tz\000\248\000\000\000\000\000\000\000\000\000\000\000\000\016&\000\000\021\232\000\000\022\188\000\000\023\224\000\000\026\128\000\000\027T\000\000\027\208\000\000\029 \000\000\029L\000\000\031\024\000\000\023h\000\000\005V\000\000\031D\000\000%\250\000\000(b\000\000\000\000\000\000\000\000\000\000\000\1314\240\000\000\000\006\000\000\000\000\000C\003@\000\000\002@\000\000\000\000\000\000\013N\000\000\000\000\000\000'\236\000\000\000\000\000\000\000\000\000\000(`\000\000\000\000\000\000\000\000\000\000\000\000\000F\000\000\000\000\000\000\0014\000\000\000\000\000\000\000\168\000\000\000\000\0004\000\179\000\000\000\000\001\023\008\208\000\000\000\000\000\000\000\000\000\000\002\164\000\000\007j\000\000\0064\000\000\000\000\003x\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\008\244\012\212\000\000\002P\000\000\000\000\004\212\003\006\000\000\000\000\000\000\000\000\014\190\000\000\000\000\000\000\000\000\000\000\000\000\001\132\003\134\000\000\005D\000\000\000\000\000\000\002*\000\000\011\152\000-\000\000.\016\000\000\000\000\000\000\000\182\002$\000\000\000\000\000\000\001\210\000\000\000\000\002\030\000\000\002j\000\000\000\000\000\000\000\000\000\"\002\170\000\000\003\"\000\000\000\000\000\000\000\000\000\000\000\0005\016\000\000)\008\000\0005:\000\000\000\000\002\194\000\000\006\172\000\000\007\252\018\204)N\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\130)N\000\000\020\028\000\000\023:\nL\000\000\000\000\000\000\003\218\000\000#\\\000\000\000\0005>\000\000\000\000\000\000\004\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008,\000\0008\180\000\000\000\000\000\000\002\164\000\000\000\000\000\000\000\000\000\000\000\000\012\180\000\000\019t\000\000\022\146\000\000\022\234\000\000\029\202\000\000 \136\000\000#\030\000\000$l\000\000(\154\000\000+\n\000\000\025`\000\000\000f\000\000+\164\000\000/\016\000\0001\206\000\000)\158\000\000\000\000\000\0005\232\000\000\000\000\000\000\000\017\000\0006\030\000\000\000\000\000\0006\"\000\000\000\000\000]\000\000\0244\000!\000\007\000\000\003\150\000\000\012\166\001\234\007B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006h\000\000)\246&\252\004<\000\000\000\000\000\000 \030\000\000.L\000\000.z\000\000*F*\154\000V\002\176\004~\000\000\000\000\000\000\004\168\000\000\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\0006\212\000\000\000\000\000\000\000\000\000\000#\238\000\000+2\000\000\000\000\000\000\000\000\000\000\000\000\013f\000\000\005\148\000\000\000\000\000\000\000\000\004\140\000\025\000\0006B\000\000\000\000\000\000\006\138\000\000\000\000\001v\003z\000\000\014X.\242\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 \208+B\000\000$\254\000\000)4\008\168+`\000\000\027\022\000\000\000\000\000\000\004\186\000\000$\128\000\000\000\0006\252\000\000\000\000\000\000\005N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0007\002\000\0007\026\000\000\000\000\000\000.\026\000\000\000\000\016D\000\000\000\000\000\000\000\000\005\160\000\000\000\000\000\000&X\000\000\000\0007\236\000\000\003l\000\000\000\000\000\000\002x\000\000\024\154\000\000\025\216\000\000\025\234\000\000 b\000\000\"\234\000\000%\144\000\000&\222\000\000-F\000\0000\018\000\0008\218\000\0009\166\000\000:^\000\000\000\000\000\000\000\000\000\000/n\000\000\013\160\000\000/|%\n\000\000/\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\000\000\000\000\000\000\000\000\000\000\000\003\160\000\000\000\0008\176\000\000\000\000\000\000.\202\000\000\000\000\003\002\000\000\000\000\000\0008\238\000\000\000\000\000\000\000\000/\220\000\000\000\000\000\000\000\000\0050\nZ\000\0000j\000\000\000\000\000\000\000\000\024\220\000&\000\000\025\132\000\000\000\000\0128\000\0000\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\226\000\000\000\0009\024\000\000\000\000\000\0000\192\000\000\000\000\004\220\000\000\000\000\013\238\000\000\026,\000\000\000\000%<\000\000\000\000\000\000\000C\000\000\000\00098\000\000\000\000\000\000\000\0000\234\000\000\000\000\000\000\000\000\t\190\0146\000\0001x\000\000\000\000\000\000\000\000\000\000\000\000\014\174\000\000\000\000\006\000\000\000\0156\000\000\000C\000\000\000\000\005^-\174\000\000\005\134\000\000\000\000\000\000\000\000\002\164\000\000,*\000\000\026\212\002D\027|\000\000\004&\000\000\015\180\000\000\016<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006d\028$\002\164\028\204\000\000\000\000\000\000\003\020\000\000\016\252\000\000\006\178\000\000\000\000\000C\005\"\029t\000\000\005\150\000\000\017\164\030\028\000\000\000\000\018L\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\184\007\246\000\000\006\216\000\000\000\000\000\000\000\000\006\208\000\000\018\244\000\000\000\000\000\000!\"7\182\000\000\000\000\000\000 \252\000\000\000\000\000\000\000\000\014\004\004\248\000\000\000\0001\154\000\000\000\000\000\000\000\000\005\006\000\000\000\0009\164\000\000\000\000\000\0001\160\000\000\000\000\000m\000\000\000\0002x\000\000\000\000\011b\006\246\000\000\000\0002~\000\000\000\000\0078!\184\000\000\0072\000\000\000\0002\150\000\000\000\000\000\000\000\000\000\000\000\000\007j\000\000\000\0009\186\000\000\000\000\000\0002\190\000\000\000\000\000\000\000\000\000\000%\206\000\000\000\000\000\000\001f\000\000\000\000\000\0003<\000\000\000\000\013\188\t\004\000\000\000\0003n\000\000\000\000\007B\000\000\000\000\000\000\000\000\002\164\001f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000d\000\000\019\156\000\000\000\000\000\0008\002\000\000\008t\000\000\000\000\000\000\0040\000\000\000\000\005:\020D\000\000\020\236\000\000\000\000\000\000\005\226\000\000!\232\006^\"\204\000\000#\204\000\000\000\000\000\000\006\220\000\000,\194\007\014-\022\000\000-6\000\000\000\000\000\000\007L\000\000'\234\007\164\000\000\000\000\005\008\0128\007\174\012\030\000\000 :\000\000\000\000\000\000\007\178\000\000,\002\007\222\000\000\000\000\000\000\003\200\000\000\000\000\000\000\004Z\000\000\000\000\000\000\004n\000\000\000\000\000\000\000\000\000\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\014\000\000\000\000\005J\000\000\002\168\000\000\000\000\007\\\000\000\006\192\005:\003J\000\000\000\000\004J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\224\000Q\000\000\000\000\002\172\000\000\000\000\000\000\008\\\000\000\000\000\t\148\n\166\000\000\000\000\000\000\000\000\011v\012\248\002\156\000\000\015,\000\000\000\000\000\000\000\000\000\000\000\000\015\236\000\000\000\000\0150\000\000\000\000\005*\000\000\000\000\007\226\000\000\000\000\tj\000\000\007\208\006\012\003\004\000\000\000\000\008\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\022\015\134\000\000\000\000\000\000\000\000\015\190\000\000\000\000\017\004\000\000\000\000\019\n\000\000\000\000\000\000\0188\004\216\000\000\020\188\000\000\000\000\000\000\000\000\000\000\000\000\000=\000\000\008d\006\008\003\248\000\000\000\000\000\000\000\000\002d\000\000\000\000\000\000\000\000\000\000\000\000\000\007\000\000\000\000\003\150\000\000\t$\006:\007\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\000\000\000\000\021\170\020\216\000\000\000\000\000\000\000\000\0202\000\000\004n\000\000\002\196\000\000\000\000\000\000\000\000\000\000\000\000\019\138\008\140\000\000\000\000\011 \000\000\000\000\000\000\000\000\000\222\000\000\014\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\191\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\150\004\008\000\000\000\000\000\000\008\234\000\000\000\000\017F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000`\012\012\000\179\012J\021\164\005\150\000\000\000\000\005R\007\n\007\136\008\030\000\000\000\000\000\000\000\000\000\000\000\000\006t\021\148\000\000\030\196\007\138\000\000\000\000\007\142\000\000\022<\000\000.\156\000\000\000\000\007x\022\228\000\000\031l\000\000\008\008 \020\000\000\000\000\000\000\006>\005R\000\000\004<\000\000\000\000\000\000\001\158\000\000\016Z\000\000\005\184\013\022\000\000\000\000\000\000\000\000\002\164\000\000\003x\000\000\005\222\000\000\000\000\005\138\000\000\000\000\000\000\000\000\tB\000\000\000\000\005R\008\236\000\000\023\140\000\000\000C\006h\000\000\000\000\000\000\000\000\000\000\001\226\000\000\000\000\000\000\000\000\000\0004 \008\130\000\000\005\016\000\000\000\000\000\000\000\000\000\000\000\230\000\000\n\002\008\160\n\138\000\000\002p\011\016\000\000\t\016\000\000\002\238\000\000\003\188\000\000\004\172\000\000\000\000\000\000\000\000\000\000\008\150\000\000\005z\000\000\t(\000\000\005\248\000\000\000C\006\194\000\000\003n\000\000\006\198\006B\000\000\004\024\000\000\008\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\136\000\000\t\144\000\000\000\000\000\000\000\000\000\000\000\000\007p\000\000\000\000\006\190\000\000\000\000\007\018\008\216\008n\000\000\008t\000\000\000\000\008\014\t\218\000\000\007\248\000\000\000\000\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\t\140\000\000\000\000\000\000\008\174\008\162\t\006\t<\008\196\t\004\000\000\000\000\008\184\t\014\t^\008\230\t,\000\000\000\000\t`\000\000\000\000\000\000\000\000\t\250\000\000\000\000"), (16, "\001\200\001\223\000\017\004\135\004\013\002!\002\"\001?\003\007\001g\002!\002\"\004\216\005<\000>\002u\005=\000*\002m\003n\003V\004\136\004d\005!\005\"\000>\000@\001~\000C\003\007\004\214\004\217\004d\000\016\005A\001\200\001\201\004\232\000*\001%\000j\000\n\004\213\000\210\003\029\000\211\003!\000>\001\202\000\210\000j\0016\001\203\004\232\003\030\004\233\000>\000E\004\236\004d\004\214\004\217\004d\0009\001\200\001\223\000\t\001\200\001\201\000\017\005i\004\233\001+\001'\004\236\004d\005j\004P\000>\000\017\004e\000j\005k\001\202\003 \004`\005\029\001\203\000*\000j\004e\004\231\000\212\005:\0008\000j\000\213\003\157\000\212\001\228\004\018\001 \000\213\004^\001h\000*\001-\001%\004a\004d\003!\001Y\001\202\000j\001@\001\202\001\203\004e\000F\001\203\004e\000>\000\226\003\008\004\019\001S\000*\000+\000\226\002$\0009\001\200\001\223\004e\000h\000\166\000\175\002\\\000s\000F\0009\001&\000>\005\167\003C\000>\000*\001\216\002H\005k\005\168\003 \002a\004\213\005m\001\139\002b\000\163\001D\003(\000\247\001\217\003\159\003|\004k\002o\003\203\004e\000\163\001D\003)\004\214\004\217\004d\003j\005n\001i\003!\005\031\001\202\000j\001F\001\216\001\203\002J\000k\001A\003H\005\186\000l\001\162\002f\001m\004\139\004\014\003W\001\217\003v\000F\000\163\001D\002\\\003<\000h\000\227\003L\003\141\000q\003N\001\232\000\227\001\216\001T\000u\001\216\002H\002a\001p\004\016\001s\002b\000\163\001D\003(\005p\001\217\000\248\004\244\001\217\001 \001\233\004e\004\246\005q\005\139\001\234\001x\005\187\005\140\001\235\001_\003\007\001j\004\249\001\236\001\\\001B\000*\001]\000j\000\173\002K\002L\002N\000k\002f\000F\000\250\000l\0037\005\142\001\200\001\223\000>\001\152\001\222\003<\000\177\002\\\000j\005\144\001h\003N\001\232\000\232\000>\002\004\000*\001\216\002m\003n\003V\000u\002a\001+\000\163\000\164\002b\000\163\001D\003(\005\189\001\217\001@\001\233\000v\000\005\001\233\000h\001\234\005q\005\139\000q\001\235\001I\005\191\001E\003!\001\236\001\202\002\245\001\236\001\154\001\203\004\016\001\159\005\152\005\153\001-\000w\000\008\000\t\002f\000\248\000*\003p\0037\005\193\001\200\001\223\001\156\000*\002\143\003<\001(\002\147\000\173\005\195\001\133\003N\001\232\000*\000>\005\026\000j\000x\005k\005\173\003V\000k\001\150\000F\004\225\000l\002\242\001\135\003C\000n\000*\003}\001\228\001\233\001 \001=\000v\001\146\001\234\000y\004\222\005\157\001\235\001\158\000\160\003\130\003!\001\236\001\202\000u\000j\004q\001\203\000{\002\148\002\183\005s\004\138\002\149\000\186\000w\000>\005\183\001\200\001\223\001+\004\232\004\153\004d\004r\002\\\003\247\000*\004u\004d\004\136\004d\000>\000\163\000\164\001\216\005k\005\173\003V\004\233\002a\000\149\004\236\004d\002b\000\163\001D\003(\001\136\001\217\001\153\003\127\005&\005'\001,\005:\003\130\004\178\003)\001\161\002u\000F\003j\000y\003!\001\135\001\202\000\150\000\215\001%\001\203\000\151\005+\000>\003\007\004\179\000*\000{\000\224\002f\005\178\004e\001(\003W\000\173\003v\000v\004e\002\143\004e\003<\002\147\002\\\004x\003\141\000F\003N\001\232\003x\002!\002\"\004e\001\216\001\231\004\223\000\148\002\162\002a\000>\002\246\000w\002b\000\163\001D\003(\005\179\001\217\002E\001\233\005\254\002\163\001\200\001\223\001\234\005q\005\139\004\235\001\235\005\255\002d\004\027\005:\001\236\000*\002[\000>\000\149\001b\002\148\005k\005\173\003V\002\149\001q\004\233\003\132\002f\004\236\004d\000\210\003W\000\233\005\181\000*\000\210\002\\\000\231\003<\000y\000\163\000\164\003A\000\150\003N\001\232\001\216\000\151\003!\004y\001\202\002a\002F\000{\001\203\002b\000\163\001D\003(\005\179\001\217\001\163\004\221\000*\005\180\000F\001\233\000F\005q\005\139\003\008\001\234\002\195\002d\003p\001\235\000j\004\129\004\222\000\212\001\236\000j\003\135\000\213\000\212\000>\002\198\004e\000\213\001\128\002f\000\173\005\006\002\194\003W\000*\005\181\000\163\000\164\002#\002\187\003<\004{\004]\005\212\003A\000\238\003N\001\232\000\226\004i\004\029\000*\003\013\000\226\001u\002\162\002\223\002\240\002\226\000>\004^\001\200\001\223\001^\002\190\004a\004d\004\182\001\233\002\163\003\017\000\163\000\164\001\234\006\007\000>\004Z\001\235\002\\\005k\005\173\003V\001\236\000F\000*\001*\004j\000\173\001\216\002\193\002\229\002t\0057\002a\0036\000>\002\193\002b\000\163\001D\003(\005\179\001\217\004|\003\030\000>\000D\003!\000C\001\202\005q\005\139\001\205\001\203\000*\002d\004y\000\210\005o\000\233\001\130\000>\000\173\005\182\004e\002m\004\223\001t\004\207\004d\000\227\002\252\002f\004\030\000*\000\227\003W\000E\005\181\003\143\002\195\000>\0017\003<\001\214\000*\000\210\003A\000\211\003N\001\232\000>\000*\004B\002\196\0058\000\241\004\133\000\210\003s\000\211\0025\005L\000j\001\200\001\223\000\212\000\163\000\176\005\161\000\213\001\233\005\162\003\020\002!\002\"\001\234\005\219\000>\000\251\001\235\0058\005k\005\173\003V\001\236\000>\004e\000*\002G\004k\004\226\000j\000\238\002D\000\212\000\226\003\143\002\\\000\213\000\252\003\153\000\163\001D\000j\000\253\004p\000\212\001\216\000\254\003!\000\213\001\202\002a\000\255\002\249\001\203\002b\000\163\001D\003(\005\179\001\217\005\166\002\151\000\226\005\190\001\200\001\223\000*\005q\005\139\004f\004\029\003e\002d\004~\000\226\000\163\000\176\003\\\000>\005\130\002F\000F\005k\005\173\003V\000\163\001D\003\030\003\005\002f\003\019\003e\000F\003W\004%\005\181\003\146\004\168\001F\000F\003<\000\163\001D\003(\003A\003g\003N\001\232\000>\001m\003!\004'\001\202\000>\003)\000\227\001\203\005E\004\222\005:\004\184\000\163\000\176\002!\002\"\003f\005\194\000\239\001\233\003,\002i\000\163\000\164\001\234\001p\002\160\001s\001\235\002\\\004C\003\185\000\241\001\236\004\241\000\227\002t\003<\003\193\001\216\005P\003A\005G\003N\002a\001\200\001\223\000\227\002b\000\163\001D\003(\005\179\001\217\001Y\000\251\005\127\000\163\001D\000>\002u\005q\005\139\002m\003n\003V\002d\002\185\001S\004(\005z\001\132\003\168\000\173\000*\005\129\000\252\000>\000@\000A\000C\000\253\003\030\002f\001\023\000\254\004'\003W\005\150\005\181\000\255\003!\002\\\001\202\003<\005\197\003\138\001\203\003A\005\132\003N\001\232\001\216\005}\005\201\000\252\005~\002a\000\173\000E\005L\002b\000\163\001D\003(\005\179\001\217\000\228\004\228\000\255\001\200\001\223\001\233\004\178\005q\005\139\004\127\001\234\000*\002d\003\140\001\235\004/\005T\000>\003\138\001\236\003\162\002m\003n\003V\004\179\000\163\001D\002!\002\"\002f\000\163\001D\0041\003W\005\128\005\181\003\162\000>\001T\004t\003<\000*\005H\005l\003A\004\128\003N\001\232\005X\003!\005[\001\202\003\139\005\128\003\164\001\203\005L\004r\003\030\000h\003\030\004u\004d\000q\005\220\002\\\001[\000F\001\233\000*\003\163\001\\\005\224\001\234\001]\001\216\000\173\001\235\0042\003\005\002a\003\019\001\236\004\003\002b\000\163\001D\003(\004\003\001\217\004\022\003|\001Y\001\200\001\223\0041\001\200\002\014\003)\002!\002\"\0049\002d\000\163\001D\000j\001S\000>\004\171\005\229\000k\002m\003n\003V\000l\002v\001F\004\005\004;\002f\004e\000F\004\004\003W\000\145\003v\004\172\001m\004\175\004d\003<\005L\004<\002\247\003A\004\181\003N\001\232\000u\003!\002\\\001\202\000j\005O\001\202\001\203\005b\004\185\001\203\004;\001\216\000F\001p\004\179\001s\002a\001\200\001\223\001\233\002b\000\163\001D\003(\001\234\001\217\003z\003|\001\235\005\230\003\210\000>\004\135\001\236\003)\002m\003n\003V\002d\004?\000F\000\163\001D\002\143\004\186\004H\002\147\004K\004e\005\235\004\136\004d\005\234\004\232\001T\002f\0041\004\239\005\170\003W\003\219\003v\004J\003!\004J\001\202\003<\005N\004N\001\203\003A\004\233\003N\001\232\004\236\004d\000\210\000>\000\233\005g\005\239\000v\001_\004\229\001`\0041\005\141\001\\\003\229\000j\001]\002\\\000\173\002\148\001\233\000>\003\030\002\149\001n\001\234\000\148\001\216\005\184\001\235\001\216\000w\002a\0051\001\236\004e\002b\000\163\001D\003(\005\170\001\217\003\161\003|\001\217\004\230\001\200\001\223\000j\004\171\003)\000\212\005\170\000E\002d\000\213\005\244\000\149\001R\004e\000>\000*\005\212\005\159\002m\003n\003V\004\172\005M\004\175\004d\002f\001S\005\188\000\210\003W\000\233\003v\005\248\000y\002\\\000\226\003<\000\150\005\176\004\187\003A\000\151\003N\001\232\001\216\004\174\003!\000{\001\202\002a\005\192\006\015\001\203\002b\000\163\001D\003(\004\242\001\217\004\026\003|\006\016\005\236\004\172\001\233\004\175\004d\003)\004\135\001\234\002\162\002d\005\246\001\235\000j\000h\000>\000\212\001\236\000i\0058\000\213\004e\005\252\002\163\006\002\004\136\004d\002f\006\t\0058\005\212\003W\004\243\003v\005\212\001\200\001\223\006\000\003<\000\163\001D\004\142\003A\005\238\003N\001\232\000\226\003O\006\001\000>\006\003\006\004\001T\005k\006\005\003 \000\227\000\163\001D\006\008\000j\004\179\005\014\004e\000F\000k\001\233\006\n\006\011\000l\001F\001\234\001\200\001\201\006\012\001\235\002\\\006\020\000\000\000\000\001\236\003!\0052\001\202\004e\001\\\001\216\001\203\001]\005\213\000\173\002a\000\000\000u\002\165\002b\000\163\001D\003(\005\185\001\217\005\137\003|\001\200\001\223\000\251\001p\001w\001s\003)\000h\002u\003\254\002d\000s\005\249\0055\000>\000j\000\000\001\202\005k\005\248\003 \001\203\000*\000\252\000\210\000\227\000\230\002f\000\253\004\193\000\000\003W\000\254\003v\000\000\005\249\005\248\000\255\003<\005\249\000\000\004\135\003A\000\000\003N\001\232\003!\000\000\001\202\000\000\000\000\000\249\001\203\000j\000\000\000\163\000\176\000>\000k\004\136\004d\005\215\000l\000\000\005\171\005\217\001\233\001\200\001\223\002\\\000j\001\234\000v\000\212\000\251\001\235\000\000\000\213\000\000\001\216\001\236\000>\000\000\000\000\002a\005k\000u\003 \002b\000\163\001D\003(\005\172\001\217\004\148\000\252\000w\000\000\000\000\004\232\000\253\005q\005\139\000\226\000\254\000\000\005\175\000\000\000\000\000\255\005\011\000\000\000\000\003!\000\000\001\202\001\216\004\233\004e\001\203\004\236\004d\000>\002f\000\000\000\000\000\000\0037\005\177\000\000\001\217\005\174\000F\000\000\003<\001\200\001\223\002\\\003A\000\000\003N\001\232\000h\000\000\000\188\004\135\000i\001\216\005\021\000>\000\000\000\000\002a\002m\003\209\003 \002b\000\163\001D\003(\005\172\001\217\001\233\004\136\004d\000\000\000\000\001\234\000v\005q\005\139\001\235\000\000\000\000\005\175\000\000\001\236\000\000\000\000\004e\003\021\003!\000\000\001\202\000\000\000\227\000\000\001\203\000j\000\000\000\000\002f\000w\000k\000\000\0037\005\177\000l\003\025\001\218\000\163\000\164\003<\000\000\002\\\000\000\003A\000>\003N\001\232\000\000\005E\000\000\004 \001\216\000\000\000>\003\156\000x\002a\002m\000u\004e\002b\000\163\001D\003(\005\172\001\217\000\000\001\233\004\146\000\000\000\000\000\000\001\234\005q\005\139\000>\001\235\000y\005\175\005E\000\000\001\236\000z\000\000\002u\004B\005\008\000\000\000\173\001\200\001\221\000{\000\000\000\000\000\000\002f\000\000\000\000\000*\0037\005\177\000\000\000\163\000\176\000\000\000\000\003<\001\200\001\223\002\\\003A\000\000\003N\001\232\001\200\001\201\000\000\000\000\000\000\001\216\000\000\000>\000\000\000\000\002a\002m\005\017\003 \002b\000\163\001D\003(\000\000\001\217\001\233\000j\000\000\001\202\000\000\001\234\000v\001\203\003)\001\235\000>\001o\003\145\000C\001\236\000\000\000\000\000>\000\000\003!\001|\001\202\000\000\000\000\000\000\001\203\000j\000\000\001\202\002f\000w\000\000\001\203\0037\003\147\000h\000\000\000\000\004\159\000q\003<\004\135\000E\000>\003A\000\000\003N\001\232\000\000\000E\000\000\003\154\000\000\000\163\005F\003\156\000\147\000h\000\000\004\136\004d\000i\000\163\001D\003(\005R\005I\000\000\001\233\001\200\001\223\000\000\000\000\001\234\000F\003)\002k\001\235\000y\000\000\000\000\000j\001\236\000>\000\163\005F\000k\002m\003\027\003 \000l\000\000\000{\000\000\000\000\000\000\005Q\005I\002\143\005y\004E\002\147\001\216\000j\000\000\000\000\000\000\003<\000k\000\000\002\\\003A\000l\003N\000u\003!\001\217\001\202\004e\000\000\001\216\001\203\003\"\000\000\000\000\002a\000>\001\216\000\000\002b\000\163\001D\003(\000\000\001\217\0011\000u\001\200\001\223\000\000\003&\001\217\000\000\003)\002[\0039\000\000\003\145\002\148\000\000\000\000\000>\002\149\000\163\001D\002m\003:\003V\003\253\000\000\000\163\001D\000>\000\000\002f\000\000\001F\000\000\0037\003\147\004\232\000\000\000\000\001F\000\000\003<\000\000\001m\000\000\003A\000\000\003N\001\232\003!\000\000\001\202\000\163\001D\004\233\001\203\002\143\004\236\004d\002\169\003\184\000\000\000v\000\000\000\000\005z\000\000\000\000\001p\001\233\001s\002u\002\\\000\000\001\234\001p\001\233\001s\001\235\000\000\000\000\001\"\001\216\001\236\000v\000*\000w\002a\000\000\000\000\001\238\002b\000\163\001D\003(\002\187\001\217\004\157\005}\001\200\001\223\005~\000j\000\173\000\000\003)\002\148\003Y\000w\003[\002\149\002\162\000\149\000>\002\230\000\000\004e\002m\003:\003V\002\190\000>\000@\001z\000C\002\163\002f\000\000\000\000\000\000\0037\003]\000\000\000\000\000y\000\163\000\176\003<\000\150\000\000\002\\\003_\000\151\003N\001\232\003!\002\232\001\202\000{\000\000\001\216\001\203\002\193\000E\000\000\002a\0010\000\000\000\000\002b\000\163\001D\003(\000\000\001\217\001\233\000\000\001\200\001\223\000\000\001\234\000\163\001D\003)\001\235\003^\000\000\002d\000>\001\236\000\000\000>\000\000\000\000\003\190\002m\003:\003V\000\000\004\135\002\238\000\000\000\000\000\000\002f\000F\002\195\004\165\003W\000\000\003X\000\000\000\000\002\162\000\000\003<\000\000\004\136\004d\003A\002\196\003N\001\232\003!\000\000\001\202\000\000\002\163\000\000\001\203\003\202\000\000\003\208\000\000\000h\000\000\005\024\000\000\001<\000\000\001\200\001\223\000\000\001\233\004\135\000\000\002\\\000\000\001\234\000\000\000\000\000\000\001\235\003P\000>\000\000\001\216\001\236\002m\003n\003V\002a\004\136\004d\000\000\002b\000\163\001D\003(\000\000\001\217\003T\004\135\000\000\000\163\001D\004e\000\000\000\000\003)\000j\000\000\000>\002d\000\000\000k\003!\001F\001\202\000l\004\136\004d\001\203\000\000\000\000\000\000\000\000\000\210\001m\000\211\002f\004\162\000\000\000\000\003W\000\000\003X\000\000\001\200\001\223\000\000\003<\000h\000u\002\\\003A\000q\003N\001\232\000\000\000\000\004e\000>\001p\001\216\001s\002m\003n\003V\002a\000\000\000\163\000\164\002b\000\163\001D\003(\000>\001\217\001\233\000\000\000\000\000\000\000j\001\234\000\000\000\212\003)\001\235\004e\000\213\002d\000\000\001\236\003!\000\000\001\202\000\000\000j\000\000\001\203\000\000\000\000\000k\000\000\000\000\000\000\000l\002f\000\000\000\000\000\000\003W\000\000\003X\000\000\000\226\002\\\000\000\003<\004\163\000\000\000\173\003A\000\000\003N\001\232\001\216\000\000\004\155\000\000\000u\002a\005\130\000\000\000v\002b\000\163\001D\003(\000\000\001\217\000\000\003u\001\200\001\223\000\000\001\233\000\000\000\000\003)\000\000\001\234\000\000\002d\000\000\001\235\000\000\000>\000w\000\000\001\236\002m\003n\003V\000\163\000\164\000\000\000\000\000\000\000\000\002f\000\000\004\171\004\191\003W\000\000\003v\000\000\000\000\000\000\000\210\003<\000\233\000\000\002\\\003A\000\000\003N\001\232\003!\004\172\001\202\004\175\004d\001\216\001\203\000\000\000\227\000\000\002a\000\000\004\196\002\181\002b\000\163\001D\003(\000\000\001\217\001\233\003w\0054\000v\004\163\001\234\000\173\000\000\003)\001\235\000\163\001D\002d\000\000\001\236\000\000\000\000\000j\001\200\001\223\000\212\004\166\002\183\005z\000\213\000\000\000\000\000w\000\000\002f\000\000\000\000\000>\003W\000\000\003v\002m\003\148\003V\000\000\003<\000\000\004e\000\000\003A\000\000\003N\001\232\000\000\000\000\000\226\000\000\005\133\000\149\005\134\000\000\005}\000\000\000\252\005~\000\000\000\173\000\000\000\000\003!\000\000\001\202\000\000\001\233\000\000\001\203\002\\\001\001\001\234\000\000\000y\000\000\001\235\000\000\000\150\000\000\001\216\001\236\000\151\000h\000\000\002a\000\000\000q\000{\002b\000\163\001D\003(\000\000\001\217\000\000\003\137\003\150\000\000\000\000\000\000\001\200\001\223\003)\000\000\000h\000\000\002d\000\000\000i\000\000\000\000\000\000\000\000\000\000\000>\000\000\000\000\004\135\002m\003\148\003V\000\000\000\000\002f\000\000\000\000\000\000\003W\000j\003v\000\227\000\000\000\000\000k\003<\004\136\004d\000l\003A\000\000\003N\001\232\000\210\000\000\000\229\000\000\003!\000\000\001\202\000\000\000j\004\199\001\203\002\\\000\000\000k\0052\000\000\000\000\000l\000\000\000u\001\233\001\216\001\200\001\223\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\251\003\152\000\000\001\030\000u\001\200\001\223\003)\000\000\000j\000\000\002d\000\212\003\170\000\000\004e\000\213\000\000\000\000\000>\000\000\000\252\000\000\002m\003:\003V\000\253\000\000\002f\000\000\000\254\000j\003W\001\202\003\151\000\255\000\000\001\203\000\000\003<\000\000\004\171\000\226\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\004\172\000\000\004\175\004d\000\000\000v\000\000\000\000\001\233\001\216\001\200\001\201\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\001\"\001\228\000\000\000v\000\000\000w\001\200\001\223\003)\000\000\000\000\000>\002d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000>\004\232\000\000\000\000\002m\000\000\003 \000w\000\000\002f\000\000\000\149\000j\003W\001\202\003\151\000\000\004e\001\203\004\233\003<\000\227\004\236\004d\003A\004\211\003N\001\232\000\000\001\216\000\000\000\000\003!\000y\001\202\000\000\000\000\000\150\001\203\002\\\000\000\000\151\000\000\001\217\000\000\000\000\000\000\000{\001\233\001\216\001\200\001\220\005\013\001\234\002a\000y\001\230\001\235\002b\000\163\001D\003(\001\236\001\217\004\020\000\000\000\000\000\000\003\156\000}\001\200\001\223\003)\000\000\000h\000>\002d\000\000\000i\000\000\000\000\004e\005\016\000\000\000>\004\232\000\000\000\000\002m\000\000\003 \001\232\000\000\002f\000\000\000\000\000j\003W\001\202\003X\000\000\000\000\001\203\004\233\003<\000\000\004\236\004d\003A\000\000\003N\001\232\001\233\001\216\000\000\000\000\003!\001\234\001\202\000\000\000j\001\235\001\203\002\\\000\000\000k\001\236\001\217\004\202\000l\000\000\000\000\001\233\001\216\000\163\000\164\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\004\"\000\000\000\000\000\000\003\156\000u\001\200\001\223\003)\004\135\000h\000\000\003\145\000\000\000i\000\000\000\000\004e\005\005\000\000\000>\000\000\000\000\004\135\002m\000\000\003 \004\136\004d\002f\000\000\000\000\000\000\0037\003\147\005\008\000\000\000\173\000\000\000\000\003<\004\136\004d\005\019\003A\000\000\003N\001\232\001\233\001\216\000\000\000\000\003!\000\000\001\202\000\000\000j\000\000\001\203\002\\\000\000\000k\001\240\001\217\000\000\000l\000\000\000\000\001\233\001\216\000\163\000\164\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\004$\000\000\004e\000v\003\156\000u\001\200\001\223\003)\000\000\000\000\000\000\003\145\000\000\000\000\000\000\004e\000\000\000\000\000\000\000>\000h\000\000\000\000\002m\000i\003 \000w\000>\002f\000\000\000\000\005E\0037\003\147\005\008\000\000\000\173\000\000\000\000\003<\000\000\004\171\005\t\003A\000\000\003N\001\232\000\210\000\000\000\211\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\004\172\000\000\004\175\004d\000\000\000\000\000\000\000j\001\233\001\216\000\000\000\000\000k\001\234\002a\000y\000l\001\235\002b\000\163\001D\003(\001\236\001\217\005U\000\000\000\000\000v\003\156\000\127\001\200\001\223\003)\000\000\000j\000\000\003\145\000\212\005]\000\000\000u\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\003:\003V\000w\000\000\002f\000\000\004\209\000\000\0037\003\147\000\000\000\000\004e\000\000\000\000\003<\000\000\000\000\000\226\003A\004\253\003N\001\232\000\000\001\200\001\201\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\001\216\000\210\000\000\000\211\001\234\002a\000y\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\163\005F\000\129\001\200\001\223\003)\001\200\001\201\000j\003\145\001\202\000v\005H\005I\001\203\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\000\000\000\002f\000\000\000\000\000j\0037\003\147\000\212\000\000\000\000\000w\000\213\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\000\001\200\001\219\000\000\003!\000\000\001\202\000j\000\000\001\202\001\203\002\\\000\000\001\203\000\000\000\000\004\255\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000h\001\234\002a\000\000\000q\001\235\002b\000\163\001D\003(\001\236\001\217\005c\000\000\000y\000\000\003\156\000\000\001\200\001\223\003)\000\000\000\000\000j\002d\001\202\005\143\000\000\000\131\001\203\000\000\000\000\000>\000\000\000\000\000\000\002m\003:\003V\000\252\001\216\002f\000\000\000\000\000\000\003W\000j\003X\000\000\000\000\000\000\000k\003<\001\003\001\217\000l\003A\000\000\003N\001\232\000\210\000\000\000\211\000\000\003!\001\021\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000u\001\233\001\216\000\000\000\000\001\216\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\001\217\000\000\000\000\003\165\001\200\001\223\003)\000\000\000j\000\000\003\145\000\212\000\000\000\000\000\000\000\213\000\000\000\000\000>\000h\000\000\000\000\002m\000i\003V\001\233\001\216\002f\000\000\000\000\000\000\0037\003\147\000\000\000\000\000\000\000\000\000\000\003<\001\242\001\217\000\226\003A\000\000\003N\001\232\000\000\000\252\000\000\000\000\003!\000\000\001\202\000\000\000\000\002\143\001\203\002\\\002\147\000\000\000\000\001\005\000\000\000v\000\000\000j\001\233\001\216\000\000\001\233\000k\001\234\002a\000\000\000l\001\235\002b\000\163\001D\003(\001\236\001\217\000\148\001\244\000\000\000\000\000\000\000w\001\200\001\223\003)\000\000\000\000\000\000\002d\000\000\000\000\000\000\000u\003Z\000\000\000j\000>\000\000\000\000\002\148\002m\000\000\003 \002\149\000\000\002f\000\000\000\149\000\000\003W\000\000\003X\000\000\000\000\000\000\000\000\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000y\001\202\000\000\000\000\000\150\001\203\002\\\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\001\233\001\216\000\000\000\000\000h\001\234\002a\000\000\000q\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\000\000\001\200\001\223\003)\000\000\000\000\000\000\003\167\000\000\000v\000\000\000\000\003\031\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\252\000\000\002f\000\000\000\000\000\000\003W\000j\003\169\002\162\000\000\000w\000k\003<\001\007\000\000\000l\003A\000\000\003N\001\232\002\143\000\000\002\163\002\147\003!\002\002\001\202\000\000\000\000\002\143\001\203\002\\\002\147\000\000\000\000\000\000\000\000\000\000\000\000\000u\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000y\000\000\000\000\000\000\001\200\001\223\003)\000\000\000j\000\000\0035\000\000\002\148\000\000\000\133\003;\002\149\000j\000>\000h\000\000\002\148\002m\000i\003 \002\149\000\000\002f\000\000\000\000\000\000\0037\0038\000\000\000\000\002\195\000\000\000\000\003<\000\000\000\000\000\000\003A\000\000\003N\001\232\000\210\000\000\000\211\002\200\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000v\000\000\000j\001\233\001\216\000\000\000\000\000k\001\234\002a\000\000\000l\001\235\002b\000\163\001D\003(\001\236\001\217\000\148\000\000\000\000\000\000\000\000\000w\001\200\001\223\003)\000\000\000j\000\000\0035\000\212\000\000\000\000\000u\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \002\162\000\000\002f\000\000\000\149\000\000\0037\0038\000\000\002\162\000\000\000\000\002\143\003<\002\163\002\147\000\226\003A\000\000\003N\001\232\000\000\000\000\002\163\000\000\003!\000y\001\202\000\000\000\000\000\150\001\203\002\\\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\001\233\001\216\000\210\000\000\000\211\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000j\000\000\000\000\000\000\002\148\001\200\001\223\003)\002\149\000\000\000\000\0035\000\000\000v\000\000\000\000\000\000\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\000\002\195\002f\000\000\000\000\000j\0037\0038\000\212\000\000\002\195\000w\000\213\003<\000\227\002\202\000\000\003A\000\000\003N\001\232\000\210\000\000\000\211\002\204\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000y\000\000\000\000\003y\001\200\001\223\003)\000\000\000j\000\000\003r\000\212\000\000\000\000\000\135\000\213\002\162\000\000\000>\000h\000\000\000\000\002m\000i\003 \000\252\000\000\002f\000\000\000\000\002\163\0037\003t\000\000\000\000\000\000\000\000\000\000\003<\001\t\000\000\000\226\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000j\001\233\001\216\000\000\000\000\000k\001\234\002a\000\000\000l\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\003q\001\200\001\223\003)\000\000\000h\000\000\003r\000\000\000i\000\000\000u\000\000\000\000\002\164\000>\000\000\000\000\000\000\002m\000\000\003 \000\000\000\000\002f\000\000\000\000\000\000\0037\003t\000\000\000\000\000\000\000\000\000\000\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\210\000\252\000\211\000\000\003!\000\000\001\202\000\000\000j\000\000\001\203\002\\\000\000\000k\000\000\001\011\000\000\000l\000\000\000\000\001\233\001\216\000\210\000\000\000\211\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\003\133\000u\001\200\001\223\003)\000\000\000j\000\000\003\134\000\212\000v\000\000\000\000\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\252\000\000\002f\000\000\000\000\000j\0037\003\136\000\212\000\000\000\000\000w\000\213\003<\001\013\000\000\000\226\003A\000\000\003N\001\232\000\000\001\200\001\201\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000y\000v\003\144\003\131\001\200\001\223\003)\000\000\000\000\000j\003r\001\202\000\000\000\000\000\137\001\203\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000w\000\000\002f\000\000\000\000\000\000\0037\003t\000\000\000\000\000\000\000\000\000\000\003<\000\227\000\000\000\000\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000y\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\003\149\000\139\001\200\001\223\003)\000\000\000h\000\000\003\145\000\000\000i\000\000\005Y\000\000\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\252\001\216\002f\000\000\000\000\000\000\0037\003\147\000\000\000\000\000\000\000\000\000\000\003<\001\015\001\217\000\000\003A\000\000\003N\001\232\000\210\000\252\000\211\000\000\003!\000\000\001\202\000\000\000j\000\000\001\203\002\\\000\000\000k\000\000\001\017\000\000\000l\000\000\000\000\001\233\001\216\000\210\000\000\000\211\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\000u\001\200\001\223\003)\000\000\000j\000\000\003\145\000\212\000\000\000\000\005e\000\213\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \001\233\000\000\002f\000\000\000\000\000j\0037\003\147\000\212\000\000\000\000\000\000\000\213\003<\001\246\000\000\000\226\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\002\\\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\001\233\001\216\000\000\000\000\000\000\001\234\002a\000\000\000\000\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000v\000\000\000\000\001\200\001\223\003)\000\000\000\000\000h\005Z\000\000\000\000\000q\005h\000\000\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000w\000\000\002f\000\000\000\000\000\000\0037\005\\\000\000\000\000\000\000\000\000\000>\003<\000\227\000\000\002m\003A\002\143\003N\001\232\002\147\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000j\001\203\002\\\000\000\000\000\000k\000\227\001\200\001\201\000l\000\000\001\233\001\216\000\000\004B\000\000\001\234\002a\000y\0029\001\235\002b\000\163\001D\003(\001\236\001\217\000\000\000\000\000\000\000\000\000\000\000\141\000u\000j\003)\000\000\000\000\002\148\005Z\000\000\000\000\002\149\002\143\000\000\000\000\002\168\000\000\000\000\000\000\000\000\000\000\000\000\000j\000\252\001\202\002f\000\000\000\000\001\203\0037\005\\\000\000\000\000\000\000\001\200\001\223\003<\001\019\000\000\000\000\003A\000\000\003N\001\232\000\000\000\252\000\000\000\000\000>\000\000\000\000\000\000\003\183\001\200\001\223\002\\\000\000\000\000\000j\001\025\000\000\000\000\002\148\000\000\001\233\001\216\002\149\000>\000\000\001\234\002a\003\183\003\215\001\235\002b\000\163\001D\003(\001\236\001\217\003\218\000\000\001\202\000\000\000v\000\000\001\203\000\000\003)\000\000\000\000\004\n\005Z\000\000\000\163\001D\003(\000\000\000\000\003\218\000\000\001\202\003\224\000\148\002\162\001\203\000\000\003)\000w\002f\000\000\000\000\000\000\0037\005\\\000\000\000\000\000\000\002\163\000\000\003<\003\224\000\000\001\216\003A\000\000\003N\001\232\001\200\001\223\004\006\000\000\004G\001\228\000\149\001 \000\000\001\217\000\000\003<\000\000\000\000\000>\003A\000\000\003N\003\183\000\000\001\233\000\000\000\000\000\000\000\210\001\234\000\233\000\000\000y\001\235\000\000\002\162\000\150\000\000\001\236\000\000\000\151\000\000\003\217\000\000\000\000\000\000\000{\000h\000\000\002\163\003\218\000q\001\202\000\000\000\000\000\000\001\203\001\216\000\000\000\000\000\000\000>\000h\000\000\000\000\002\195\000i\000\163\001D\003\225\000\000\001\217\003\224\000\000\000j\000\000\001\216\000\212\000\000\002\206\003\226\000\213\001\233\000\000\004\008\000\000\000\163\001D\003\225\000\000\001\217\000\000\000\000\000j\000\000\000\000\001\248\000\000\000k\003\226\000\000\000h\000l\003\238\000\000\000s\000\000\000\226\000j\000\000\000\000\000\000\003\240\000k\000\000\000\000\004\t\000l\003\252\001\232\000h\000h\000\000\000\000\000q\000s\000u\000\000\000\000\000\000\000\000\003\240\000\000\000\000\000>\003\245\000\000\003\252\001\232\000\000\001\233\000u\000\210\000\000\000\233\001\234\000\000\000j\000\000\001\235\000\000\001\216\000k\000\000\001\236\000\000\000l\002\143\000\000\001\233\002\147\000\163\001D\003\225\001\234\001\217\000j\000j\001\235\000\000\000\000\000k\000k\001\236\003\226\000l\000l\000\000\003\238\000\000\000u\000\000\000\000\001\200\001\201\000\000\000\000\000\000\000j\000\227\000\000\000\212\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000u\000u\000\000\000\000\000j\000\163\000\164\003\240\002\148\000v\000\000\003\245\002\149\003\252\001\232\000h\004*\000\000\000\000\000q\000\000\000\000\000\226\000\000\000v\000\167\000\168\000\170\000\171\000>\000j\000\000\001\202\000w\000\000\001\233\001\203\000\000\000\000\000\251\001\234\000\000\000\000\000\000\001\235\000\000\000\000\000\000\000w\001\236\000\000\000\000\000\000\000\000\000\172\000\000\000\173\000\000\000\000\000\149\000\252\000j\000\000\000v\000\000\000\253\000k\000\000\000\000\000\254\000l\000\210\000\000\000\233\000\255\000\000\000\000\000\000\000\163\000\164\000\000\000y\000v\000v\000\000\000\150\000\000\000w\000h\000\151\000\000\000\000\000q\000\000\000u\000{\000y\000\178\000\167\000\217\000\170\000\171\000>\000\000\000\227\002\162\000w\000w\000\000\000\000\000\143\000\000\000\000\000x\000\000\000\000\000\000\000j\000\000\002\163\000\212\000\000\000\000\000\000\000\213\000\000\000\000\000\172\000\000\000\173\004,\001\216\000\149\000x\000j\000y\000\000\000\000\000\000\000k\000\159\000\000\000\000\000l\000\000\001\217\000\000\000\000\000\000\000{\000\226\001\200\001\201\000\251\000y\000y\000\000\000\000\000\150\000\000\000\162\000h\000\151\000\000\000\000\000q\000\000\000u\000{\000{\000\178\000\000\000\163\000\164\000\252\000>\000v\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\255\000\000\002\195\000\000\000\167\001\207\000\170\000\171\000\000\000j\000\000\001\202\000w\000\000\000\000\001\203\002\208\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\001\233\000\000\000l\000\000\000\000\000\000\000\000\000\172\000\000\000\173\002\143\000\000\000\149\002\167\001\250\000\000\002\143\000\000\000\227\002\147\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\163\000\164\000\000\000y\000v\000\000\000\000\000\150\000\000\000\000\000h\000\151\000\000\004.\000q\000\000\000\000\000{\000\000\000\178\000\167\002^\000\170\000\171\000>\000j\000\000\000\000\000w\002\148\000\000\002[\000\000\002\149\000\000\002\148\000\251\000\000\000\000\002\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\172\000\000\000\173\002\143\001\216\000\149\002\147\000j\000\252\000\000\000\000\000\000\000k\000\253\000\000\000\000\000l\000\254\001\217\000h\000\000\000\000\000\255\000q\000\163\000\164\000\000\000y\000v\000\000\000\000\000\150\000\000\000>\000h\000\151\000\000\000\000\000q\000\000\000u\000{\000\000\000\178\000\167\002\153\000\170\000\171\000>\000j\000\000\000\000\000w\002\148\000\000\000\000\000\210\002\149\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000j\000\000\002\187\000\000\000\000\000k\000\000\000\000\000\172\000l\000\173\000\000\002\162\000\149\000\000\000j\000\000\000\000\002\162\000\000\000k\002\233\001\233\000\000\000l\000\000\002\163\002\190\000\000\000\000\000\000\000\000\002\163\000u\000\000\000y\001\252\000j\002\143\000\150\000\212\002\147\000\000\000\151\000\213\000\000\000\000\000\000\000u\000{\000\000\000\178\000\000\000\163\000\164\000\000\000\000\000v\000\000\002\193\000\000\000\000\000\000\000h\000\000\000\000\000\000\000q\000\000\000\000\000\226\000\000\000\000\000\167\003>\000\170\000\171\000>\000\000\000\000\000\000\000w\000\000\000\000\002[\002\162\000\000\000\000\002\148\000\000\000\000\000\000\002\149\000\000\000\000\000\000\002\236\000\000\000\000\002\163\000\000\000\000\000\172\002\195\000\173\002\143\000\000\000\149\002\147\000j\000\000\000\163\000\164\000\000\000k\000v\000\000\002\196\000l\000\000\001\200\001\223\000\000\000\000\000\000\000\000\000\163\000\164\000h\000y\000v\000\180\000\193\000\150\000\171\000\000\000\000\000\151\000\000\000w\003b\000\000\000u\000{\000\000\000\178\000\167\003\242\000\170\000\171\000\000\000j\000\227\000\000\000w\002\148\000\000\000\000\000\000\002\149\000\172\000\000\000\173\001\030\001 \000\149\002[\000\000\001\202\002\187\002\195\000\000\001\203\000\000\000j\000\172\000\000\000\173\000\000\000k\000\149\000\000\000h\000l\002\210\002\162\000q\000y\002\189\000\000\000\000\000\150\000\000\000\000\002\190\000\151\000>\000\000\000\000\002\163\000h\000{\000y\000\178\000q\000\000\000\150\000u\000\000\000\000\000\151\000\000\000\000\000\000\000>\003h\000{\000\000\000\178\001\228\000\163\000\164\000\252\000\000\000v\000\000\002\193\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\001\027\000l\000\000\000\210\000h\000\233\000\000\001\"\000q\000\000\000j\000\000\000w\000\000\000\000\000k\002\162\000\000\000>\000l\000\000\002\\\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\002\163\001\216\000\000\001(\002\195\000\173\002a\000\000\000\149\000\000\002b\000\000\000\000\000u\000\000\001\217\000\000\000\000\002\196\000j\000j\000\000\000\212\000v\000\000\000k\000\213\000\000\003j\000l\000y\000\000\000h\000\210\000\150\000\211\000q\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\002f\000>\000w\000\000\000\000\000\000\000\000\000\226\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\200\001\201\001\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\195\000\000\000\163\000\164\000\000\000\000\000v\000j\000j\000\000\000\000\000\212\000k\001\233\002\212\000\213\000l\000\000\001\234\000\000\000\163\000\164\001\235\000\000\000v\000\191\000\000\001\236\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000j\000\000\001\202\000\000\000u\000\226\001\203\000\194\000\000\001\200\001\223\000\000\000w\000\000\000\000\001.\000\000\000\173\000\000\000\000\000\149\000\000\000\000\000\000\000\163\000\164\000\000\000\227\000v\002T\004\031\002\143\000\000\000\196\002\166\000\173\000\000\000\000\000\149\000\000\000\000\000\000\000y\000\000\000h\000\000\000\150\000\194\000q\000\000\000\151\000\000\000w\004>\000\000\002[\000{\001\202\000>\000\000\000y\001\203\000\000\000\000\000\150\000>\000\000\000\000\000\151\000\000\000\000\000\000\000\000\0014\000{\000\173\000\251\000j\000\149\000\000\000\000\002\148\000\163\000\164\000h\002\149\000v\000\227\000q\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\252\000>\000l\000y\001\216\000\253\000\000\000\150\000\191\000\254\000\000\000\151\000\000\000w\000\255\000\000\000\000\000{\001\217\000\000\000\000\000\000\000\000\001Y\000\000\000\000\000u\000\000\000\000\000\000\000\000\001\200\001\223\000j\001:\000\000\000\173\001S\000k\000\149\000\000\000\000\000l\000\000\000\000\000\000\000\000\000\000\000\000\002\\\000\000\002T\003k\000\000\000\000\000\000\000\000\000\000\000\000\001\216\000\252\000y\000\000\000\000\002a\000\150\000u\000\000\002b\000\151\000\000\001\200\001\223\001\217\001\029\000{\000\000\002[\000\000\001\202\000\000\002\162\000\000\001\203\000\000\000\000\002d\001\233\000\000\000\000\000\000\002T\003a\000\000\000\000\002\163\000\000\000\000\000\000\000\000\000\000\001\254\000\000\002f\000\163\000\164\000\000\000\000\000v\000\000\000\000\000\163\001D\001\200\001\223\000\000\000\000\002[\000\000\001\202\000\000\001\232\000\000\001\203\001T\000\000\000\000\001\183\000\000\000\000\000\000\000\000\000w\002T\002U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\163\000\164\000\000\001\234\000v\000\000\000\000\001\235\001_\001\185\001e\000\173\001\236\001\\\000\149\002[\001]\001\202\000\173\000\000\000\000\001\203\000\000\001\183\002\\\001\200\001\201\000\000\000w\000\000\000\000\000\000\000\000\000\000\001\216\000\000\000y\000\000\000\000\002a\000\150\000\000\000\000\002b\000\151\001\200\001\223\000\000\001\217\002\012\000{\000\173\000\000\000h\000\149\000\000\000\000\000q\000\000\000\000\000\000\002d\000\000\000\000\002\\\002T\002`\000>\000h\000\000\000\000\000j\000q\001\202\001\216\000\000\000y\001\203\002f\002a\000\150\000\000\000>\002b\000\151\000\000\000\000\000\000\001\217\000\000\000{\002[\000\000\001\202\000\000\000\000\001\232\001\203\000\000\000j\000\000\002d\001\200\001\201\000k\000\000\002\\\000\000\000l\000\000\000\000\000\000\000\000\000\000\000j\000\000\001\216\001\233\002f\000k\000\000\002a\001\234\000l\000\000\002b\001\235\000\000\000\000\000\000\001\217\001\236\000u\000\000\000\000\000\000\001\232\000\000\000\000\000\000\000\000\000\000\000\000\002d\000\000\000\000\000\000\000u\000j\000\210\001\202\000\233\000\000\000\000\001\203\000\000\000\000\001\233\000\000\000\000\002f\000\000\001\234\000\000\000\000\000\000\001\235\000\000\000\000\001\200\001\223\001\236\001\216\000\000\000\000\000\000\000\000\000\000\001\232\000\000\000\000\000\000\002\\\000\000\000\000\000\000\001\217\000\000\000\000\002T\003m\000\000\001\216\000\000\000\000\000j\000\000\002a\000\212\001\233\000\000\002b\000\213\000\000\001\234\000\000\001\217\000\000\001\235\000\000\000\163\000\164\000\000\001\236\000v\002[\000\000\001\202\000\000\002d\000\000\001\203\000\000\000\000\000\000\000\163\000\164\000\000\000\226\000v\000\000\000\000\000\000\002\127\000\000\000\000\002f\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\001\200\001\223\000\000\002\127\001\216\000\000\000\000\000\000\000w\001\232\001\233\000\000\000\000\000\000\002\129\000\000\000\173\000\000\001\217\000\149\002T\0044\000\000\000\000\002\000\000\000\000\000\000\000\000\000\002\145\001\233\000\173\000\000\000\000\000\149\001\234\000\000\000\000\000\000\001\235\000\000\000y\001\200\001\223\001\236\000\150\002[\000\000\001\202\000\151\000\000\000\000\001\203\000\000\000\000\000{\000y\000\000\001\200\001\223\000\150\002\\\002T\0046\000\151\000\227\002\143\000\000\000\000\002\147\000{\001\216\000\000\000\000\000\000\000\000\002a\000\000\002T\0048\002b\000\000\000\000\000\000\000\000\001\217\000\000\001\233\002[\000\000\001\202\004M\000\000\000\000\001\203\000\000\000\000\000\000\002d\000\000\000\000\002\006\000\000\000\000\002[\000\000\001\202\000\000\000\000\000\000\001\203\000\000\000j\000\000\000\251\002f\002\148\000\000\001\200\001\223\002\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\001\232\000\000\000\252\000\000\002\\\003d\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\001\216\000\000\000\255\000\000\000\000\002a\000\000\001\233\000\000\002b\000\000\000\000\001\234\000\000\001\217\000\000\001\235\002[\000\000\001\202\000\000\001\236\000\000\001\203\000\000\002\143\000\000\002d\002\147\000\000\000\000\000\000\002\\\000\000\000>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\216\000\000\002f\000\000\000\000\002a\002\\\000\000\000h\002b\000\000\000\000\000q\000\000\001\217\000\000\001\216\000\000\000\000\000\000\001\232\002a\000\000\000\000\002\162\002b\000\000\002d\000\000\002[\001\217\000h\000\000\002\148\000\000\000q\000\000\002\149\002\163\000\000\000\000\001\233\000\000\002d\002f\000\000\001\234\001Y\002\143\000\000\001\235\002\147\000\000\000\000\000j\001\236\000\000\000\000\000\000\000k\002f\001S\001\232\000l\000\000\000\000\002\\\000\000\000\000\000\000\000\000\000h\000\000\002;\000\000\000q\001\216\000j\001\232\000\000\000\000\002a\000k\001\233\000\000\002b\000l\000u\001\234\000\000\001\217\000h\001\235\000\000\002[\000q\002=\001\236\002\148\001\233\000\000\000\000\002\149\002d\001\234\000\000\001\200\001\201\001\235\002\195\000u\000\000\000\000\001\236\002\187\000\000\000\000\000j\000\000\000\000\002f\000\000\000k\002\214\000\000\000\000\000l\000\000\000\000\000\000\002\162\002\223\002\224\002\226\000\000\000\163\001D\000j\001\232\002\190\000\000\000\000\000k\000\000\002\163\000\000\000l\000\000\001T\000\000\000u\000\000\000j\002\143\001\202\000\000\002\147\000\000\001\203\001\233\002\143\000\000\000\000\002\147\001\234\002\229\000\000\000\000\001\235\000v\000u\002\193\000\000\001\236\000\000\000\000\001_\000\000\001\141\002\187\000\000\001\\\000\000\000\000\001]\000\000\000\173\000\000\000\148\000\000\000\000\002|\000v\000w\000\000\002\162\002\223\005_\002\226\002[\000\000\000\000\000\000\002\148\002\190\000\000\002[\002\149\000h\002\163\002\148\000\148\000q\000\000\002\149\002\195\000w\000\000\000\000\000\149\002\143\000\000\003\003\002\147\000\000\000\000\000\000\000\000\000\000\002\196\002\229\000\000\000v\000\000\000\000\002\143\002\193\000\000\002\147\000\000\000\000\000y\000\149\000\000\000h\000\150\000\000\000\000\000\190\000\151\000\000\002\183\000v\001\216\000j\000{\000w\000\000\000\000\000k\000\000\000\000\000\000\000l\000y\000\000\002[\001\217\000\150\000\000\002\148\001\"\000\151\000\000\002\149\000\000\000w\000\000\000{\000h\002\195\000j\000\149\000q\002\187\002\148\000\000\000u\000\000\002\149\000j\002\187\000\000\000\000\002\196\000k\000\000\000\000\000\000\000l\002\162\002\228\000\149\002\226\000y\000\000\000\000\002\162\000\150\002\190\002\230\000h\000\151\000\000\002\163\000q\002\190\000\000\000{\000\000\000\000\002\163\000h\000u\000y\000j\000q\000\000\000\150\000\000\000k\000\000\000\151\000\000\000l\002\229\001\233\000\000\000{\000\000\000\000\002\193\002\232\000h\000\000\000\000\000\000\000q\002\193\000\000\002\008\002\187\000\000\000\000\000\000\000\000\000\000\000j\000u\003\015\000\000\000\000\000k\000\000\000\000\000\000\000l\002\162\000j\000v\002\230\000\000\000\000\000k\000\000\000\000\002\190\000l\000\000\000\000\000\000\002\163\002\162\000\000\000\000\002\195\002\237\000\000\002\183\000j\000u\000\000\002\195\000w\000k\000\000\002\163\000\000\000l\002\196\000\000\000u\002\232\000\000\000\000\000v\002\196\000\000\002\193\000\000\000\000\000\000\000\000\000\000\000h\000\000\000\000\000\000\000q\000\149\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000w\003\023\000h\000\000\000\000\000h\000q\000\000\000\000\000q\000\000\000v\000y\000\000\000\000\000\000\000\150\002\235\000\000\000\000\000\151\000\000\000\000\002\195\000\000\000\000\000{\000\000\001\200\001\201\002\183\000j\000\000\003$\000\000\000w\000k\002\196\002\195\000\000\000l\000\000\000\000\000v\0033\000\000\000\000\000\000\000j\000\000\000\000\000j\002\216\000k\000v\000\000\000k\000l\000\000\000h\000l\000\149\002\183\000s\000u\003J\000\000\000w\000\000\000\000\000\000\000\000\000\000\002\183\000j\000v\001\202\000\000\000w\000\000\001\203\000u\000\000\000y\000u\000\000\000\000\000\150\000\000\000\000\000\000\000\151\000\000\000\149\002\183\000\000\000\000\000{\000\000\000w\000\000\000\000\000\000\000\000\000\149\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\000h\000l\000y\000h\000q\000\000\000\150\000q\000\000\000\000\000\151\000\000\000\149\000y\000\000\000h\000{\000\150\000\000\000q\000\000\000\151\000\000\003R\000\000\000u\000\000\000{\000\000\000\000\000\000\000\000\000\000\000v\000y\000h\000\000\000\000\000\150\000q\003\188\000\000\000\151\003\200\000\000\000\000\000j\000\000\000{\000j\000v\000k\002\183\000v\000k\000l\000\000\000w\000l\000\000\000\000\000j\001\216\000\000\000\000\000\000\000k\000\000\000\000\002\183\000l\000\000\002\183\000\000\000w\000\000\001\217\000w\000\000\000u\000\000\000j\000u\000\149\000\000\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\000\000\000u\000\000\000\000\000\000\000h\000\000\000\149\000\000\000q\000\149\000\000\000y\000\000\000v\000\000\000\150\000\000\000\000\000\000\000\151\000u\000\000\000\000\000\000\000\000\000{\000\000\000\000\000y\000h\000\000\000y\000\150\000q\000\000\000\150\000\151\000w\000\000\000\151\000\000\000\000\000{\000\000\000\000\000{\000\000\000\000\000\000\000h\000j\001\233\000\000\000q\000\000\000k\000\000\003\206\000\000\000l\003\213\000\000\005,\000x\000\000\002\n\000\000\000v\000\000\000\000\000v\000\000\003\222\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000v\000u\000l\000y\002\183\000\000\000\000\002\183\000\235\000w\003\236\000\000\000w\000j\000\000\000\000\000\000\000{\000k\002\183\000v\000\000\000l\000\000\000w\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000h\000\000\000\149\002\183\000q\000\000\000\000\000\000\000w\000\000\000u\000\000\000\000\005\158\000\149\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000h\000y\000\150\000\000\000q\000\150\000\151\000\000\000\000\000\151\000\000\000\149\000{\000y\003\250\000{\000h\000\150\000\000\000\000\000q\000\151\000\000\000j\000v\000\000\000\000\000{\000k\000\000\000\000\000\000\000l\000y\000\000\000\000\000\000\000\150\000\000\004\001\000\000\000\151\000\000\002\183\000\000\000\000\000j\000{\000w\000v\000\000\000k\000\000\000\000\000\000\000l\000u\000\000\000\000\000\000\000h\000h\000j\000\000\000q\000\189\000\000\000k\002\183\000v\000\000\000l\000\000\000w\000\149\000\000\000\000\000\000\000\000\000u\000\000\000h\000\000\000\000\000\000\000q\000\000\000\000\0059\000\000\000\000\000\000\000\000\000w\000\000\000u\000y\000h\000\000\000\149\000\150\000q\000\000\000\000\000\151\000\000\000j\000j\000\000\000\000\000{\000k\000k\000\000\000\000\000l\000l\000\000\000h\000\149\000h\000y\000q\000\000\000q\000\150\000\000\000j\000\000\000\151\000\000\000\000\000k\000\000\000\000\000{\000l\000\000\000v\000u\000u\000y\000\000\000j\000\000\000\150\000\000\000\000\000k\000\151\000\000\000\000\000l\000\000\000\000\000{\000\000\0059\000\000\000\000\000u\000v\000w\000\000\000j\000\000\000j\000\000\000\000\000k\000\000\000k\000\000\000l\000\000\000l\000u\000v\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000w\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000u\000\000\000u\000\000\000w\000\000\000\000\000\000\000h\000\000\000\000\000\000\000q\000y\000\149\000\000\000\000\000\150\000\000\000\000\000\000\000\151\000\000\000\000\000v\000v\000\000\000{\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000h\000y\000h\000\000\000q\000\150\000q\000\000\000\245\000\151\000v\000\000\000\000\000w\000w\000{\000\000\000y\000\000\000j\000\000\000\150\000\000\000\000\000k\000\151\000v\000\000\000l\001$\000\000\000{\000>\000\000\000w\000\000\000\000\000h\000\000\000\149\000\000\000q\000\000\000\000\000\000\001\170\000j\000v\000j\000v\000w\000k\000u\000k\000\000\000l\000\000\000l\000\000\000\000\000\149\000y\000\000\000\000\000\000\000\150\001\174\000\000\001\210\000\151\000\000\000w\000\000\000w\000\000\000{\000\149\000\000\000\000\000u\000\000\000u\000y\000j\000\000\000\000\000\150\001Y\000k\000\000\000\151\000h\000l\000\000\000\000\000q\000{\000\149\000y\000\149\000\000\001S\000\150\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000h\000{\000\000\000h\000q\000u\000\000\000q\000y\000\000\000y\000\000\000\150\000\000\000\150\000h\000\151\000\000\000\151\000q\000\000\000\000\000{\000v\000{\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000j\000w\000\000\000j\000v\000k\000v\000\000\000k\000l\000\000\000\000\000l\000u\000\000\000j\000\000\000\000\000\163\001D\000k\000\000\000\000\002\022\000l\002\026\000\000\000\149\000w\000\000\000w\001T\000\000\000u\000\000\000\000\000u\000\000\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\000\000\000h\000u\000y\000\000\000q\000\000\000\150\000\149\000\000\000\149\000\151\000\000\001_\0021\002q\000\000\000{\001\\\000w\000\000\001]\000\000\000\173\000\000\000\000\000\000\000\000\002\143\000\000\000y\002\147\000y\000\000\000\150\000\000\000\150\000\000\000\151\000h\000\151\000\000\000\000\000q\000{\000\149\000{\000j\000\000\000v\000\000\000\000\000k\000\000\000h\000\000\000l\000\000\000s\000\000\000h\000\000\000\000\000\000\000s\000\000\000\000\000y\002X\000v\000\000\000\150\000v\000w\002[\000\151\000\000\000\000\002\148\000\000\000u\000{\002\149\000\000\000v\000j\000\000\000\000\002\156\000\000\000k\002\171\000\000\000w\000l\000\000\000w\000\000\000\000\000\149\000j\000\000\000\000\002\173\000\000\000k\000j\000\000\000w\000l\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\000u\000\149\000\000\000y\000\149\000\000\000\000\000\150\000\000\000\000\000h\000\151\000\000\000\000\000s\000u\000\149\000{\000\000\000\000\000\000\000u\000>\000y\000\000\000\000\000y\000\150\000\000\002\143\000\150\000\151\002\147\000\000\000\151\000\000\000\000\000{\000y\000\000\000{\002\187\000\150\000\000\000v\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000{\000>\000\000\000\000\000j\002\162\000\000\000\000\002\192\000k\000\000\003\176\000\000\000l\002\190\000\000\000w\000\000\000\000\002\163\000\000\000\000\000>\000j\000\000\001Y\000\000\002\148\000\000\000\000\000v\002\149\000\000\000\000\000\000\000\000\000\000\000u\000>\001S\000\000\000\000\000\149\000\000\000\000\000v\002\193\000\000\000\000\004\024\000\000\000v\000\000\000\000\000w\000\000\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\150\000w\001S\000\000\000\151\000\000\000\000\000w\000\000\001Y\000{\002\143\000\149\000h\002\147\000\000\000h\000i\000\000\000\000\000i\000\000\002\195\001S\000>\001Y\000\000\000x\000\000\000\000\000\000\000\000\000\000\000x\000y\000>\002\196\000\000\000\150\001S\000\000\000\000\000\151\000\000\000\000\000\163\001D\000\000\000{\000y\000\000\000v\000\000\000\000\000\237\000y\002\162\000j\001T\000j\001\225\002\148\000j\000{\000k\002\149\000\000\000k\000l\000{\002\163\000l\000\000\000\000\000\000\000w\000\163\001D\000\000\001Y\000\000\000\000\000\000\000\000\000\000\000\000\001_\000\000\002\255\001T\001Y\001\\\000u\001S\001]\000u\000\173\000\163\001D\000\000\000\000\000x\000\000\002\143\001S\000\000\002\147\000\000\000\000\000\000\001T\000\000\000\000\000\163\001D\000\000\000\000\001_\000\000\003\n\000h\000\000\001\\\000y\000i\001]\001T\000\173\001\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\001_\000\000\003/\002\195\000\000\001\\\000\000\000\000\001]\000\000\000\173\000j\000\000\000\000\000\000\002\148\001_\002\218\003E\002\149\002\162\001\\\000\000\000\000\001]\000\000\000\173\000\000\000j\000\163\001D\000\000\000\000\000k\002\163\000\000\000v\000l\000\000\000v\000\163\001D\001T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001T\000\000\000\000\000\000\000\000\000\000\000\000\000w\000u\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\001_\000\000\003\196\000\000\000\000\001\\\000\000\000\000\001]\000\000\000\173\001_\000\000\003\232\000\000\000\000\001\\\000\000\000\000\001]\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\195\000\000\000\000\000y\000\000\000\000\000y\002\162\000\000\000\000\000\000\000\000\000\000\000\000\002\220\000\000\000\000\000\153\000\000\000\000\000\155\002\163\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\222\000\000\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\157"))
+ ((16, "\001\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001#\001r\000\000\001\003\000\195\000\000\000\000\000\000\000\171\000\000\000\002\001\014\000\000\000\000\001D\000\000\002&\000\000\000\000\000\000\002\200\000\000\003\182\000\000\000\000\000\000\000\000\003\188\000\000\004\006\004\020\000\000\000\000\004^\000\000\004\178\000\000\000\000\000\000\005\200\000\000\006\030\000\000\006j\000\000\006\128\007L\000\000\000\000\007V\000\000\007b\000\000\000=\000\000\000\000\000\000\007\150\000\000\007\236\000\000\000\000\008J\000\000\008j\000\000\000\000\000\000\008\144\000\000\003\166\008\244\002@\000\000\000\000\000\000\002H\0009\t\000\000\000\000\000\t\004\000\000\023\178\000\000\005\006\001\029\002L\000\000\000\000\003\150\000\000\0000\000\000\000\025\006L\004\030\0276\004\030\002\162(\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\0276\000\000\000\000\019\146\000\000\022\002\000\000\003\146\000\000\000\000\000\000\000\000\000j\000\000\000\226\000\000\000\000\000\023\000\000\0058\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\190\000\000\013,\000\000\015\014\000\000\022\244\000\000\023z\000\000%D\000\000'\014\000\000.\164\000\0004@\000\0004\190\000\000\004\170\000\000\nP\000\000\000\000\000\000\000\000\000\0005\004\000\0005\008\000\0005N\000\000\007l\000\000\000\000\n\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\t6\000\000\000\000\tT\000\000\t\148\t\188\000\000\000\000\t\242\000\000\n\002\000\000\000\000\000\000\n2\000\000\n4\000\000\000\000\n6\000\000\nj\np\000\000\000\000\nr\000\000\nv\000\000\000\000\000\000\n\136\000\000\n\152\000\000\n\154\000\000\n\176\n\200\000\000\000\000\n\208\000\000\n\222\000\000\000\190\n\232\000\000\n\234\000\000\n\240\000\000\011\000\000\000\000\000\000\000\011\002\000\000\011\004\011\024\000\000\011\022\000\000\000/\024\190\000\000\006\030\000\000\006$\000\000\000\000\008&\000\000\000\000\001\011\001\196\000\000\000\000\000\000\000\000\001`\000\000\002N\000\000\019\188\000\000\019.\000\000\000\000\000\000\000\000\000\000\000\000\019\232\000\000\000\000\000\000\000\000\001\007\000\000\000\000\000\000\000\000\000\000\000\000\000\164\002\150\013\192\000\000\011\024\000\000\011\026\024$\000\000\011*\000\000\000\000\006\134\000\000\000\000\000\000\000\000\000\000$\174\000\0000z\000\000\000\000\000\000\003L\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017`\000\000\000\000\000\000\000\000\000\000\000\000\003\236(\014\000\000\007j\000\000\018F \008\000\000\000\000\000\000\003~\000\000\017(\000\000\000\0000\248\000\000\000\000\000\000\003\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\216\000\000\013\200\000\000\000\000\000\000\000\000\000\014\000\000\000\0001\014\000\000\000\000\000\000\000\014\001\212\000\000\000\000\000\000\000\000\000\000\000\000\007\016\000\000\016\144\000\000\018\234\000\000\019|\000\000\027|\000\000\029\016\000\000\030~\000\000\031\140\000\000 \000\000\"&\000\000\020\024\000\000\008V\000\000$4\000\000&\230\000\000*@\000\000\000\000\000\000\000\000\000\000\000R1&\000\000\002\028\000\000\000\000\002(\006\002\000\000\0024\000\000\000\000\000\000\004 \000\000\000\000\000\000(\174\000\000\000\000\000\000\000\000\000\000(\246\000\000\000\000\000\000\000\000\000\000\000\000\000\168\000\000\000\000\000\000\011,\026\166\000\000\011.\000\000\000\000\000\000\000\000\000\000\0112\000\000\000\000\000\008\006\230\000\000\007H\000\000\000\000\000\000\000\198\000\000\012t\000F\011>\000\000\000\000\011D\000\000\011L\011V\000\000\000\000\011f\000\000\011z\000\000\000\000\000\000\011|\000\000\011~\000\000\000\000\011\132\000\000\011\134\011\142\000\000\000\000\011\164\000\000\011\166\000\000\000\000\000\000\011\168\000\000\011\170\000\000\011\176\000\000\011\202\011\204\000\000\000\000\011\210\000\000\011\212\000\000\004L\011\214\000\000\011\218\000\000\011\220\000\000\011\222\000\000\000\000\000\000\011\224\000\000\004\242\000\000\000\000\011\230\"\132\000\000\011\234\000\000\000\000\002$\000\000\000\000\000\000\000\000\004N$ \000\000\011\240\000\000\011\242-\"\000\000\012\024\000\000\000\000\013\024\012(\000\000\000\000\012*\000\000\012,\0120\000\000\000\000\0126\000\000\012:\000\000\000\000\000\000\012D\000\000\012F\000\000\000\000\012H\000\000\012L\012N\000\000\000\000\012R\000\000\012X\000\000\000\000\000\000\012Z\000\000\012h\000\000\012l\000\000\012r\012\130\000\000\000\000\012\134\000\000\012\146\000\000\004t\012\150\000\000\012\166\000\000\012\168\000\000\012\174\000\000\000\000\000\000\012\178\000\000\012\180-\176\000\000\012\184\000\000\000\000\0054/0\000\000\012\192\000\000\012\194/>\000\000\012\196\000\000\000\000\000\000\000\000\000\000\000\000\000\0001L\000\000\021\142\000\0001\204\000\000\000\000\000\128\000\000\007Z\000\000\005j\018z)@\000\000\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\164)@\000\000\019\206\000\000\022\128\020\250\000\000\000\000\000\000\005Z\000\000 \236\000\000\000\0002\020\000\000\000\000\000\000\006\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0144\000\000!\154\000\000\000\000\000\000\002X\000\000\000\000\000\000\000\000\000\000\000\000\002h\000\000\006\200\000\000\008\234\000\000\t\022\000\000\015\244\000\000\017\212\000\000\018,\000\000\023\248\000\000\025&\000\000\028&\000\000\026.\000\000\0028\000\000\028\244\000\000\0294\000\000 \152\000\000)\188\000\000\000\000\000\0002b\000\000\000\000\000\000\000<\000\0002\144\000\000\000\000\000\0002\224\000\000\000\000\000b\000\000\025\016\000!\002\026\000\000\004\154\000\000\013R\0022\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\030\000\000$\200$Z\006\194\000\000\000\000\000\000%\128\000\000(\028\000\000*\132\000\000%\160&x\000K\002\174\006\220\000\000\000\000\000\000\002\208\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\00036\000\000\000\000\000\000\000\000\000\000!\128\000\000&\142\000\000\000\000\000\000\000\000\000\000\000\000\014\004\000\000\005H\000\000\000\000\000\000\000\000\004f\001\136\000\000\000\000\022\212!8\000\000\022\136+\004\000\000\000\000)\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025V)\190\000\000\026\002\000\000\027\n\000\206*\006\000\000\019V\000\000\000\000\000\000\007F\000\000!\254\000\000\000\0003l\000\000\000\000\000\000\007\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\180\000\0003\186\000\000\000\000\000\000$6\000\000\000\000+\180\000\000\000\000\000\000\000\000\008$\000\000\000\000\000\000$P\000\000\000\000*\204\000\000\000\017\000\000\000\000\000\000\002\136\000\000\005\144\000\000\013\"\000\000\014N\000\000&N\000\000),\000\000,~\000\000,\152\000\0000\134\000\0000\178\000\0002\160\000\0003\234\000\0004\218\000\000\000\000\000\000\000\000\000\000!\206\000\000\n\226\000\000 \212\012\208\000\000*\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\000\000\000\000\000\000\000\006\154\000\000\007\192\000\000\000\000\021\136\000\000\000\000\000\000+\202\000\000\000\000\000\000\000\000\000\000\030\186\000\000\000\000\000\000\000\000,\028\000\000\000\000\000\000\000\000\0034\004\022\000\000,J\000\000\000\000\000\000\000\000\025~\000\196\000\000\025\244\000\000\000\000\008b\000\000,P\000\000\000\000\000\000\000\000\000\000\003V\000\000\000\000\014\154\000\000\026\192\000\000\000\000\"\144\000\000\000\000\000\000\006\166\000\000\000\000\008X\000\000\000\000\"~\000\000\000\000\000\000,\156\000\000\000\000\000\000%\186\000\000\000\000\000\000\000\000,\202\000\000\000\000\000\000\000\000\004\178\nl\000\000-\156\000\000\000\000\000\000\000\000\000\000\000\000\015(\000\000\000\000\004\026\000\000\015\230\000\000\006\166\000\000\000\000\004:(\144\000\000\004X\000\000\000\000\000\000\000\000\002X\000\000&\202\000\000\0278\0016\027\176\000\000\003\154\000\000\016p\000\000\017*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0052\028F\004\150\028\190\000\000\000\000\000\000\005|\000\000\017\246\000\000\005x\000\000\000\000\007\194\000P\029\138\000\000\002\140\000\000\018t\030\000\000\000\000\000\019@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\142\008\160\000\000\006b\000\000\000\000\000\000\000\000\005f\000\000\019\254\000\000\000\000\000\000#R44\000\000\000\000\000\000 T\000\000\000\000\000\000\000\000\006\222\t\018\000\000\000\000-\234\000\000\000\000\000B\000\000\tX\000\000\000\0000f\000\000\000\000\000\000.R\000\000\000\000\000\000\000\000.p\000\000\000\000\007\212\t\156\000\000\000\000.v\000\000\000\000\007\152#\186\000\000\t\194\000\000\000\000.\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000#r\000\000\000\000\000\000\002\174\000\000\000\000\t\210\000\000\000\0000\144\000\000\000\000\000\000.\198\000\000\000\000\000\000\000\000/v\000\000\000\000\t`\t\220\000\000\000\000/\142\000\000\000\000\008\222\000\000\000\000\000\000\000\000\002X\004\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\020\140\000\000\000\000\000\0004r\000\000\tF\000\000\000\000\000\000\001x\000\000\000\000\005\216\021\004\000\000\022\018\000\000\000\000\000\000\006\164\000\000\013 \007\028\016\028\000\000\017@\000\000\000\000\000\000\008\176\000\000'\006\008\208'\172\000\000'\244\000\000\000\000\000\000\008\222\000\000\022\190\t\012\000\000\000\000\008\016\008b\t\154\014&\000\000\015J\000\000\000\000\000\000\n\n\000\000\029\166\nP\000\000\000\000\000\000\000C\000\000\000\000\000\000\000|\000\000\000\000\000\000\000\000\000\000\000\000\013z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\184\000\000\000\000\000\020\000\000\000\000\013|\000\000\000\000\000\000\000\000\005$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\132\000\000\000\000\013b\000\000\000\012\000\000\000\000\001\164\000\000\006\160\013\028\001h\000\000\000\000\006\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003D\002\130\000\000\000\000\t\228\000\000\000\000\000\000\003^\000\000\000\000\005\242\006\n\000\000\000\000\000\000\000\000\008\134\008\204\002\018\000\000\t\200\000\000\000\000\000\000\000\000\000\000\000\000\0048\000\000\000\000\002\212\000\000\000\000\012\234\000\000\000\000\0005\000\000\000\000\012&\000\000\006\206\013\160\006\228\000\000\000\000\004\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\n\134\000\000\000\000\000\000\000\000\n\162\000\000\000\000\011,\000\000\000\000\013\020\000\000\000\000\t*\014\030\002\200\000\000\014\194\000\000\000\000\000\000\000\000\013x\000\000\000\000\000\000\000(\000\000\0070\006\206\005\"\000\000\000\000\000\000\000\000\004\154\000\000\000\000\000\000\000\000\000\000\000\000\000h\000\000\000\000\006B\000\000\007\182\013\182\007\\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\170\000\000\000\000\015\224\019\002\000\000\000\000\000\000\000\000\000\134\000\000\013z\011\224\000\000\016n\000\000\000\000\000\000\000\000\000\000\004\128\021v\000\000\000\000\022l\000\000\000\000\000\000\000\000\012F\000\000\024H\000\000\000\000\000\000\000\000\004\248\000\000\000\000\000\000\000\151\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\0000:\000\000\000\000\000\000\000\159\000\000\000\000\000\000\000\000\000\000\000X\n^\011~\011\154\000\000\006\154\tB\t\160\t\208\000\000\000\000\000\000\000\000\000\000\000\000\008F\022\138\000\000\030\142\008\206\000\000\000\000\n,\000\000\023V\000\000*P\000\000\000\000\008\210\023\204\000\000\031P\000\000\nb\031\218\000\000\000\000\000\000\005\246\006\154\000\000\000\000\000\000\000\000\008\176\000\000\003\016\000\000\004\168\006\210\000\000\000\000\000\000\001`\000\000\002N\000\000\008^\000\000\000\000\001\236\000\000\000\000\000\000\000\000\t\230\000\000\000\000\011\008\000\000\024\152\000\000\nT\013z\000\000\000\000\000\000\000\000\000\000\001\172\000\000\000\000\000\000\000\000\000\0000b\000\000\000e\000\000\000\000\000\000\000\000\000\000\001\156\000\000\n\140\002\008\0112\000\000\003\"\011\206\000\000\005\186\000\000\003\228\000\000\004\202\000\000\005t\000\000\nT\000\000\000\000\000\000\000\000\000\000\006\016\000\000\n&\000\000\006\186\000\000\nT\013\200\000\000\000\242\000\000\013\188\012\170\000\000\002D\000\000\008\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\\\000\000\n\146\000\000\000\000\000\000\000\000\000\000\000\000\013\196\000\000\000\000\012\210\000\000\000\000\012\188\007\022\013\240\000\000\013\246\000\000\000\000\004\198\nd\000\000\012\236\000\000\000\000\013*\000\000\000\000\000\000\000\000\000\000\000\000\013\246\000\000\000\000\000\000\013\006\012\232\n\200\005`\013\004\013H\000\000\000\000\012\254\n\238\n\248\013\026\013P\000\000\000\000\011\136\000\000\000\000\000\000\000\000\014\024\000\000\000\000"), (16, "\002\175\002\198\006\031\006 \001a\000\132\001\197\000\006\000Y\000\143\001\206\001\007\005-\003\214\000\011\000Y\001(\005\162\001*\003T\004M\0045\006$\001a\000\018\001x\006\135\000D\000D\006\136\006)\000\t\000\n\006*\000D\005\163\000D\005\166\005[\000\n\001a\000a\001x\003\008\003\t\006\026\006\027\005h\004\001\005W\002\177\006.\000\134\000\134\002\178\001c\000\017\002.\000\135\001d\002\175\002\198\000\136\005X\005\209\005i\0023\006S\000\021\005l\005[\000\134\005\162\006T\001c\000Y\004n\006'\001d\006U\006\140\004\000\005\207\005\210\005[\001q\000\145\005`\000\134\005\254\005\163\001c\005\166\005[\005\225\001d\005\\\003\231\0023\004|\004\234\002\203\005L\001\175\001q\001)\006'\001)\004\001\005\225\002\177\001\207\005\226\0011\002\178\005\229\005[\000D\001}\003p\005M\001q\003t\005a\003\253\005P\005[\005\226\005\\\000\132\005\229\005[\005O\000\141\003\254\006'\003/\000b\003C\004x\003\163\001\134\005\\\000E\000Y\001\211\001<\001\180\002\191\001\228\005M\005\\\006W\003H\000\025\005P\005[\003I\004\008\000D\002\192\004~\004[\004\240\001r\000\146\001\230\000\134\0032\0033\0035\003u\004I\006X\005\\\003v\006\226\000\134\004\239\005b\001\182\003\215\000\135\001r\005\\\006\227\000\136\000\147\003M\005\\\005\255\004O\0046\003\162\004U\001\t\001?\0010\003C\004\016\001r\005\178\004l\001\135\004-\002\207\000b\001\136\002\191\003\232\000\145\001\198\000\148\003H\005\\\004\248\000Y\003I\004\008\006Y\002\192\005b\002\175\002\198\001\128\002\208\000\138\005o\006Z\001\138\002\209\005x\006s\000\149\002\210\006\141\001\208\000Y\000\188\002\211\000D\006U\006\142\004\000\001\231\003V\001\138\000\151\003M\001\139\004\169\005k\004\011\006u\001\140\002>\005\184\000Y\001\141\004\016\000D\001\230\006w\001\142\004-\002\207\001\139\003\131\000\245\005i\004\001\001\140\002\177\005l\005[\001\141\002\178\000Y\005\237\003\132\001\142\006\161\003\008\003\t\004\235\002\208\005]\002>\000\024\000\146\002\209\006\127\006\128\006\002\002\210\0020\006\144\002\175\002\198\002\211\002\175\002\176\005p\000\191\000\192\000\194\000\195\006\235\004\237\004\250\000\132\000\147\000Y\001\020\000\141\000\027\003T\004M\0045\000Y\000[\001\219\000_\000Y\002\175\002\176\001\217\001\021\005\144\005[\006\162\000\196\005\\\000\197\006j\004W\000\177\001\207\0022\004\251\003p\006\159\000D\003t\006\132\004\001\003\134\002\177\000\134\001'\002\177\002\178\000a\001a\002\178\001x\000a\000\149\000\134\000D\003C\000\178\004n\000\135\006\186\000\179\005~\000\136\001\137\000b\002\191\000\151\000\134\001A\002\177\003H\001\180\001\204\002\178\003I\004\008\006\163\002\192\001\186\005\127\005[\004\237\005\\\000\134\001\186\006Z\000\145\003u\000Y\006\165\000D\003v\004\\\002\203\006'\001\175\000\134\003\011\001\223\001c\000\197\001\180\003\231\001d\001\181\003M\005s\005\156\003W\004\011\006\167\001\188\002\175\002\198\005\198\005[\004\016\001\187\000Y\006\169\004q\004-\002\207\000\029\003\216\001\135\001}\000Y\004\250\001q\003C\006U\006\147\0045\002\206\005\254\0011\001\022\005\\\001\023\002\191\000\197\002\208\002\191\0023\003H\003/\002\209\004\n\003I\004\008\002\210\002\192\006l\004^\002\192\002\211\006c\003\254\006d\004\001\000\197\002\177\001\"\004I\000\146\002\178\002\191\000\132\003\244\000\132\005~\000\133\005\\\001\203\006j\006\158\001\006\0031\002\192\003M\000D\000\176\003\131\0046\003,\004U\000\147\006\193\005\127\005[\004\016\004O\000Y\004l\003\132\004-\002\207\006\004\0016\002\235\001\t\003.\0010\000!\001\t\000D\0010\001r\002\175\002\198\000b\000\177\001a\004\"\001v\000\134\002\208\000\134\001~\002\208\000\135\002\209\000\135\000Y\000\136\002\210\000\136\006U\006\147\0045\002\211\001\128\000\149\002\211\003-\006\014\000\178\000\132\000\132\000D\000\179\000\141\000\133\002\208\005\130\004;\000\151\005\\\000\145\003C\000\145\003-\000Y\001\138\004\212\003\254\004\001\002\213\002\177\002\191\000\134\003\164\002\178\001c\003H\000Y\003V\001d\003I\004\008\006\153\002\192\006\152\001\139\005\154\003\167\000\197\003\231\001\140\006Z\001\175\000D\001\141\003K\005\153\000\134\000\134\001\142\000Y\001I\000\135\000\135\005\254\001q\000\136\000\136\003\008\003\t\006m\003M\006n\0023\006c\0046\006d\006\155\000\197\000\132\000D\000D\004\016\000\141\005\225\006\157\001f\004-\002\207\004a\000\145\000\145\001\186\003U\000#\002\175\002\198\000(\0011\000\146\000D\000\146\005\226\005\218\002>\005\229\005[\004R\002\208\004D\000Y\001\173\001\175\002\209\006U\006\147\0045\002\210\003C\005\215\001o\000\147\002\211\000\147\004D\001\188\005\133\000\134\002\191\005\172\000Y\004.\000\135\003H\000,\006\006\000\136\003I\004\008\006\153\002\192\000+\004F\004\001\001r\002\177\000\173\005\170\006Z\002\178\000\132\001\183\003K\000\197\000\143\003\008\003\t\004E\000b\006\154\000\145\004\"\000b\005Z\005\\\006\t\006\022\001K\003M\000\146\000\146\005\214\0046\000D\006\155\002\175\002\245\005X\000.\004\016\002\175\002\198\006\157\004\135\004-\002\207\001\177\005\215\003\n\002\025\0028\000\147\000\147\003\254\003p\000Y\000D\003t\000\134\006U\006\147\0045\004\212\000\135\004a\002\208\003\245\000\136\006\213\002n\002\209\001\183\006g\000\197\002\210\000D\000\177\000\132\002&\002\211\0000\000\133\003\249\000\134\005\154\002\177\000\197\005\216\004\001\002\178\002\177\000\145\004c\003C\002\178\006\144\004i\000\149\001\191\000\146\005\157\000\178\000\134\002\191\006\156\000\179\003u\003\218\003H\003\243\003v\000\151\003I\004\008\006\153\002\192\000\176\006\024\002\175\002\198\000Y\000\147\002>\006Z\0061\000\134\000Y\003K\006\012\004k\000\135\004i\005~\000Y\000\136\003P\006\220\006U\006\147\0045\006\150\004\129\000b\003M\005~\006\231\000\177\0046\000\132\006\155\005\127\005[\000\141\003U\004\016\005\216\005r\006\157\000\145\004-\002\207\006h\005\127\005[\004j\002\133\004\001\000\149\002\177\005\228\000\146\000\178\002\178\000D\004\131\000\179\000D\001\183\003C\000\197\002\208\000\151\006\164\002\191\002\180\002\209\001\209\005\226\002\191\002\210\005\229\005[\000\147\003H\002\211\002\192\000\134\003I\004\008\006\153\002\192\000\135\003\131\002\175\002\198\000\136\0066\004f\006Z\005\\\002\175\002\176\003K\006\220\003\132\005\219\005\002\000\148\000Y\0004\003V\005\\\006U\006\147\0045\000D\003V\000D\003M\000\145\000Y\005p\0046\005\004\006\155\003\231\000Y\000\146\000\149\004\016\000Y\003\231\006\157\000\150\004-\002\207\001a\004\129\001b\005\\\001\192\004\001\000\151\002\177\005\169\000D\003C\002\178\000\134\000\147\002\177\005\215\0006\005v\002\178\002\208\002\191\006\168\000D\004\151\002\209\003H\005\170\0062\002\210\003I\004\008\006\153\002\192\002\211\004\130\003\164\000b\002\175\002\198\000b\006Z\006b\005\176\000Y\003K\001a\000\132\001u\000\134\003\169\000\143\001c\000Y\005w\0008\001d\003T\004M\0045\000\149\003M\006V\000\146\003\243\0046\000<\006\155\001\185\005\169\000\197\005\139\004\016\005\005\000\153\006\157\000D\004-\002\207\005\177\001\177\001.\001q\005\137\001\012\000\147\004\001\005\170\002\177\000b\005\004\002\189\002\178\005\222\000\134\000\134\003C\001c\002\208\000b\000\135\001d\003\232\002\209\000\136\000b\002\191\002\210\004\"\006:\000\177\003H\002\211\002\191\0011\003I\004\008\006\153\002\192\003\028\006\210\002\175\002\198\003V\005\221\002\192\006Z\001q\000\145\005\223\003K\000\149\003+\001=\005\012\000\178\000Y\000D\003\231\000\179\003T\004M\0045\003\237\000Y\000\151\003M\004\175\003T\004'\0046\005\014\006\155\003\008\003\t\000Y\004\224\004\016\005\235\003\241\006\157\001r\004-\002\207\001a\004+\001b\000D\000;\004\001\006c\002\177\006d\000>\000\197\002\178\003C\005\031\004\157\000@\004\174\001\186\001\225\002\208\000\197\003x\002\191\000D\002\209\004\226\002\208\003H\002\210\005\173\005\236\003I\004\008\002\211\002\192\004\243\004[\002\175\002\198\003V\002\215\000F\001r\000\146\002\175\002\176\003K\001\028\000\134\000D\001\188\001c\000Y\005~\000D\001d\003T\004M\0045\003\008\003\t\001\021\003M\001\139\006\221\000\147\0046\001\227\004U\000\197\006B\005\127\005[\004\016\002\175\002\176\004\021\001\144\004-\002\207\003\254\001q\000b\000b\000H\004\001\004\"\002\177\005~\005\232\000\148\002\178\000\134\000\134\002\177\003C\002\175\002\176\002\178\002\208\000Y\000[\000\\\000_\002\209\002\191\005\127\005[\002\210\006>\003H\000\149\003\129\002\211\003I\004\008\000\187\002\192\004Y\004[\002\175\002\198\000\134\004\008\002\177\000\151\003\221\004'\002\178\003K\005\\\000K\003\154\000a\005\206\000Y\006\186\0066\006i\003T\004M\0045\000D\004+\000\134\003M\002\177\000M\0011\0046\002\178\004U\005\207\005\210\005[\004\224\004\016\005 \000b\004\021\001r\004-\002\207\000b\004\016\005\\\000Q\004\021\004\001\004-\002\177\001\031\005\015\001+\002\178\003C\001\022\000D\001\023\006L\000\197\004\218\002\208\005\224\0066\002\191\005\022\002\209\004\225\005\014\003H\002\210\002\191\005\025\003I\004\008\002\211\002\192\004\128\004[\002\175\002\198\004\025\005\024\002\192\006\\\001\166\004\002\0066\003K\005\024\000D\005\\\000\132\005~\000Y\001\222\001P\005\028\003T\004M\0045\002\191\004\006\000^\003M\001\139\006h\005\129\0046\000D\004U\005\127\005[\002\192\005\014\004\016\005\150\000D\004\021\001\142\004-\002\207\000D\002\191\006E\005\127\005[\004\001\000\199\002\177\000b\006\144\000\132\002\178\003\254\002\192\000\133\003C\003\008\003\t\000\134\002\208\001\006\000\202\006\187\000\135\002\209\002\191\002\197\000\136\002\210\005\148\003H\0066\000Y\002\211\003I\004\008\0061\002\192\004\247\004[\002\175\002\198\0069\000b\001\t\003V\0010\005%\005\\\003K\006\212\000\145\004\152\000\206\006\166\000Y\002\208\003V\000\134\006U\003\231\004\000\005\\\000\135\005'\003M\005~\000\136\005\170\0046\002\217\004U\000D\000\205\006\186\005\239\004\016\000b\002\208\004\021\005~\004-\002\207\003p\005\127\005[\003t\004\160\004\001\0068\002\177\000\145\002\219\000\132\002\178\003C\000b\000\143\005\127\005[\000\208\006\186\002\208\005(\000b\002\191\006\160\002\209\000\210\000b\003H\002\210\006t\0067\003I\004\008\002\211\002\192\006q\004[\005'\004\176\003\254\002\175\002\198\000Y\000[\001\003\000_\003K\000\146\003B\000\214\000\216\000\219\003u\006Q\005+\000Y\003v\004\185\000\134\006U\005\\\004\000\003M\000\135\005\162\004\203\0046\000\136\004U\000\147\004\219\005\014\005\146\004\016\005\\\000a\004\021\000\223\004-\002\207\000\222\000\225\005\163\000\227\005\166\005[\000b\000\146\004\001\004\"\002\177\000\145\000\231\000Y\002\178\003C\006:\0061\000b\002\208\000\233\000\235\006<\006\230\002\209\002\191\006\145\000Y\002\210\000\147\003H\0061\000\239\002\211\003I\004\008\006\146\002\192\002\175\002\198\006\189\006\243\006\237\000\132\000\238\006Z\006\238\000\143\000\241\006\149\004'\006\244\003\156\000Y\000\175\000\243\0063\006U\000\197\004\000\000\246\000\248\004/\005\\\000\250\003M\004+\006\191\003\131\004\011\006\151\003\199\000\252\001\000\001@\000\149\004\016\003\159\0043\006\157\003\132\004-\002\207\001\005\0015\001;\004\001\005\182\002\177\000\151\000\146\000\134\002\178\001:\001\216\001\215\000\135\001\221\003C\003\201\000\136\005\187\002\208\001\235\006\148\003\162\001\238\002\209\002\191\005\165\001\242\002\210\000\147\003H\006\220\001\241\002\211\003I\004\008\006\146\002\192\002\175\002\198\001\244\000\145\001\006\005\206\005\163\006Z\005\166\005[\006\221\006\149\001\246\001\250\001\252\000Y\000\148\001\255\002\003\003T\003\207\004\000\002\002\005\207\005\210\005[\003\164\003M\001\t\006\221\0010\004\011\006\151\002\005\002\007\002\011\002\013\000\149\004\016\002\015\003\165\006\157\000\190\004-\002\207\006;\003p\005\190\004\001\003t\002\177\000\151\002\019\002\018\002\178\003C\002\021\002\023\002\026\0062\002\028\002\030\002 \002$\002\208\002\191\002-\005\\\002,\002\209\003H\0027\002=\002\210\003I\004\008\006\146\002\192\002\211\0063\004\253\000\197\000\146\005\\\004{\006Z\001a\003p\001x\006\149\003t\002<\000\132\0063\003B\000\197\000\133\002\128\003u\002@\002C\002G\003v\002F\000\147\003M\002I\005\162\002K\004\011\006\151\002\175\002\198\002O\002Q\002T\004\016\002X\002W\006\157\002Z\004-\002\207\002\\\002`\005\163\000Y\005\166\005[\000\148\003T\002b\004\000\002d\000\134\000\134\002h\001c\003C\003u\000\134\001d\002\208\003v\002g\000\135\002j\002\209\002\191\000\136\000\149\002\210\002l\003H\002o\001z\002\211\003I\004\008\004\001\002\192\002\177\002q\002s\000\151\002\178\002u\001q\002y\002\127\000\132\002~\004p\000\145\000\143\002\132\002\138\002\137\003\156\005:\005U\000Y\000[\0013\000_\005|\005\\\005g\003M\006\019\005u\004y\004\011\004r\003\131\004{\005\159\003\202\005\175\004\016\002\175\002\198\004\021\003\159\004-\002\207\003\132\005\205\003R\005\234\006}\006\171\006\175\006\194\000a\000Y\006\198\006\203\000\134\003T\003\251\004\000\006\204\000\135\000\132\002\208\006\209\000\136\000\143\006\208\002\209\003\162\000Y\006\216\002\210\003\131\003T\003p\006\218\002\211\003t\006\224\005~\006\228\006\229\006\232\001r\003\132\004\001\003C\002\177\000\145\000\146\006\233\002\178\006\236\006\239\006\240\006\248\002\191\005\127\005[\000\000\000\000\003H\005\031\003\205\000\000\003I\004\008\005\007\002\192\000\134\003\164\000\147\002\175\002\198\000\135\000\000\000\000\000\000\000\136\000\000\004p\004\013\000\134\000\000\003\165\000\000\003u\000Y\005\193\001\138\003v\003T\004\014\0045\000\000\000\000\003M\000\000\000\000\000\000\004\011\004r\000\145\000\000\000\000\000\000\000\000\004\016\000\000\001\139\004\021\003\164\004-\002\207\001\140\000\000\005\\\000\149\001\141\000\000\004\001\005~\002\177\001\142\000\000\003\171\002\178\000\146\000\000\000\000\000\132\000\155\000\000\002\208\000\133\003C\000\000\000\000\002\209\005\127\005[\001\006\002\210\002\175\002\198\002\191\000\000\002\211\000\000\000\147\003H\000\000\0048\000\000\003I\004\008\000\000\002\192\000Y\000\000\000\000\000\000\003T\004\014\0045\001\t\000\000\0010\000\000\004:\000\000\000\000\004\008\000\000\000\148\000Y\000\000\000\000\000\134\003T\000\000\000\146\003\131\000\135\000\000\003M\000\000\000\136\000\000\004\011\004<\004\001\000\000\002\177\003\132\000\149\004\016\002\178\005\\\004>\001|\004-\002\207\000\147\000\000\000\000\005\"\000\000\005\031\000\151\003C\000\145\000\000\004\016\000\000\000\000\004\021\000\000\004-\000\000\002\191\000\000\002\208\005\202\000\000\003H\000\000\002\209\000\148\003I\004\008\002\210\002\192\000\000\005\225\000\000\002\211\000\000\002\175\002\198\000\000\000\000\000\000\000\000\003K\002\175\002\176\004=\000\000\000\149\000\000\000\000\005\226\000Y\002\200\005\229\005[\003T\004\014\0045\003M\003\164\005\162\000\151\0046\001a\0047\001x\000\000\000\000\000\000\004\016\000\000\000\000\004\021\003\173\004-\002\207\000\000\000\000\005\163\003C\005\166\005[\000\000\000\000\004\001\000\000\002\177\000\000\000\146\002\191\002\178\000\134\000\000\002\177\003H\002\208\000\000\002\178\003I\004\008\002\209\002\192\000\000\005\200\002\210\002\175\002\198\000\000\000\000\002\211\000\147\000\134\005\\\003K\001c\000\000\004\008\000\000\001d\000\000\000Y\001a\000\000\001b\003T\004M\0045\000\000\000\000\003M\005\225\002\175\002\196\0046\000\000\0047\000\000\000\000\000\000\005\\\004\016\000\000\000\000\004\021\001q\004-\002\207\000\000\005\226\000\000\005$\005\229\005[\004\001\000\000\002\177\000\149\004\016\000\000\002\178\004\021\000\000\004-\000\000\000\000\000\000\002\208\000\000\000\000\000\134\000\157\002\209\001c\000\000\003C\002\210\001d\000\000\000\000\000\134\002\211\002\177\000\000\000\000\002\191\002\178\000\000\000\000\000\000\003H\000\000\002\191\000\000\003I\004\008\000\000\002\192\000\132\002\175\002\198\000\000\000\141\001q\002\192\000\000\000\000\000\000\000\000\003K\001a\005\\\001x\000Y\000Y\000\000\000\000\005\242\003T\004M\0045\000\000\000\000\000\000\001r\003M\001a\000\000\001b\0046\000\000\0047\000\000\000\000\000\000\000\000\004\016\000\000\000\000\004\021\000\000\004-\002\207\000\000\003C\005\248\000\134\004\001\005\t\002\177\000\000\000\135\000\000\002\178\002\191\000\136\000\000\000\000\000\134\003H\000\000\001c\002\208\003I\004\008\001d\002\192\002\209\004T\002\208\001\138\002\210\000\000\000\000\000\134\000\000\002\211\001c\003K\000\145\002\191\001d\001r\002\221\002\175\002\176\000\000\000\000\000\000\000\000\001\139\001q\002\192\000\000\003M\001\140\000\000\000\000\0046\001\141\004U\002\175\002\198\000\000\001\142\004\016\000\000\001q\004\021\000\000\004-\002\207\000\000\000\000\000\000\006\000\000Y\000\000\000\000\000\000\003T\004M\0045\000\000\000\000\000\000\000\000\000\000\002\175\002\176\000\000\002\208\000\134\000\000\002\177\000\000\002\209\003C\002\178\000\000\002\210\001a\000\000\001t\000\000\002\211\000\000\002\191\001\139\004\001\000\000\002\177\003H\000\000\000\000\002\178\003I\004\008\000\146\002\192\000\000\004V\001\146\000\000\002\175\002\198\000\000\002\175\002\198\000\000\001r\003K\000\191\001h\000\194\000\195\000\134\000\000\002\177\000Y\000\147\000\000\002\178\003T\004s\0045\001r\003M\000\000\000\134\000\000\0046\001c\004U\005\011\000\000\001d\000\000\004\016\000\000\000\196\004\021\000\197\004-\002\207\000\177\000\000\000\000\000\000\000\000\000\000\000\000\004\001\000\000\002\177\000\134\001\138\002\177\002\178\000\000\000\000\002\178\001q\001a\002\208\001b\000\149\000\000\000\000\002\209\000\178\000\000\002\191\002\210\000\179\000\000\001\139\000\000\002\211\003C\000\151\001\140\001A\000\000\002\192\001\141\004u\000\000\000\000\002\191\001\142\000\000\001w\000\000\003H\000\000\000\000\000\000\003I\004\008\000\000\002\192\000\000\004h\005~\000\000\002\175\002\198\002\203\000\000\000\000\000\134\000Y\003K\001c\000\000\002\191\003p\001d\000\000\003t\000Y\005\127\005[\000\000\003T\004s\0045\002\192\003M\000\000\000\000\000\000\0046\000\000\004U\001a\000\000\001b\000\000\004\016\001r\003C\004\021\001q\004-\002\207\000\132\000\000\002\208\000\000\001M\002\191\000\000\004\001\002\191\002\177\003H\000\000\000\000\002\178\003I\004\008\002\223\002\192\000\134\002\208\002\192\001\028\003u\000\000\002\209\000\000\003v\000\000\002\210\003K\002\175\002\195\002\205\002\211\005\\\001\021\000Y\000\134\000\000\000\000\001c\004w\000\000\000\000\001d\003M\002\208\000\000\000\134\0046\000\000\004v\000\000\000\135\002\175\002\198\004\016\000\136\000Y\004\021\002\225\004-\002\207\004\137\000\000\002\207\000\000\000\132\000\000\000Y\001q\000\141\000\000\003T\004\014\0045\001r\000\000\000\134\000\000\002\177\000\145\002\208\000\000\002\178\002\208\000\000\002\209\000\000\000\000\002\209\002\210\001\028\000\000\002\210\000\000\002\211\003C\000\000\002\211\000\000\000\000\004\001\000\000\002\177\000\000\001\021\002\191\002\178\000\000\000\000\000\000\003H\000\000\001\028\000\134\003I\004\008\003\131\002\192\000\135\000\000\000\000\000\000\000\136\002\175\002\198\000\000\001\021\000\000\003\132\003K\000\000\000\000\001\164\000\000\000\000\000\000\000\000\000\000\000Y\005\246\001\139\000\000\003T\001\030\004\000\003M\000\145\001r\001\022\0046\001\023\004v\000\197\000\000\001\148\000\000\004\016\000\000\000\146\004\021\000\000\004-\002\207\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\001\000\000\002\177\000\000\000\000\002\191\002\178\002\175\002\176\000\147\000\000\002\208\002\175\002\198\000\000\000\000\002\209\002\192\000\000\003C\002\210\000\000\000\000\000\000\003\133\002\211\000\000\000Y\000\000\002\191\000\000\003T\004\241\004\000\003H\000\000\004{\000\000\003I\004\008\000\000\002\192\001\139\001\031\000\000\001 \000\000\000\000\001\022\000\000\001\023\000\000\000\197\003K\000\146\000\134\001\150\002\177\000\000\000\000\004\001\002\178\002\177\000\000\000\000\001\031\002\178\001%\000\000\003M\001\022\000\176\001\023\0046\000\197\0047\000\147\000\000\000\000\000\000\004\016\002\175\002\198\004\021\000\000\004-\002\207\000\000\000\000\000\000\003C\000\000\004\255\000Y\000\000\005\225\004{\000\000\000\000\000\000\002\191\000\177\003;\004\252\000\000\003H\002\208\000\000\000\000\003I\004\008\002\209\002\192\005\226\000\000\002\210\005\229\005[\000\000\000\000\002\211\000\000\000\149\000\000\004p\000\000\000\178\000\000\000\000\003B\000\179\002\177\000\000\000\000\000\000\002\178\000\151\000\000\000\000\000\132\003M\000\000\000\000\001L\004\011\004r\000\000\002\175\002\198\001\028\003C\004\016\000\000\000\000\004\021\002\191\004-\002\207\000\000\000\000\002\191\000\000\000Y\001\021\000\000\003H\003T\002\192\004\000\003I\004\008\000\000\002\192\000\000\000\000\005\\\000\000\002\208\000\000\000\000\000\000\000\000\002\209\000\000\004p\000\000\002\210\000\134\000\000\000\000\000\000\002\211\000\135\000\000\000\000\004\001\000\136\002\177\000\000\000\000\003M\002\178\002\175\002\194\004\011\004r\003p\002\175\002\198\003\138\000\000\004\016\000\000\000\000\004\021\000\000\004-\002\207\005\225\003C\000\145\000\000\000Y\000\000\000\000\000\000\003T\005\001\004\000\002\191\000\000\004{\002\193\001a\003H\001x\005\226\002\208\003I\005\229\005[\002\192\002\209\000\000\000\132\000\000\002\210\000\000\000\141\000\000\000\134\002\211\002\177\003K\000\134\004\001\002\178\002\177\003u\000\000\000\132\002\178\003v\000\000\000\133\000\000\000\000\000\000\000\000\003M\000\000\000\000\000\000\001\031\000\000\003\224\000\000\000\000\001\022\006\007\001\023\000\134\000\197\000\000\001c\003C\002\207\006?\001d\000\000\000\000\004{\000\134\000\000\000\000\002\191\000\000\000\135\005\\\000\146\003H\000\136\000\000\000\000\003I\004\008\002\208\002\192\000\134\002\175\002\198\002\209\000\000\000\135\001q\002\210\000\000\000\136\006G\004p\002\211\000\147\000\000\000\000\000Y\000\145\000\000\000\132\003T\004\014\0045\000\133\000\000\000\000\000\000\003M\000\000\000\000\000\000\004\011\004r\000\145\000\000\000\000\000\000\003C\004\016\000\000\000\000\004\021\002\191\004-\002\207\000\000\003\131\002\191\000\000\004\001\000\000\002\177\003H\000\000\002\192\002\178\003I\004\008\003\132\002\192\002\175\002\198\000Y\000`\002\208\000_\000\000\000\134\000\000\002\209\000\000\004p\000\135\002\210\000\000\000Y\000\136\000\000\002\211\003T\000\000\004\000\002\175\002\176\000\000\001r\000\000\003M\003\211\000\000\000\000\004\011\004r\000\000\006\n\000a\000\146\000\000\004\016\000\000\000\145\004\021\000\000\004-\002\207\000\000\000\000\000\000\004\001\005\027\002\177\000\000\000\146\003\152\002\178\000\000\000\000\000\000\000\147\000Y\000[\0018\000_\000\000\002\208\000\000\000\000\000\000\000\000\002\209\000\134\001\138\002\177\002\210\000\147\000\000\002\178\000\000\002\211\003C\006M\000\000\000\000\000\177\004{\000\000\000\000\000\000\005\225\002\191\000\000\001\139\000a\000\000\003H\000\000\001\140\000\000\003I\004\008\001\141\002\192\002\175\002\198\000\149\001\142\005\226\000\000\000\178\005\229\005[\006v\000\179\003K\000\000\000\000\000\000\000Y\000\151\000\146\000\149\003T\004\014\0045\000\000\000\000\000\000\000\000\000\000\003M\000\000\000\000\000\000\0046\000\159\0047\000Y\001\008\003C\000_\004\016\000\147\000\000\004\021\000\000\004-\002\207\000\000\002\191\000\000\004\001\000\000\002\177\003H\000\000\000\000\002\178\003I\004\008\000\000\002\192\004\132\002\175\002\198\000\000\001\006\002\208\000\000\005\\\000a\002\191\002\209\004p\002\175\002\176\002\210\000\000\000Y\000\000\000\000\002\211\003T\002\192\0045\000\000\000\000\000\000\000\149\003M\001\t\000\000\0010\004\011\004r\000\000\000\000\000\000\003p\000\000\004\016\003\137\000\161\004\021\000\000\004-\002\207\000\000\000\000\000\000\000\000\004\001\000\000\002\177\000\000\000\000\000\000\002\178\002\175\002\198\000\000\000\000\000\134\001\006\002\177\000\000\002\208\000\000\002\178\000\000\0049\002\209\000\000\000Y\000\000\002\210\000\000\003T\000\000\004\000\002\211\003C\000\000\000\000\000\000\000\000\000\134\001\t\002\208\0010\003u\002\191\000\000\000\000\003v\000\000\003H\000\000\000\000\000\000\003I\004\008\002\227\002\192\000\000\000\000\004\001\000\000\002\177\000\000\000\000\000\000\002\178\006\017\000\000\003K\000\000\002\175\002\198\000\000\000\000\000\000\000\000\000\000\003p\000\000\000\000\003\136\000\000\003\255\000\000\003M\000Y\000\000\000\000\0046\003T\0047\004\000\000\000\001\006\003C\004\016\000\000\000\000\004\021\000\132\004-\002\207\000\000\000\141\002\191\000\000\000\000\000\000\000\000\003H\000\000\000\000\000\000\003I\004\008\002\191\002\192\001\t\004\001\0010\002\177\002\208\000\000\000\000\002\178\000\134\002\209\002\192\004\134\003u\002\210\000\000\000\000\003v\000\000\002\211\000\000\000\000\000\000\003\131\000\000\000\000\000\000\000\000\003M\000\000\000\000\000\134\0046\003C\004\136\003\132\000\135\000\000\000\000\004\016\000\136\000\000\004\021\002\191\004-\002\207\000\000\000\000\003H\000\000\002\233\000\000\003I\004\008\000\000\002\192\002\175\002\198\000Y\000[\001\213\000_\000\000\000\000\000\145\002\208\000\000\004\t\004\015\000\000\002\209\000Y\000\000\000\000\002\210\003T\002\208\004\000\000\000\002\211\000\000\000\000\000\000\003M\000\000\000\000\000\000\004\011\004\012\000\000\002\229\000a\003C\003p\004\016\000\000\003\135\004\021\000\000\004-\002\207\000\000\002\191\000\000\004\001\000\000\002\177\003H\000\000\003\131\002\178\003I\004\008\000\000\002\192\000\132\002\175\002\198\000\000\000\141\002\208\003\132\000\000\000\000\000\000\002\209\004\t\000\000\000\000\002\210\000Y\000Y\000\000\000\000\002\211\003T\000\000\004\000\000\000\000\000\000\000\000\134\003M\000\146\000\000\003u\004\011\004\012\000\000\003v\001a\000\000\001b\004\016\000\000\000\000\004\021\000\000\004-\002\207\000\176\000\000\000\000\000\134\004\001\000\147\002\177\000\000\000\135\000\000\002\178\000\000\000\136\000\000\000\000\000\000\002\175\002\198\000\000\002\208\000\000\000\000\000\000\000\000\002\209\000\000\000\000\000\000\002\210\000\000\000\177\000Y\000\000\002\211\003C\003T\000\145\004\000\000\134\000\000\000\000\001c\000\000\000\000\002\191\001d\000\000\000\000\000\000\003H\000\000\000\149\000\000\003I\004\008\000\178\002\192\000\000\000\000\000\179\000\000\001\006\000\000\000\000\004\001\000\151\002\177\000\000\004\t\000\000\002\178\001q\000\000\000\000\000\000\002\175\002\176\000\000\000\000\000\000\000\000\003\131\000\000\000\000\003M\001\t\000\000\0010\004\011\004\012\000\000\002\175\002\198\003\132\003C\004\016\000\000\000\000\004\021\000\000\004-\002\207\000\000\000\000\002\191\000\000\000Y\000\000\000\000\003H\003T\000\000\004\000\003I\004\008\000\146\002\192\000\000\000\000\000\000\000\000\002\208\004X\000\134\000\000\002\177\002\209\000\000\004Q\002\178\002\210\000\000\001N\000\000\000\000\002\211\000\000\000\147\000\000\004\001\000\000\002\177\000\000\000\000\003M\002\178\000\000\000\000\004\011\004S\001r\002\175\002\198\000\000\003C\004\016\000\000\001\189\004\021\000\197\004-\002\207\000\177\000\000\002\191\000\000\000Y\000\000\000\000\003H\003T\000\000\004\000\003I\004\008\000\000\002\192\000\000\002\175\002\176\000\000\002\208\004P\000\149\000\000\000\000\002\209\000\178\004Q\000\000\002\210\000\179\001a\000\000\001b\002\211\000\000\000\151\000\000\004\001\000\000\002\177\000\000\000\000\003M\002\178\000\000\000\000\004\011\004S\002\175\002\176\000\000\000\000\000\000\004\016\001\139\000\000\004\021\000\000\004-\002\207\000\000\002\191\000\000\000\000\000\134\000\000\002\177\003C\001\152\000\000\002\178\000\000\000\000\002\192\000\000\000\000\000\000\002\191\000\134\002\208\000\000\001c\003H\000\000\002\209\001d\003I\004\008\002\210\002\192\000\000\002\175\002\198\002\211\004d\000\000\000\134\000\000\002\177\000\000\000\000\004e\002\178\000\000\000\000\001a\000Y\001x\000\000\000\000\003T\001q\004\000\000\000\000\000\000\000\000\000\003M\000\000\000\000\000\000\004\011\004g\000\000\000\000\000\000\000\000\003C\004\016\000\000\000\000\004\021\000\000\004-\002\207\000\000\000\000\002\191\002\208\004\001\000\000\002\177\003H\000\000\000\000\002\178\003I\004\008\000\000\002\192\002\175\002\198\002\231\000\134\002\208\004b\001c\000\000\000\000\002\209\001d\004Q\000\000\002\210\002\191\000Y\000\000\000\000\002\211\003T\000\000\004\000\000\000\000\000\000\000\004o\002\192\003M\000\000\000\000\000\000\004\011\004S\000\000\000\000\000\000\001q\000\000\004\016\000\000\001r\004\021\000\000\004-\002\207\000\000\002\191\000\000\004\001\000\000\002\177\000\000\000\000\000\000\002\178\000\000\000\000\000\000\002\192\000\000\000\000\000\000\000\000\001a\002\208\001b\000\000\000\000\000\000\002\209\000\000\002\175\002\198\002\210\000\000\000\000\000\000\000\000\002\211\003C\000\000\000\000\006C\000\000\004t\000\000\000Y\000\000\000\000\002\191\003T\002\208\004\000\000\000\003H\000\000\000\000\000\000\003I\004\008\000\000\002\192\000\000\000\000\000\000\002\237\001\139\000\000\000Y\000\000\000\000\000\134\000\000\004p\001c\001r\000\000\000\000\001d\004\001\001\154\002\177\000\000\002\208\000\000\002\178\000\000\000\000\000\000\003M\000\000\000\000\000\000\004\011\004r\000\000\000\000\002\239\003C\005*\004\016\000\000\000\000\004\021\001q\004-\002\207\000\000\002\191\000\000\000\000\000\000\000\000\003H\000\000\000\000\000\000\003I\004\008\000\000\002\192\001\138\000\000\000\000\001\028\000\000\002\208\000\000\002\175\002\198\000\000\002\209\004p\000\000\000\000\002\210\000\000\000\000\001\021\006O\002\211\001\139\000\000\000Y\000\000\000\000\001\140\003T\003M\004\000\001\141\000\000\004\011\004r\000\000\001\142\000\000\000\000\001a\004\016\001b\000\000\004\021\000\000\004-\002\207\000\000\000\000\000\000\003C\000\000\000\000\000\000\000\000\000\000\000\000\004\001\000\000\002\177\002\191\000\000\000\000\002\178\001r\003H\002\208\000\000\000\000\003I\004\008\002\209\002\192\000\000\000\000\002\210\000\000\000\000\002\175\002\198\002\211\000\000\000\000\000\000\006D\000\000\000\000\000\134\000\000\006R\001c\000\000\000\000\000Y\001d\000\000\000\000\003T\000\000\004\000\003M\001a\000\000\001b\004\011\006F\000\000\000\000\000\000\000\000\000\000\004\016\000\000\001a\004\021\001b\004-\002\207\000\000\000\000\001q\000\000\000\000\000\000\000\000\000\000\004\001\000\000\002\177\001\031\001\139\003\234\002\178\000\000\001\022\000\000\001\023\002\208\000\197\002\175\002\198\000\000\002\209\000\000\001\156\000\000\002\210\003C\000\000\000\134\000\000\002\211\001c\000\000\000Y\000\000\001d\002\191\004\150\000\000\000\000\000\134\003H\000\000\001c\000\000\003I\004\008\001d\002\192\000\000\000\000\000\000\002\175\002\176\000\000\000\000\000\000\000\000\004\181\000\000\006D\001q\000\000\000\000\000\000\000\000\004\184\000\000\002\177\000\000\000\000\000\000\002\178\001q\000\000\000\000\003M\000\000\001r\000\000\004\011\006F\003p\000\000\000\000\003t\000\000\004\016\004\190\000\000\004\021\000\000\004-\002\207\000\132\003C\000\000\000\000\000\141\000\000\000\134\000\000\002\177\000\000\000\000\002\191\002\178\000\000\000\000\000Y\003H\000\000\000\000\002\208\003I\004\008\004\227\002\192\002\209\002\203\000\000\001\175\002\210\000\000\000\000\000\000\000\000\002\211\000\000\006D\003B\000\000\003p\000\000\003u\003t\000\000\000\000\003v\000\000\001r\000\000\000\134\000\000\001\139\003M\000\000\000\135\000\000\004\011\006F\000\136\001r\000\000\000\000\000\000\004\016\000\000\001\158\004\021\000\000\004-\002\207\000\000\000\000\000\000\002\191\000\000\000\132\000\000\000\000\000\000\000\141\000\000\000\000\000\145\004\191\000\000\002\192\000\000\003B\000\132\002\208\000Y\003u\000\143\000\000\002\209\003v\000\000\004\229\002\210\000\000\000\000\000\000\000\000\002\211\000\000\000\000\000\000\002\191\000\000\000\000\000\000\000\000\000\000\001s\003p\000\000\000\000\003t\000\000\002\192\000\000\003\156\000\000\000\134\004\194\001\139\000\000\004\230\000\135\004\217\002\207\000\000\000\136\000\000\000\000\000\000\000\134\003\131\000\132\001\160\003\199\000\135\000\141\000\000\000\000\000\136\003\159\000\000\000\000\003\132\002\208\000\000\000\000\000Y\000\000\002\209\000\145\000\000\001a\002\210\001b\000\146\003B\000\000\002\211\000\000\003u\000\000\003\201\000\145\003v\003\156\000\000\000\000\003\162\000\191\002\182\000\194\000\195\000\000\000\000\000\000\000\000\000\147\002\208\000\000\000\134\003\131\003\192\003\209\003\195\000\135\000\000\000\000\000\000\000\136\003\159\000\000\002\241\003\132\000\000\000\000\000\000\000\196\000\000\000\197\000\134\000\000\000\177\001c\003\206\000\132\000\000\001d\000\000\000\141\003\164\000Y\003\198\000\145\000Y\000[\002*\000_\003\162\000\000\000Y\000\000\000\000\000\149\003\165\000\000\000\000\000\178\000\000\000\146\000\000\000\179\000\000\001q\000\000\000\000\000\000\000\151\000\000\001A\003\156\000\000\000\146\000\191\003E\000\194\000\195\000a\000\000\000\000\000\000\000\147\000\000\000\134\000\000\000\000\003\131\003\197\000\135\003\195\003\164\000\000\000\136\000\000\000\147\003\159\000\000\001\028\003\132\000\000\000\000\000\196\000\000\000\197\003\165\000\000\000\177\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\145\003\198\000\000\000\148\000\000\000\000\000\146\003\162\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\178\002\175\002\198\000\000\000\179\000\191\003z\000\194\000\195\000\149\000\151\001r\001A\000\147\002\202\000\000\000Y\000\132\000\000\000\000\004\150\000\141\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000\196\003\164\000\197\000\000\000\000\000\177\000\000\000\000\004\231\000\000\000\000\000\000\000\000\000\000\000\000\003\165\004\184\000\000\002\177\000\000\002\175\002\198\002\178\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\178\000\146\000\134\000\000\000\179\000Y\000\000\000\135\004\190\004\150\000\151\000\136\001A\001\006\001\139\000\191\004\018\000\194\000\195\000\000\000\000\000\000\000\000\000\147\000\000\000\000\000\000\001\031\001\162\004\028\004\183\000\000\001\022\000\000\001\023\000\145\000\197\001\t\004\184\0010\002\177\000\000\000\000\000\196\002\178\000\197\000\000\000\000\000\177\000\000\000\000\001a\003p\001b\000\000\003t\000Y\000[\0025\000_\004\190\000\000\000\000\000\000\000\000\003p\000\000\000\000\003t\000\149\002\175\002\198\000\000\000\178\000\000\000\000\000\000\000\179\000\000\000\000\000\000\000\000\000\000\000\151\000\000\001A\002\191\000\000\000\000\000a\000\000\004A\000\000\000\000\000\000\000\000\004\191\000\000\002\192\000\134\003B\000\000\001c\000\000\003u\000\000\001d\000\000\003v\000\000\004\192\000\000\000\132\003B\000\146\000\000\000\141\003u\003B\000\000\002\177\003v\000\000\000\000\002\178\002\175\002\198\000Y\000\191\004\196\000\194\000\195\001q\000\000\000\000\000\000\000\147\004\194\002\191\000\000\004\199\000\000\004\217\002\207\000\000\000\000\003;\004J\004\191\000\000\002\192\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\197\000\000\000\134\000\177\004\192\002\208\000\000\000\135\000\000\004G\002\209\000\136\000\000\002\203\002\210\003B\000\000\002\177\000\000\002\211\000\000\002\178\000\000\000\000\000\149\000\000\003\156\000\000\000\178\000\132\000\000\004\194\000\179\000\133\004\199\000\145\004\217\002\207\000\151\003\156\001A\000\000\003\131\003\192\003\193\003\195\000\000\000\000\000\000\000\000\003C\003\159\000\000\001r\003\132\003\131\000\000\002\208\003\158\000\132\002\191\001\006\002\209\000\141\003\159\003H\002\210\003\132\000\000\003I\000\000\002\211\002\192\003\198\000\000\002\175\002\198\000\134\000\000\003\162\000\000\000\000\000\135\000\000\004I\001\t\000\136\0010\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\000\003;\004@\000\000\000\000\003M\000\000\000\000\000Y\000\000\003C\000\000\000\134\000\000\000\000\000\145\000\000\000\135\000\000\000\146\002\191\000\136\002\207\000\000\001\139\003H\003\164\000\000\003B\003I\002\177\003 \002\192\001C\002\178\000\000\000\195\000\000\001\168\003\164\003\165\000\147\002\208\000\000\003K\000\145\000\000\002\209\000\000\000\000\000\000\002\210\000\000\003\165\000\000\000\000\002\211\000\000\000\000\000\000\003M\000\196\000\000\000\197\001\028\000\000\000\177\003p\000\000\000\000\003t\000\000\000\000\000\000\000\000\000\000\000\000\002\207\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\002\175\002\198\000\000\000\178\000\000\000\000\000\146\000\179\000\000\002\208\000\000\002\175\002\198\000\151\002\209\001A\000\000\000\000\002\210\000\000\000\000\003;\003<\002\211\000\000\000\000\000\000\000\134\000\147\000\000\003C\003u\003;\003G\000\000\003v\000\146\000\000\000\000\000\000\002\191\002\175\002\198\000\000\000\000\003H\000\000\000\000\003B\003I\002\177\000\000\002\192\000\176\002\178\001a\000\000\001b\000\147\003B\000\000\002\177\003;\004L\003K\002\178\000\000\000\000\000\000\000\000\000\000\002\175\002\198\000\000\000\149\000\132\000\000\000\000\000\000\000\133\003M\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\163\003B\000\000\002\177\003;\005\017\000\000\002\178\000\000\002\207\000\000\000\000\001\031\000\000\004$\000\134\000\149\001\022\001c\001\023\000\178\000\197\001d\000\000\000\179\000\000\000\000\000\000\000\000\002\208\000\151\003B\000\000\002\177\002\209\000\134\000\000\002\178\002\210\003\131\000\135\000\000\000\000\002\211\000\136\000\000\000\000\000\000\001q\000\000\003C\003\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\191\003C\000\000\000\000\000\000\003H\002\175\002\198\000\145\003I\000\000\002\191\002\192\000\000\000\000\000\000\003H\000\000\000\000\000\000\003I\000\000\000\000\002\192\003K\000\000\000\000\003;\005\019\000\000\000\000\003C\000\000\000\000\000\000\003K\000\000\000\000\000\000\000\000\003M\002\191\002\175\002\198\000\000\000\000\003H\000\000\000\000\000\000\003I\003M\000\000\002\192\003B\000\132\002\177\002\207\003\164\000\141\002\178\003C\000\132\003;\005\021\003K\000\141\001r\002\207\000\000\000Y\002\191\003\175\000\000\000\000\000\000\003H\002\208\000\000\000\000\003I\003M\002\209\002\192\000\000\000\000\002\210\000\146\002\208\000\000\003B\002\211\002\177\002\209\000\000\003K\002\178\002\210\002\207\000\000\000\000\000\000\002\211\000\134\000\000\000\000\000\000\000\000\000\135\000\147\000\134\003M\000\136\000\000\000\000\000\135\000\000\000\000\002\208\000\136\002\175\002\198\000\000\002\209\000\000\000\000\000\000\002\210\002\207\003\"\000\000\000\000\002\211\001\139\000\000\000\132\000\145\000\000\000\000\000\141\000\000\004C\000\000\000\145\003C\000\000\000\000\001\170\002\208\000\000\000Y\000\000\000\000\002\209\002\191\000\149\000\000\002\210\000\000\003H\000\000\000\000\002\211\003I\000\000\000\000\002\192\000\000\003B\000\165\002\177\000\132\000\000\000\000\002\178\000\141\000\000\000\000\003K\000\000\003C\000\000\000\000\000\134\000\000\000\000\000Y\000\000\000\135\000\000\002\191\000\000\000\136\000\000\003M\003H\000\000\000\000\003p\003I\000\000\003t\002\192\000\000\000\000\000\000\000\000\000\000\000\132\000\000\000\000\002\207\000\141\000\000\003K\000\146\000\145\000\000\000\000\000\134\000\000\000\000\000\146\000Y\000\135\000\000\000\000\000\000\000\136\000\000\003M\002\208\001Q\000\000\000\000\000\000\002\209\000\147\000\000\000\176\002\210\000\000\000\000\000\000\000\147\002\211\000\134\002\207\000\000\000\000\003u\000\000\000\145\000\000\003v\000\000\000\134\001S\003C\000\197\000\000\000\135\000\177\000\000\000\000\000\136\000\000\002\208\002\191\000\177\000\132\000\132\002\209\003H\000\141\000\141\002\210\003I\000\000\000\000\002\192\002\211\000\000\000\149\000\000\000Y\000Y\000\178\000\000\000\145\000\149\000\179\003K\000\000\000\178\000\146\000\000\000\151\000\179\000\000\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\132\003M\000\000\000\000\000\141\001Q\000\000\000\000\000\000\000\000\000\147\000\134\000\134\000\000\000\000\000Y\000\135\000\135\002\207\000\000\000\136\000\136\000\000\000\000\000\146\000\000\000\000\000\000\000\000\001a\001\195\001b\000\197\000\000\000\000\000\177\000\000\003p\002\208\003\131\003t\001N\000\000\002\209\000\145\000\145\000\147\002\210\000\134\000\000\000\000\003\132\002\211\000\135\000\000\000\000\000\149\000\136\000\000\000\000\000\178\000\146\000\000\000\132\000\179\000\000\001\201\000\141\000\197\000\000\000\151\000\177\000\000\000\000\000\000\000\000\000\000\000\134\002\158\000\000\001c\000\145\000\000\000\147\001d\003B\000\000\000\000\000\000\003u\000\000\000\000\000\149\003v\000\000\000\000\000\178\000\000\000\000\003p\000\179\003p\003t\002\160\003t\000\197\000\151\000\000\000\177\000\000\001q\000\134\000\000\000\000\000\000\000\000\000\135\000\000\003\164\000\000\000\136\000\000\000\000\000\146\000\146\000\000\000\000\000\132\000\000\000\149\003$\000\141\003\177\000\178\000\000\000\000\000\000\000\179\000\000\000\000\002\158\003`\000\000\000\151\000\145\000\147\000\147\003B\000\000\003B\000\000\003u\000\000\003u\000\000\003v\000\000\003v\000\000\000\000\000\146\000\000\000\000\000\000\000\000\002\243\003b\000\197\000\197\003\156\000\177\000\177\000\000\000\000\000\000\000\134\000\000\003`\000\000\000\000\000\135\000\000\000\147\000\000\000\136\003\131\003\192\006I\003\195\001r\000\000\000\149\000\149\000\000\003\159\000\178\000\178\003\132\000\000\000\179\000\179\000\000\003r\000\000\000\197\000\151\000\151\000\177\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\132\003\198\000\000\000\000\000\141\000\000\000\000\003\162\000\146\000\000\000\000\000\132\000\000\000\149\003]\000\141\003\156\000\178\003\156\000\000\000\000\000\179\000\000\000\000\000\000\000\176\000\000\000\151\000\000\000\000\000\147\000\000\003\131\000\000\003\131\003\161\000\000\003\199\000\000\000\000\001\139\003\159\000\000\003\159\003\132\000\000\003\132\000\000\000\134\003\164\000\000\000\000\000\132\000\135\001\172\000\177\000\141\000\136\000\000\000\134\000\000\000\000\000\000\003\165\000\135\003\201\000\000\000\000\000\136\003\162\000\000\003\162\000\146\000\000\000\000\000\132\000\149\000\000\000\132\000\141\000\178\000\145\000\141\000\000\000\179\000\000\000\000\000\000\000\000\001\177\000\151\000\000\000\145\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\134\003p\000\000\000\000\003t\000\135\000\000\003\204\000\000\000\136\000\000\003\164\000\000\003\164\003p\000\000\000\132\003t\000\000\000\177\000\141\000\000\000\000\000\134\000\000\003\165\000\134\003\165\000\135\000\000\000\000\000\135\000\136\000\145\000\000\000\136\000\000\000\000\000\000\000\132\000\149\000\000\000\000\000\141\000\178\000\000\000\000\000\000\000\179\000\134\000\000\000\000\003\150\003u\000\151\000\000\000\145\003v\000\000\000\145\000\146\000\000\000\134\003\228\000\134\000\000\003u\000\000\000\000\000\135\003v\000\146\000\000\000\136\000\000\000\000\000\000\003\152\000\000\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\134\003\152\000\000\000\000\000\000\000\135\000\147\000\000\000\000\000\136\000\145\000Y\000[\002:\000_\000\000\000\000\003\239\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\146\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\003\247\000\149\003\152\004\004\000a\000\178\000\000\000\147\000\146\000\179\000\000\000\146\000\149\000\000\000\000\000\151\000\178\000\132\000\000\000\000\000\179\000\141\003\131\000\000\000\000\003\152\000\151\000\000\003\152\000\000\000\147\000\000\000\177\000\147\003\132\003\131\000\000\000\000\000\000\000\000\000\000\004 \000Y\000[\002|\000_\000\000\003\132\000\000\000\146\000\000\000\000\000\000\000\149\000\000\000\177\000\132\000\178\000\177\000\000\000\141\000\179\000\000\000\000\004)\000\134\003\152\000\151\000\000\000\000\000\135\000\147\000\146\000\000\000\136\000a\000\149\000\000\000\000\000\149\000\178\000\000\000\000\000\178\000\179\000\000\000\000\000\179\000\000\003\152\000\151\000\000\000\000\000\151\000\147\000\000\000\177\000\000\000\145\000\000\000\000\003\164\000\000\000\000\000\134\000\000\000\000\000\000\000\132\000\135\000\000\000\000\000\141\000\136\003\164\003\179\000\000\000\149\000\000\000\177\000\000\000\178\000\000\000\132\000\000\000\179\000\132\000\141\003\181\000\000\000\141\000\151\000\000\000\000\001\006\000\000\000\000\000\145\000\000\000\132\000\149\000\000\000\000\000\141\000\178\000\000\000\000\000\000\000\179\000\132\000\000\000\000\000\000\000\133\000\151\000\000\000\134\000\000\001\t\000\000\0010\000\135\000\000\000\000\000\000\000\136\000\132\000\000\000\000\0041\000\141\000\134\000\000\000\000\000\134\000\000\000\135\000\146\000\000\000\135\000\136\000\000\000\000\000\136\000\000\000\000\000\000\000\134\000\000\000\145\000\000\000\000\000\135\000\000\003\152\000\000\000\136\000\134\000\000\000\147\000\000\000\000\000\135\000\000\000\145\001\006\000\136\000\145\004\155\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\146\000\000\000\000\000\135\000\145\000\000\000\000\000\136\000\177\000\000\000\000\000\000\000\000\001\t\000\145\0010\000\000\003\152\000Y\000[\002\130\000_\000\147\000\000\000\000\000Y\000[\002\135\000_\000\149\000\000\000\145\000\000\000\178\000\000\000\000\000\000\000\179\000\132\000\000\000\000\000\000\000\141\000\151\004\167\000\000\000\000\000\177\000\000\000\000\000\132\000a\000\146\000\000\000\141\000\000\000\000\000\000\000a\004\172\000\000\000\000\004\179\000\000\000\000\000\000\000\000\000\146\000\149\003\152\000\146\000\000\000\178\000\000\000\147\004\188\000\179\000\000\000\000\000\000\000\000\000\000\000\151\000\146\003\152\000\000\000\134\003\152\000\000\000\147\000\000\000\135\000\147\000\146\000\000\000\136\000\000\000\000\000\134\000\177\003\152\000\000\004\210\000\135\000\000\000\147\000\000\000\136\000\000\000\000\000\146\000\000\000\000\000\000\000\177\000\147\000\000\000\177\000\000\000\145\000\149\000\000\000\000\000\000\000\178\000\000\000\000\003\152\000\179\000\000\000\177\000\145\000\147\000\000\000\151\000\149\000\132\000\000\000\149\000\178\000\141\000\000\000\178\000\179\000\000\000\000\000\179\000\000\000\000\000\151\006%\000\149\000\151\000\000\000\000\000\178\000\132\000\177\000\000\000\179\000\141\000\149\000\000\000\000\000\000\000\151\000\000\000\000\000\132\000\000\006\133\000\000\000\141\000Y\003p\000\167\000\000\003t\000\149\000\000\000\000\001\006\000\178\000\000\000\134\000\000\000\179\000\000\001\006\000\135\004\215\000\000\000\151\000\136\000Y\000\000\003p\000\000\000\146\003t\000\000\000\000\004\222\000\000\000\134\001\t\000\000\0010\000\000\000\135\000\146\000\000\001\t\000\136\0010\003\152\000\134\000\145\000\000\000\000\000\147\000\135\000\134\000\000\000\000\000\136\003u\003\152\000\000\001\028\003v\000\132\000\147\000\000\000\000\000\141\000\000\000\145\000\000\000\000\000\000\000\000\000\132\001\021\000\134\000\177\000\141\000\000\003u\000\145\001\028\000\000\003v\000\000\000\132\000\000\000\000\000\177\000\141\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\149\000\000\000\000\000\000\000\178\000\000\000\000\000\132\000\179\000\000\000\000\000\141\000\149\000\134\000\151\000\000\000\178\000\000\000\135\000\000\000\179\000\000\000\136\000\000\000\134\000\000\000\151\000\000\000\000\000\135\000\146\000\000\000\000\000\136\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\136\000\145\006&\000\000\000\000\000\146\000\000\000\147\000\000\000\000\000\134\003\131\000\145\000\000\000\000\000\135\000\000\000\146\000\000\000\136\000\000\000\000\006&\003\132\000\145\000\000\000\132\000\147\000\000\000\000\000\141\000\000\000\177\003\131\001E\000\000\000\000\000\000\000\000\000\147\000\000\000\000\001\031\000\145\004\163\003\132\000\000\001\022\000\000\001\023\000\000\000\197\000\177\000\149\000\000\000\000\000\000\000\178\000\000\000\000\000\000\000\179\000\132\001\031\000\177\004\206\000\141\000\151\001\022\000\000\001\023\000\000\000\197\000\149\000\134\000\000\000\000\000\178\000\000\000\135\000\146\000\179\000\000\000\136\000\000\000\149\000\000\000\151\000\000\000\178\003\164\000\146\000\000\000\179\000\000\000\000\000\000\001k\000\000\000\151\000\000\000\132\000\147\000\146\003\183\000\141\000\000\000\145\001\132\000\000\000\134\000\000\003\164\000\147\000\000\000\135\000\000\000\000\000\000\000\136\001\179\000\000\000\146\000\000\000\132\000\147\003\185\000\177\000\141\000\000\000\000\000\000\003p\000\000\000\000\003t\000\000\000\000\000\177\002\145\000\000\000\000\000\000\000\145\000\147\000\000\000\000\000\000\000\149\000\134\000\177\000\000\000\178\000\000\000\135\000\000\000\179\000\000\000\136\000\149\000\000\000\000\000\151\000\178\000\132\000\000\000\000\000\179\000\141\000\177\000\000\000\149\000\134\000\151\000\000\000\178\000\000\000\135\000\000\000\179\000\134\000\136\000\145\000\000\003u\000\151\000\146\000\000\003v\000\000\000\149\000\000\000\000\000\000\000\178\000\132\000\000\000\000\000\179\000\141\000\000\000\000\000\000\002\149\000\151\000\145\000\000\000\132\000\147\000\000\000\000\000\141\000\134\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\136\000\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\132\000\000\000\000\000\000\000\141\002\185\000\000\000\000\000\000\000\134\000\147\000\145\000\000\000\000\000\135\000\000\000\000\000\000\000\136\000\000\000\149\000\134\000\000\000\000\000\178\000\000\000\135\000\146\000\179\000\000\000\136\000\000\000\000\000\000\000\151\000\177\000\132\000\000\000\000\000\132\000\141\000\000\000\145\000\141\002\248\000\000\003\131\000\000\000\134\000\147\000\146\000\000\000\000\000\135\000\145\000\000\000\149\000\136\003\132\000\000\000\178\000\000\000\000\003p\000\179\000\000\003t\002\253\000\000\000\000\000\151\000\000\000\147\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\134\000\000\000\000\000\134\000\000\000\135\000\146\000\000\000\135\000\136\000\000\000\149\000\136\000\177\000\000\000\178\000\132\000\000\000\000\000\179\000\141\000\000\000\132\003\001\000\000\000\151\000\133\000\134\000\147\000\000\000\000\003u\000\000\000\145\000\149\003v\000\145\000\146\000\178\000\000\000\000\003\164\000\179\000\000\000\000\000\000\000\000\000\132\000\151\000\146\000\000\000\141\000\000\000\177\003\024\003\187\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\134\000\000\003?\000\000\000\000\000\135\000\134\000\147\000\000\000\136\000\149\000\135\000\146\000\000\000\178\000\136\000\000\000\000\000\179\000\000\000\177\000\132\000\000\000\000\000\151\000\133\000\000\000\000\000\000\003}\000\000\000\134\000\177\000\145\000\147\003p\000\135\000\000\003t\000\145\000\136\000\149\000\000\000\000\000\000\000\178\000\000\000\000\000\146\000\179\000\000\000\146\000\000\000\149\000\000\000\151\000\132\000\178\000\132\000\177\000\133\000\179\000\133\003\131\000\145\003\140\000\000\000\151\003\142\000\134\000\147\000\000\000\000\000\147\000\135\003\132\000\000\000\000\000\136\000\000\000\149\000\000\000\000\000\134\000\178\000\000\000\000\003u\000\179\000\000\000\000\003v\000\000\000\132\000\151\000\177\000\000\000\133\000\177\000\000\000\000\000\000\000\145\000\000\000\134\000\000\000\134\000\000\000\000\000\135\000\000\000\135\000\146\000\136\000\000\000\136\000\149\000\000\000\146\000\149\000\178\000\000\000\000\000\178\000\179\000\000\000\000\000\179\000\000\004\143\000\151\000\000\000\000\000\151\000\147\000\000\000\000\000\145\000\000\000\145\000\147\000\134\003\164\000\146\000\000\000\000\000\135\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\003\189\000\000\000\000\000\177\004\245\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\145\000\000\000\000\000\000\000\000\000\000\000\149\000\146\000\000\003\131\000\178\000\000\000\149\000\000\000\179\000\000\000\177\000\000\000\000\000\000\000\151\003\132\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\178\000\146\000\000\000\146\000\179\000\000\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\147\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\164\000\171\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\147\003\191\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\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\181\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185"))
let semantic_action =
[|
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1767 "parser_cocci_menhir.mly"
+# 1780 "parser_cocci_menhir.mly"
( Ast0.set_arg_exp _1 )
# 1535 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1769 "parser_cocci_menhir.mly"
+# 1782 "parser_cocci_menhir.mly"
( let (nm,lenname,pure,clt) = _1 in
let nm = P.clt2mcode nm clt in
let lenname =
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1777 "parser_cocci_menhir.mly"
+# 1790 "parser_cocci_menhir.mly"
( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
# 1593 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1821 "parser_cocci_menhir.mly"
+# 1834 "parser_cocci_menhir.mly"
( Ast.WhenAny )
# 1615 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1822 "parser_cocci_menhir.mly"
+# 1835 "parser_cocci_menhir.mly"
( Ast.WhenStrict )
# 1637 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1823 "parser_cocci_menhir.mly"
+# 1836 "parser_cocci_menhir.mly"
( Ast.WhenForall )
# 1659 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1824 "parser_cocci_menhir.mly"
+# 1837 "parser_cocci_menhir.mly"
( Ast.WhenExists )
# 1681 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1264 "parser_cocci_menhir.mly"
+# 1241 "parser_cocci_menhir.mly"
( _1 )
# 1705 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1266 "parser_cocci_menhir.mly"
+# 1243 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
# 1745 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1268 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 1785 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1270 "parser_cocci_menhir.mly"
+# 1247 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
# 1825 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1272 "parser_cocci_menhir.mly"
+# 1249 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
# 1865 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1274 "parser_cocci_menhir.mly"
+# 1251 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 1905 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1276 "parser_cocci_menhir.mly"
+# 1253 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 1945 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1278 "parser_cocci_menhir.mly"
+# 1255 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
# 1985 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1280 "parser_cocci_menhir.mly"
+# 1257 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
# 2025 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1282 "parser_cocci_menhir.mly"
+# 1259 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
# 2065 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1284 "parser_cocci_menhir.mly"
+# 1261 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
# 2105 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1286 "parser_cocci_menhir.mly"
+# 1263 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
# 2145 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1288 "parser_cocci_menhir.mly"
+# 1265 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
# 2185 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1290 "parser_cocci_menhir.mly"
+# 1267 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
# 2225 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1264 "parser_cocci_menhir.mly"
+# 1241 "parser_cocci_menhir.mly"
( _1 )
# 2249 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1266 "parser_cocci_menhir.mly"
+# 1243 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
# 2289 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1268 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 2329 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1270 "parser_cocci_menhir.mly"
+# 1247 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
# 2369 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1272 "parser_cocci_menhir.mly"
+# 1249 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
# 2409 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1274 "parser_cocci_menhir.mly"
+# 1251 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 2449 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1276 "parser_cocci_menhir.mly"
+# 1253 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 2489 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1278 "parser_cocci_menhir.mly"
+# 1255 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
# 2529 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1280 "parser_cocci_menhir.mly"
+# 1257 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
# 2569 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1282 "parser_cocci_menhir.mly"
+# 1259 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
# 2609 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1284 "parser_cocci_menhir.mly"
+# 1261 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
# 2649 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1286 "parser_cocci_menhir.mly"
+# 1263 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
# 2689 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1288 "parser_cocci_menhir.mly"
+# 1265 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
# 2729 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1290 "parser_cocci_menhir.mly"
+# 1267 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
# 2769 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1264 "parser_cocci_menhir.mly"
+# 1241 "parser_cocci_menhir.mly"
( _1 )
# 2793 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1266 "parser_cocci_menhir.mly"
+# 1243 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
# 2833 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1268 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 2873 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1270 "parser_cocci_menhir.mly"
+# 1247 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
# 2913 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1272 "parser_cocci_menhir.mly"
+# 1249 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
# 2953 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1274 "parser_cocci_menhir.mly"
+# 1251 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 2993 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1276 "parser_cocci_menhir.mly"
+# 1253 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 3033 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1278 "parser_cocci_menhir.mly"
+# 1255 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
# 3073 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1280 "parser_cocci_menhir.mly"
+# 1257 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
# 3113 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1282 "parser_cocci_menhir.mly"
+# 1259 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
# 3153 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1284 "parser_cocci_menhir.mly"
+# 1261 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
# 3193 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1286 "parser_cocci_menhir.mly"
+# 1263 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
# 3233 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1288 "parser_cocci_menhir.mly"
+# 1265 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
# 3273 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1290 "parser_cocci_menhir.mly"
+# 1267 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
# 3313 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1264 "parser_cocci_menhir.mly"
+# 1241 "parser_cocci_menhir.mly"
( _1 )
# 3337 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1266 "parser_cocci_menhir.mly"
+# 1243 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
# 3377 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1268 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 3417 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1270 "parser_cocci_menhir.mly"
+# 1247 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
# 3457 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1272 "parser_cocci_menhir.mly"
+# 1249 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
# 3497 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1274 "parser_cocci_menhir.mly"
+# 1251 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
# 3537 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1276 "parser_cocci_menhir.mly"
+# 1253 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
# 3577 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1278 "parser_cocci_menhir.mly"
+# 1255 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
# 3617 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1280 "parser_cocci_menhir.mly"
+# 1257 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
# 3657 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1282 "parser_cocci_menhir.mly"
+# 1259 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
# 3697 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1284 "parser_cocci_menhir.mly"
+# 1261 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
# 3737 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1286 "parser_cocci_menhir.mly"
+# 1263 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
# 3777 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1288 "parser_cocci_menhir.mly"
+# 1265 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
# 3817 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1290 "parser_cocci_menhir.mly"
+# 1267 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
# 3857 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_l_ in
let _endpos = _endpos_r_ in
let _v : 'tv_array_dec =
-# 1071 "parser_cocci_menhir.mly"
+# 1048 "parser_cocci_menhir.mly"
( (l,i,r) )
# 3984 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1236 "parser_cocci_menhir.mly"
+# 1213 "parser_cocci_menhir.mly"
( _1 )
# 4008 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1238 "parser_cocci_menhir.mly"
+# 1215 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1242 "parser_cocci_menhir.mly"
+# 1219 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1236 "parser_cocci_menhir.mly"
+# 1213 "parser_cocci_menhir.mly"
( _1 )
# 4116 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1238 "parser_cocci_menhir.mly"
+# 1215 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1242 "parser_cocci_menhir.mly"
+# 1219 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_expr_invalid_ =
-# 1236 "parser_cocci_menhir.mly"
+# 1213 "parser_cocci_menhir.mly"
( _1 )
# 4224 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_expr_invalid_ =
-# 1238 "parser_cocci_menhir.mly"
+# 1215 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_expr_invalid_ =
-# 1242 "parser_cocci_menhir.mly"
+# 1219 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_assign_expr_bis =
-# 1247 "parser_cocci_menhir.mly"
+# 1224 "parser_cocci_menhir.mly"
( _1 )
# 4332 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_bis =
-# 1249 "parser_cocci_menhir.mly"
+# 1226 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in
Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_assign_expr_bis =
-# 1253 "parser_cocci_menhir.mly"
+# 1230 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.Assignment
(_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
-# 1233 "parser_cocci_menhir.mly"
+# 1210 "parser_cocci_menhir.mly"
( _1 )
# 4440 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
-# 1233 "parser_cocci_menhir.mly"
+# 1210 "parser_cocci_menhir.mly"
( _1 )
# 4464 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_basic_expr_expr_invalid_ =
-# 1233 "parser_cocci_menhir.mly"
+# 1210 "parser_cocci_menhir.mly"
( _1 )
# 4488 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_case_line =
-# 943 "parser_cocci_menhir.mly"
+# 920 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
# 4532 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_case_line =
-# 945 "parser_cocci_menhir.mly"
+# 922 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
# 4582 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
-# 1293 "parser_cocci_menhir.mly"
+# 1270 "parser_cocci_menhir.mly"
( _1 )
# 4606 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_lp_ in
let _endpos = _endpos_e_ in
let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
-# 1295 "parser_cocci_menhir.mly"
+# 1272 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
# 4657 "parser_cocci_menhir.ml"
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_eexpr_invalid_ =
-# 1293 "parser_cocci_menhir.mly"
+# 1270 "parser_cocci_menhir.mly"
( _1 )
# 4681 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_lp_ in
let _endpos = _endpos_e_ in
let _v : 'tv_cast_expr_eexpr_invalid_ =
-# 1295 "parser_cocci_menhir.mly"
+# 1272 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
# 4732 "parser_cocci_menhir.ml"
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
-# 1293 "parser_cocci_menhir.mly"
+# 1270 "parser_cocci_menhir.mly"
( _1 )
# 4756 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_lp_ in
let _endpos = _endpos_e_ in
let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
-# 1295 "parser_cocci_menhir.mly"
+# 1272 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
# 4807 "parser_cocci_menhir.ml"
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cast_expr_expr_invalid_ =
-# 1293 "parser_cocci_menhir.mly"
+# 1270 "parser_cocci_menhir.mly"
( _1 )
# 4831 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_lp_ in
let _endpos = _endpos_e_ in
let _v : 'tv_cast_expr_expr_invalid_ =
-# 1295 "parser_cocci_menhir.mly"
+# 1272 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
P.clt2mcode ")" rp, e)) )
# 4882 "parser_cocci_menhir.ml"
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_comma_decls_TEllipsis_decl_ =
-# 1568 "parser_cocci_menhir.mly"
+# 1575 "parser_cocci_menhir.mly"
( function dot_builder ->
[Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
dot_builder _2] )
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_comma_decls_TEllipsis_decl_ =
-# 1572 "parser_cocci_menhir.mly"
+# 1579 "parser_cocci_menhir.mly"
( function dot_builder ->
[Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
# 4985 "parser_cocci_menhir.ml"
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
-# 1568 "parser_cocci_menhir.mly"
+# 1575 "parser_cocci_menhir.mly"
( function dot_builder ->
[Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
dot_builder _2] )
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
-# 1572 "parser_cocci_menhir.mly"
+# 1579 "parser_cocci_menhir.mly"
( function dot_builder ->
[Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
# 5060 "parser_cocci_menhir.ml"
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1124 "parser_cocci_menhir.mly"
+# 1101 "parser_cocci_menhir.mly"
( [] )
# 5077 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_d_ in
let _endpos = _endpos_r_ in
let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1126 "parser_cocci_menhir.mly"
+# 1103 "parser_cocci_menhir.mly"
( (function dot_builder -> [dot_builder d])::r )
# 5107 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_i_ in
let _endpos = _endpos_r_ in
let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1128 "parser_cocci_menhir.mly"
+# 1105 "parser_cocci_menhir.mly"
( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
r )
# 5148 "parser_cocci_menhir.ml"
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
-# 1132 "parser_cocci_menhir.mly"
+# 1109 "parser_cocci_menhir.mly"
( [] )
# 5165 "parser_cocci_menhir.ml"
in
let _startpos = _startpos_i_ in
let _endpos = _endpos_r_ in
let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
-# 1134 "parser_cocci_menhir.mly"
+# 1111 "parser_cocci_menhir.mly"
( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
r )
# 5206 "parser_cocci_menhir.ml"
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_any_strict_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
# 5230 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_ctype_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
# 5254 "parser_cocci_menhir.ml"
in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_d_ident_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
# 5278 "parser_cocci_menhir.ml"
in
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_separated_nonempty_list_TComma_dexpr_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_dexpr_ =
-# 1799 "parser_cocci_menhir.mly"
- ( _1 )
-# 5302 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_ident_or_const_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5326 "parser_cocci_menhir.ml"
+# 5302 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_meta_ident_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5350 "parser_cocci_menhir.ml"
+# 5326 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5374 "parser_cocci_menhir.ml"
+# 5350 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5398 "parser_cocci_menhir.ml"
+# 5374 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5422 "parser_cocci_menhir.ml"
+# 5398 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5446 "parser_cocci_menhir.ml"
+# 5422 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5470 "parser_cocci_menhir.ml"
+# 5446 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_pos__ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5494 "parser_cocci_menhir.ml"
+# 5470 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
-# 1799 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( _1 )
-# 5518 "parser_cocci_menhir.ml"
+# 5494 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
-# 1258 "parser_cocci_menhir.mly"
+# 1235 "parser_cocci_menhir.mly"
( _1 )
-# 5542 "parser_cocci_menhir.ml"
+# 5518 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let dd : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 5584 "parser_cocci_menhir.ml"
+# 5560 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 5590 "parser_cocci_menhir.ml"
+# 5566 "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_ =
-# 1260 "parser_cocci_menhir.mly"
+# 1237 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 5599 "parser_cocci_menhir.ml"
+# 5575 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
-# 1258 "parser_cocci_menhir.mly"
+# 1235 "parser_cocci_menhir.mly"
( _1 )
-# 5623 "parser_cocci_menhir.ml"
+# 5599 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let dd : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 5665 "parser_cocci_menhir.ml"
+# 5641 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 5671 "parser_cocci_menhir.ml"
+# 5647 "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_ =
-# 1260 "parser_cocci_menhir.mly"
+# 1237 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 5680 "parser_cocci_menhir.ml"
+# 5656 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_expr_invalid_ =
-# 1258 "parser_cocci_menhir.mly"
+# 1235 "parser_cocci_menhir.mly"
( _1 )
-# 5704 "parser_cocci_menhir.ml"
+# 5680 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let dd : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 5746 "parser_cocci_menhir.ml"
+# 5722 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 5752 "parser_cocci_menhir.ml"
+# 5728 "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_ =
-# 1260 "parser_cocci_menhir.mly"
+# 1237 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 5761 "parser_cocci_menhir.ml"
+# 5737 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 54 "parser_cocci_menhir.mly"
(Data.clt)
-# 5782 "parser_cocci_menhir.ml"
+# 5758 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_const_vol =
-# 852 "parser_cocci_menhir.mly"
+# 829 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Const _1 )
-# 5789 "parser_cocci_menhir.ml"
+# 5765 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 54 "parser_cocci_menhir.mly"
(Data.clt)
-# 5810 "parser_cocci_menhir.ml"
+# 5786 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_const_vol =
-# 853 "parser_cocci_menhir.mly"
+# 830 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Volatile _1 )
-# 5817 "parser_cocci_menhir.ml"
+# 5793 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_continue_struct_decl_list =
-# 549 "parser_cocci_menhir.mly"
+# 583 "parser_cocci_menhir.mly"
( [] )
-# 5834 "parser_cocci_menhir.ml"
+# 5810 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_continue_struct_decl_list =
-# 550 "parser_cocci_menhir.mly"
+# 584 "parser_cocci_menhir.mly"
( _1@_2 )
-# 5864 "parser_cocci_menhir.ml"
+# 5840 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_continue_struct_decl_list =
-# 551 "parser_cocci_menhir.mly"
+# 585 "parser_cocci_menhir.mly"
( _1 )
-# 5888 "parser_cocci_menhir.ml"
+# 5864 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 ty : 'tv_generic_ctype = Obj.magic ty in
- let _startpos = _startpos_ty_ in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5896 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5901 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let cv =
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 5913 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 5919 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
# 39 "standard.mly"
( None )
-# 5919 "parser_cocci_menhir.ml"
+# 5926 "parser_cocci_menhir.ml"
in
-# 555 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 5925 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 5932 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
+ 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.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 ty : 'tv_generic_ctype = Obj.magic ty in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5964 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5969 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let cv =
- let x = x0 in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 5981 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 5963 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 5987 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 5994 "parser_cocci_menhir.ml"
in
-# 555 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 5969 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6000 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = 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_nonempty_list_TMul_ = Obj.magic m in
- let t : (
-# 50 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 5996 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
+# 6032 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6037 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let cv =
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 6049 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 6055 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
# 39 "standard.mly"
( None )
-# 6004 "parser_cocci_menhir.ml"
+# 6062 "parser_cocci_menhir.ml"
in
-# 557 "parser_cocci_menhir.mly"
- ( let ty =
- Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- P.pointerify (P.make_cv cv ty) m )
-# 6012 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6068 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
- let t : (
-# 50 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 6100 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
(Data.clt)
-# 6044 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+# 6105 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let cv =
- let x = x0 in
+ let _v : 'tv_ctype = let ty =
+ let p0 = p00 in
+ let r = r0 in
+ let ty =
+ let p = p0 in
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 6118 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 6054 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 6124 "parser_cocci_menhir.ml"
in
-
-# 557 "parser_cocci_menhir.mly"
- ( let ty =
- Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- P.pointerify (P.make_cv cv ty) m )
-# 6062 "parser_cocci_menhir.ml"
- in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6131 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6137 "parser_cocci_menhir.ml"
+ in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = Obj.repr _v;
(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.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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 = 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.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;
+ };
+ };
};
};
} = _menhir_stack in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6093 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6099 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_rp_ in
- let _v : 'tv_ctype =
-# 562 "parser_cocci_menhir.mly"
- ( let (mids,code) = t in
- Ast0.wrap
- (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 6108 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 6178 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 6183 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6188 "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
+
+# 478 "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*))) )
+# 6207 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 6213 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6220 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6226 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 ty : 'tv_generic_ctype_full = Obj.magic ty in
- let _startpos = _startpos_ty_ in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6258 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6263 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 6275 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 6281 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
# 39 "standard.mly"
( None )
-# 6139 "parser_cocci_menhir.ml"
+# 6288 "parser_cocci_menhir.ml"
in
-# 568 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6145 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6294 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
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 = 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;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty : 'tv_generic_ctype_full = Obj.magic ty in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6331 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6336 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6341 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
- let x = x0 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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 6358 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 6183 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 6364 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6371 "parser_cocci_menhir.ml"
in
-# 568 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6189 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6377 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = 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_nonempty_list_TMul_ = Obj.magic m in
- let t : (
-# 50 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 6216 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
+# 6409 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6414 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 6426 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 6432 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
# 39 "standard.mly"
( None )
-# 6224 "parser_cocci_menhir.ml"
+# 6439 "parser_cocci_menhir.ml"
in
-# 570 "parser_cocci_menhir.mly"
- ( let ty =
- Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- P.pointerify (P.make_cv cv ty) m )
-# 6232 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6445 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
- let t : (
-# 50 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 6264 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+# 6477 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6482 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
- let x = x0 in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 6494 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 6274 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 6500 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6507 "parser_cocci_menhir.ml"
in
-# 570 "parser_cocci_menhir.mly"
- ( let ty =
- Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- P.pointerify (P.make_cv cv ty) m )
-# 6282 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6513 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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 = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6313 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6319 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_rp_ in
- let _v : 'tv_ctype_full =
-# 575 "parser_cocci_menhir.mly"
- ( let (mids,code) = t in
- Ast0.wrap
- (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 6328 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6545 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6550 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 6562 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 6568 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6575 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6581 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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 =
-# 1062 "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) )
-# 6365 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 6613 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6618 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 6631 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 6637 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6644 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6650 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = 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;
+ };
+ };
+ };
};
} = _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 =
-# 822 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 6395 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 6691 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 6696 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6701 "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
+
+# 478 "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*))) )
+# 6720 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 6726 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6733 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6739 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.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.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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 = 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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6451 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6457 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6462 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let i : 'tv_ident = Obj.magic i in
- let s : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6468 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6473 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let t : 'tv_fn_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_rp1_ in
- let _v : 'tv_decl =
-# 825 "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)) )
-# 6486 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6771 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6776 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 6788 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 6794 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6801 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6807 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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;
+ };
+ };
+ };
} = _menhir_stack in
- let t : (
-# 50 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 6507 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_decl =
-# 832 "parser_cocci_menhir.mly"
- ( let ty =
- Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- Ast0.wrap(Ast0.VoidParam(ty)) )
-# 6516 "parser_cocci_menhir.ml"
+# 6844 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6849 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6854 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 6871 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 6877 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6884 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6890 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 6537 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl =
-# 836 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 6545 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6917 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 6928 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 6934 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6941 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 6947 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 6566 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1517 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 6573 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6974 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 6985 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 6991 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 6998 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7004 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 62 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 6594 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1519 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 6602 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7031 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 7042 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 7048 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7055 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7061 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_decl_list_decl_ =
-# 1539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 6619 "parser_cocci_menhir.ml"
+ 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;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 7088 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 7100 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 7106 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7113 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7119 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_decl_ =
-# 1541 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 6647 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 7155 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 7160 "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
+
+# 478 "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*))) )
+# 7178 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 7184 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7191 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7197 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_decl_list_name_opt_decl_ =
-# 1539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 6664 "parser_cocci_menhir.ml"
+ 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 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7224 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 7235 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 7241 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7248 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7254 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_name_opt_decl_ =
-# 1541 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 6692 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7286 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7291 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 7307 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 7313 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7320 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7326 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1548 "parser_cocci_menhir.mly"
- ( [_1] )
-# 6716 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7353 "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
+
+# 495 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 7364 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7370 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7377 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7383 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6748 "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_decl_list_start_decl_ =
-# 1550 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 6756 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7410 "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
+
+# 497 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 7421 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7427 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7434 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7440 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6783 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1552 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
- (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 6791 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7467 "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
+
+# 499 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 7478 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7484 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7491 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7497 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1548 "parser_cocci_menhir.mly"
- ( [_1] )
-# 6815 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7530 "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
+
+# 501 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
+# 7543 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7549 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7556 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7562 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6847 "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_decl_list_start_name_opt_decl_ =
-# 1550 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 6855 "parser_cocci_menhir.ml"
+ 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
+
+# 503 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 7604 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7610 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7617 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7623 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 6882 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1552 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
- (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 6890 "parser_cocci_menhir.ml"
+# 7665 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7671 "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 )
+# 7690 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 7700 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7706 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7713 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7719 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 6911 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1140 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 6919 "parser_cocci_menhir.ml"
+ 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.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7766 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7772 "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 )
+# 7795 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 7805 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7811 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7818 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7824 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
+ };
+ };
} = _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 =
-# 1143 "parser_cocci_menhir.mly"
- ( List.map
- (function x ->
- Ast0.wrap
- (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
- _1 )
-# 6947 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7866 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7872 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 7877 "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
+
+# 512 "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)) )
+# 7896 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7902 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7909 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7915 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
} = _menhir_stack in
- let _1 : 'tv_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1148 "parser_cocci_menhir.mly"
- ( [_1] )
-# 6971 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 7942 "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
+
+# 516 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 7953 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 7959 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7966 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7972 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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 = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7002 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7008 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_decl_statement =
-# 1157 "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))] )
-# 7023 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8009 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8014 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8027 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 8033 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 8041 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8047 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 7044 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1170 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 7052 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_var = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1173 "parser_cocci_menhir.mly"
- ( List.map
- (function x ->
- Ast0.wrap
- (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
- _1 )
-# 7080 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1178 "parser_cocci_menhir.mly"
- ( [_1] )
-# 7104 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 = 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 _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7135 "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 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7141 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_decl_statement_expr =
-# 1187 "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))] )
-# 7155 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7181 "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 =
-# 953 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 7189 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8084 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8089 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8102 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 8108 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 8116 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8122 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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 = 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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7220 "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 =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8159 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8164 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8177 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7230 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 8183 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 8191 "parser_cocci_menhir.ml"
in
-# 955 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
- d )
-# 7239 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8197 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7275 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 8234 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8239 "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_pv_ in
- let _v : 'tv_decl_var = let s =
+ 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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8253 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 8259 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 7287 "parser_cocci_menhir.ml"
+# 8267 "parser_cocci_menhir.ml"
in
-# 955 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
- d )
-# 7296 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8273 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = 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 =
-# 959 "parser_cocci_menhir.mly"
- ( [f] )
-# 7320 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ 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 = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
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 = 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;
+ };
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7361 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7367 "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 =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 8319 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 8324 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8329 "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
+
+# 478 "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*))) )
+# 8349 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7377 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 8355 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 8363 "parser_cocci_menhir.ml"
in
-# 961 "parser_cocci_menhir.mly"
- (let (id,fn) = d in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 7384 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8369 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7430 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7436 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8406 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8411 "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_pv_ in
- let _v : 'tv_decl_var = let s =
+ 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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8424 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 8430 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 7448 "parser_cocci_menhir.ml"
+# 8438 "parser_cocci_menhir.ml"
in
-# 961 "parser_cocci_menhir.mly"
- (let (id,fn) = d in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 7455 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8444 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
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.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;
+ };
+ };
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7486 "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 =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8486 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8491 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8496 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8514 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7496 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 8520 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 7503 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8528 "parser_cocci_menhir.ml"
in
-# 966 "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 )
-# 7514 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8534 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ 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;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7550 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8571 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8576 "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_pv_ in
- let _v : 'tv_decl_var = let cv =
+ 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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8589 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8595 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 7562 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 7569 "parser_cocci_menhir.ml"
+# 8603 "parser_cocci_menhir.ml"
in
-# 966 "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 )
-# 7580 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8609 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ 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;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7616 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8646 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8651 "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_pv_ in
- let _v : 'tv_decl_var = let cv =
+ 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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8664 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7627 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8670 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 7635 "parser_cocci_menhir.ml"
+# 8678 "parser_cocci_menhir.ml"
in
-# 966 "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 )
-# 7646 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8684 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7687 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8721 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8726 "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_pv_ in
- let _v : 'tv_decl_var = let cv =
- let x = x1 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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8739 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 7700 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8745 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 7708 "parser_cocci_menhir.ml"
+# 8753 "parser_cocci_menhir.ml"
in
-# 966 "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 )
-# 7719 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8759 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7760 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7766 "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 =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 8796 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8801 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8815 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7776 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8821 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 7783 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8829 "parser_cocci_menhir.ml"
in
-# 974 "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))] )
-# 7793 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8835 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ 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 = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ 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;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7839 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7845 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 8881 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 8886 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8891 "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_pv_ in
- let _v : 'tv_decl_var = let cv =
- let x = 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
+
+# 478 "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*))) )
+# 8911 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 7857 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8917 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 7864 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 8925 "parser_cocci_menhir.ml"
in
-# 974 "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))] )
-# 7874 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8931 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7920 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7926 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8968 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8973 "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_pv_ in
- let _v : 'tv_decl_var = let cv =
+ 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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8986 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7937 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8992 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 7945 "parser_cocci_menhir.ml"
+# 9000 "parser_cocci_menhir.ml"
in
-# 974 "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))] )
-# 7955 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9006 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8006 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8012 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9048 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9053 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9058 "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_pv_ in
- let _v : 'tv_decl_var = let cv =
- let x = x1 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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 9076 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 8025 "parser_cocci_menhir.ml"
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 9082 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 8033 "parser_cocci_menhir.ml"
+# 9090 "parser_cocci_menhir.ml"
in
-# 974 "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))] )
-# 8043 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9096 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8104 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8109 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8115 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8120 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8126 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8131 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9128 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 9140 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 8140 "parser_cocci_menhir.ml"
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 9146 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9154 "parser_cocci_menhir.ml"
in
-# 984 "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))] )
-# 8152 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9160 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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;
- };
- };
- };
- };
- };
- };
- };
+ 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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8218 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8223 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8229 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8234 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8240 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8245 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9192 "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_pv_ in
- let _v : 'tv_decl_var = let s =
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 9204 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 9210 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 8256 "parser_cocci_menhir.ml"
+# 9218 "parser_cocci_menhir.ml"
in
-# 984 "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))] )
-# 8268 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9224 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _5 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8309 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8314 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8320 "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 =
-# 992 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
- P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 8329 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9256 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 9268 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 9274 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9282 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9288 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
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;
- };
- };
- };
- };
- };
- };
- };
- };
+ 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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8400 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8406 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8411 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8417 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8422 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8428 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8433 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 9320 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 9333 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 8442 "parser_cocci_menhir.ml"
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 9339 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9347 "parser_cocci_menhir.ml"
in
-# 998 "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))])
-# 8454 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9353 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
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;
- };
- };
- };
- };
- };
- };
- };
+ 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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8530 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8536 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8541 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8547 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8552 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8558 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8563 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 9394 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 9399 "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_pv_ in
- let _v : 'tv_decl_var = let s =
+ 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
+
+# 478 "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*))) )
+# 9418 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 9424 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 8574 "parser_cocci_menhir.ml"
+# 9432 "parser_cocci_menhir.ml"
in
-# 998 "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))])
-# 8586 "parser_cocci_menhir.ml"
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9438 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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;
- };
+ 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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8622 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let id : 'tv_typedef_ident = Obj.magic id in
- let t : 'tv_ctype_full = Obj.magic t in
- let s : (
-# 53 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 8629 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var =
-# 1006 "parser_cocci_menhir.mly"
- ( let s = P.clt2mcode "typedef" s in
- [Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))] )
-# 8637 "parser_cocci_menhir.ml"
+# 9470 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 9482 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 9488 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9496 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9502 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_define_param_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list =
-# 714 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 8665 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_define_param_list = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list_option =
-# 738 "parser_cocci_menhir.mly"
- ( _1 )
-# 8689 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_define_param_list_option =
-# 739 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 8706 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9539 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9544 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 9561 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 9567 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9575 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9581 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : 'tv_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list_start =
-# 721 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.DParam _1)] )
-# 8730 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9613 "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
+
+# 495 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 9625 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 9631 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9639 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9645 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : 'tv_define_param_list_start = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8762 "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_define_param_list_start =
-# 723 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DParam _1)::
- Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
-# 8771 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9677 "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
+
+# 497 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 9689 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 9695 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9703 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9709 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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.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 r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
- let d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8798 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_define_param_list_start =
-# 726 "parser_cocci_menhir.mly"
- ( (P.mkdpdots "..." d)::
- (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
-# 8806 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9741 "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
+
+# 499 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 9753 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 9759 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9767 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9773 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 81 "parser_cocci_menhir.mly"
- (Data.clt * token)
-# 8827 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_defineop =
-# 673 "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)) )
-# 8849 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9811 "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
+
+# 501 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
+# 9825 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 9831 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9839 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9845 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8880 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_define_param_list_option = Obj.magic _2 in
- let _1 : (
-# 82 "parser_cocci_menhir.mly"
- (Data.clt * token * int * int)
-# 8886 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_defineop =
-# 690 "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)) )
-# 8912 "parser_cocci_menhir.ml"
+ 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
+
+# 503 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 9893 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 9899 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9907 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9913 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
+ };
+ };
+ };
} = _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 =
-# 225 "parser_cocci_menhir.mly"
- ( _1 )
-# 8936 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9960 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9966 "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 )
+# 9986 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 9996 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 10002 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10010 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10016 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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;
+ };
+ };
+ };
+ };
};
};
} = _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 =
-# 226 "parser_cocci_menhir.mly"
- ( Ast.AndDep(_1, _3) )
-# 8970 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10068 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10074 "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 )
+# 10098 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 10108 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 10114 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10122 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10128 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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;
+ };
+ };
+ };
};
};
} = _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 =
-# 227 "parser_cocci_menhir.mly"
- ( Ast.OrDep (_1, _3) )
-# 9004 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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 =
-# 221 "parser_cocci_menhir.mly"
- ( Ast.NoDep )
-# 9021 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10175 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10181 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 10186 "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
+
+# 512 "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)) )
+# 10206 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 10212 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10220 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10226 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
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 =
-# 222 "parser_cocci_menhir.mly"
- ( parents )
-# 9053 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 10258 "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
+
+# 516 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 10270 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 10276 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10284 "parser_cocci_menhir.ml"
+
+ in
+
+# 529 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10290 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_ident = Obj.magic _2 in
- let _1 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9080 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_designator =
-# 1104 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 9087 "parser_cocci_menhir.ml"
+ let r : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10311 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 531 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 10318 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _3 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9118 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9124 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_designator =
-# 1106 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 9131 "parser_cocci_menhir.ml"
+ let r : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10339 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 533 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 10346 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _5 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9172 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : 'tv_eexpr = Obj.magic _4 in
- let _3 : (
-# 73 "parser_cocci_menhir.mly"
+ let rp : (
+# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 9178 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 10377 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+ let lp : (
+# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 9184 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_designator =
-# 1108 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
- _4,P.clt2mcode "]" _5) )
-# 9192 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 =
-# 1207 "parser_cocci_menhir.mly"
- ( _1 )
-# 9216 "parser_cocci_menhir.ml"
+# 10383 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_ctype =
+# 535 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 10392 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 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_disable =
-# 240 "parser_cocci_menhir.mly"
- ( List.map P.id2name _2 )
-# 9244 "parser_cocci_menhir.ml"
+ let _v : 'tv_d_ident =
+# 1039 "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) )
+# 10429 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9265 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dot_expressions =
-# 1216 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 9272 "parser_cocci_menhir.ml"
+ 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 =
+# 803 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Param(t, Some i)) )
+# 10459 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_nest_expressions = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dot_expressions =
-# 1217 "parser_cocci_menhir.mly"
- ( _1 )
-# 9296 "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 =
+# 804 "parser_cocci_menhir.mly"
+ ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
+# 10483 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ 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 = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
- 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 = 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 d : (
-# 73 "parser_cocci_menhir.mly"
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 9322 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let c : (
-# 107 "parser_cocci_menhir.mly"
+# 10539 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 9327 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let _startpos = _startpos_c_ in
- let _endpos = _endpos_d_ in
- let _v : 'tv_dp_comma_args_TEllipsis_ =
-# 731 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
-# 9335 "parser_cocci_menhir.ml"
+# 10545 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10550 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let i : 'tv_ident = Obj.magic i in
+ let s : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10556 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10561 "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 =
+# 807 "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)) )
+# 10574 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_ident = Obj.magic _2 in
let _1 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9362 "parser_cocci_menhir.ml"
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 10595 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_dp_comma_args_TEllipsis_ =
-# 734 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
- Ast0.wrap(Ast0.DParam _2)] )
-# 9371 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl =
+# 814 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
+# 10603 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9392 "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_ =
-# 1809 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 9399 "parser_cocci_menhir.ml"
+ let _1 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 10624 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_ident =
+# 1524 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 10631 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9438 "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_ =
-# 1810 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 9445 "parser_cocci_menhir.ml"
+ let _1 : (
+# 62 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 10652 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_ident =
+# 1526 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 10660 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_decl_list_decl_ =
+# 1546 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS([])) )
+# 10677 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9466 "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_ =
-# 1809 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 9473 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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__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 w : 'tv_initialize = Obj.magic w in
- let d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9512 "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_ =
-# 1810 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 9519 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9540 "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_ =
-# 1809 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 9547 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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__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 w : 'tv_struct_decl = Obj.magic w in
- let d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9586 "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_ =
-# 1810 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 9593 "parser_cocci_menhir.ml"
+ let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_list_decl_ =
+# 1548 "parser_cocci_menhir.mly"
+ (let circle x =
+ match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
+ if List.exists circle _1
+ then Ast0.wrap(Ast0.CIRCLES(_1))
+ else Ast0.wrap(Ast0.DOTS(_1)) )
+# 10705 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_decl_list_name_opt_decl_ =
+# 1546 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS([])) )
+# 10722 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr =
-# 1205 "parser_cocci_menhir.mly"
- ( _1 )
-# 9617 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_list_name_opt_decl_ =
+# 1548 "parser_cocci_menhir.mly"
+ (let circle x =
+ match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
+ if List.exists circle _1
+ then Ast0.wrap(Ast0.CIRCLES(_1))
+ else Ast0.wrap(Ast0.DOTS(_1)) )
+# 10750 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list =
-# 1753 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
- let star x =
- match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else
- if List.exists star _1
- then Ast0.wrap(Ast0.STARS(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 9650 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_list_start_decl_ =
+# 1555 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 10774 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_eexpr_list = Obj.magic _1 in
+ let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10806 "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__1_ in
- let _v : 'tv_eexpr_list_option =
-# 1792 "parser_cocci_menhir.mly"
- ( _1 )
-# 9674 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_decl_list_start_decl_ =
+# 1557 "parser_cocci_menhir.mly"
+ ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
+# 10814 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_eexpr_list_option =
-# 1793 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 9691 "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_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
+ let _1 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10841 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_decl_list_start_decl_ =
+# 1559 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
+ (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
+# 10849 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list_start =
-# 1780 "parser_cocci_menhir.mly"
- ( [_1] )
-# 9715 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_list_start_name_opt_decl_ =
+# 1555 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 10873 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
+ let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
let _2 : (
# 107 "parser_cocci_menhir.mly"
(Data.clt)
-# 9747 "parser_cocci_menhir.ml"
+# 10905 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_aexpr = Obj.magic _1 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_eexpr_list_start =
-# 1782 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
-# 9755 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_list_start_name_opt_decl_ =
+# 1557 "parser_cocci_menhir.mly"
+ ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
+# 10913 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = cl;
- MenhirLib.EngineTypes.startp = _startpos_cl_;
- MenhirLib.EngineTypes.endp = _endpos_cl_;
- 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.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 cl : 'tv_comma_list_dexpr_ = Obj.magic cl in
+ let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
+ let _1 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10940 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_error_words =
-# 1579 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.ERRORWORDS(cl))] )
-# 9799 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_decl_list_start_name_opt_decl_ =
+# 1559 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
+ (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
+# 10948 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 10969 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 243 "parser_cocci_menhir.mly"
- ( Ast.Exists )
-# 9821 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_statement =
+# 1117 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 10977 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : 'tv_decl_var = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 244 "parser_cocci_menhir.mly"
- ( Ast.Forall )
-# 9843 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_statement =
+# 1120 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+ _1 )
+# 11005 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.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 _1 : 'tv_statement = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_exists =
-# 245 "parser_cocci_menhir.mly"
- ( Ast.ReverseForall )
-# 9869 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1125 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 11029 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_exists =
-# 246 "parser_cocci_menhir.mly"
- ( Ast.Undetermined )
-# 9886 "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 = 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 _3 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11060 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11066 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_decl_statement =
+# 1134 "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))] )
+# 11081 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 11102 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_expr =
-# 1203 "parser_cocci_menhir.mly"
- ( _1 )
-# 9910 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_statement_expr =
+# 1147 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 11110 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
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_ =
-# 1385 "parser_cocci_menhir.mly"
- ( r )
-# 9934 "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_expr =
+# 1150 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+ _1 )
+# 11138 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_extends =
-# 216 "parser_cocci_menhir.mly"
- ( () )
-# 9951 "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_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement_expr =
+# 1155 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 11162 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = parent;
- MenhirLib.EngineTypes.startp = _startpos_parent_;
- MenhirLib.EngineTypes.endp = _endpos_parent_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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 = 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 parent : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 9976 "parser_cocci_menhir.ml"
- ) = Obj.magic parent in
+ let _3 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11193 "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 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11199 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_parent_ in
- let _v : 'tv_extends =
-# 218 "parser_cocci_menhir.mly"
- ( !Data.install_bindings (parent) )
-# 9983 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_decl_statement_expr =
+# 1164 "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))] )
+# 11213 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 83 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10009 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 83 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10014 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_filespec =
-# 632 "parser_cocci_menhir.mly"
- ( [Ast0.wrap
- (Ast0.FILEINFO(P.id2mcode _1,
- P.id2mcode _2))] )
-# 10023 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11239 "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 =
+# 930 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
+# 11247 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- 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 ty : 'tv_generic_ctype = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_fn_ctype =
-# 581 "parser_cocci_menhir.mly"
- ( P.pointerify ty m )
-# 10053 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11278 "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 )
+# 11288 "parser_cocci_menhir.ml"
+
+ in
+
+# 932 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
+ d )
+# 11297 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- 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 = 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 t : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10080 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_fn_ctype =
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify
- (Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])))
- m )
-# 10089 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11333 "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 )
+# 11345 "parser_cocci_menhir.ml"
+
+ in
+
+# 932 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
+ d )
+# 11354 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fninfo =
-# 777 "parser_cocci_menhir.mly"
- ( [] )
-# 10106 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
+ let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
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_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 =
-# 779 "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 )
-# 10140 "parser_cocci_menhir.ml"
+ let f : 'tv_funproto = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_f_ in
+ let _v : 'tv_decl_var =
+# 936 "parser_cocci_menhir.mly"
+ ( [f] )
+# 11378 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = 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.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;
+ };
+ };
+ };
};
} = _menhir_stack in
- let r : 'tv_fninfo_nt = Obj.magic r in
- let t : 'tv_fn_ctype = Obj.magic t in
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11419 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11425 "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_r_ in
- let _v : 'tv_fninfo =
-# 784 "parser_cocci_menhir.mly"
- ( (Ast0.FType(t))::r )
-# 10170 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
+
+# 39 "standard.mly"
+ ( None )
+# 11435 "parser_cocci_menhir.ml"
+
+ in
+
+# 938 "parser_cocci_menhir.mly"
+ (let (id,fn) = d in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 11442 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = 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_fninfo = Obj.magic _2 in
- let _1 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10197 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 786 "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 )
-# 10207 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11488 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11494 "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 )
+# 11506 "parser_cocci_menhir.ml"
+
+ in
+
+# 938 "parser_cocci_menhir.mly"
+ (let (id,fn) = d in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 11513 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : (
-# 55 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10234 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 791 "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 )
-# 10244 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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 =
-# 797 "parser_cocci_menhir.mly"
- ( [] )
-# 10261 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11544 "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 )
+# 11554 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 11561 "parser_cocci_menhir.ml"
+
+ in
+
+# 943 "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 )
+# 11572 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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_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 =
-# 799 "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 )
-# 10295 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11608 "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 )
+# 11620 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 11627 "parser_cocci_menhir.ml"
+
+ in
+
+# 943 "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 )
+# 11638 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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_fninfo_nt = Obj.magic _2 in
- let _1 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10322 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 805 "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 )
-# 10332 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11674 "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 )
+# 11685 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11693 "parser_cocci_menhir.ml"
+
+ in
+
+# 943 "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 )
+# 11704 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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_fninfo_nt = Obj.magic _2 in
- let _1 : (
-# 55 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10359 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 810 "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 )
-# 10369 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_fun_after_dots =
-# 1701 "parser_cocci_menhir.mly"
- ([])
-# 10386 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11745 "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 )
+# 11758 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11766 "parser_cocci_menhir.ml"
+
+ in
+
+# 943 "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 )
+# 11777 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 _2 : 'tv_fun_after_exp = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1702 "parser_cocci_menhir.mly"
- (_2)
-# 10414 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11818 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11824 "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 )
+# 11834 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 11841 "parser_cocci_menhir.ml"
+
+ in
+
+# 951 "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))] )
+# 11851 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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_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 =
-# 1703 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 10444 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11897 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11903 "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 )
+# 11915 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 11922 "parser_cocci_menhir.ml"
+
+ in
+
+# 951 "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))] )
+# 11932 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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_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 =
-# 1704 "parser_cocci_menhir.mly"
- (_1@_2)
-# 10474 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_fun_after_dots_or =
-# 1711 "parser_cocci_menhir.mly"
- ([])
-# 10491 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11978 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11984 "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 )
+# 11995 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12003 "parser_cocci_menhir.ml"
+
+ in
+
+# 951 "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))] )
+# 12013 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12064 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12070 "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 )
+# 12083 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12091 "parser_cocci_menhir.ml"
+
+ in
+
+# 951 "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))] )
+# 12101 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12162 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12167 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12173 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12178 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12184 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12189 "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 )
+# 12198 "parser_cocci_menhir.ml"
+
+ in
+
+# 961 "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))] )
+# 12210 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12276 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12281 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12287 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12292 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12298 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12303 "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 )
+# 12314 "parser_cocci_menhir.ml"
+
+ in
+
+# 961 "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))] )
+# 12326 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12367 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12372 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12378 "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 =
+# 969 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
+# 12387 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12458 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12464 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12469 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12475 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12480 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12486 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12491 "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 )
+# 12500 "parser_cocci_menhir.ml"
+
+ in
+
+# 975 "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))])
+# 12512 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12588 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12594 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12599 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12605 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12610 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12616 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12621 "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 )
+# 12632 "parser_cocci_menhir.ml"
+
+ in
+
+# 975 "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))])
+# 12644 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12680 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let id : 'tv_typedef_ident = Obj.magic id in
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let s : (
+# 53 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12687 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var =
+# 983 "parser_cocci_menhir.mly"
+ ( let s = P.clt2mcode "typedef" s in
+ [Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))] )
+# 12695 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_define_param_list_start = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_define_param_list =
+# 705 "parser_cocci_menhir.mly"
+ (let circle x =
+ match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
+ if List.exists circle _1
+ then Ast0.wrap(Ast0.CIRCLES(_1))
+ else Ast0.wrap(Ast0.DOTS(_1)) )
+# 12723 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_define_param_list = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_define_param_list_option =
+# 729 "parser_cocci_menhir.mly"
+ ( _1 )
+# 12747 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_define_param_list_option =
+# 730 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS([])) )
+# 12764 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_define_param_list_start =
+# 712 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.DParam _1)] )
+# 12788 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_define_param_list_start = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12820 "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_define_param_list_start =
+# 714 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DParam _1)::
+ Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
+# 12829 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
+ let d : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12856 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_define_param_list_start =
+# 717 "parser_cocci_menhir.mly"
+ ( (P.mkdpdots "..." d)::
+ (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
+# 12864 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 81 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 12885 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_defineop =
+# 664 "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)) )
+# 12907 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12938 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_define_param_list_option = Obj.magic _2 in
+ let _1 : (
+# 82 "parser_cocci_menhir.mly"
+ (Data.clt * token * int * int)
+# 12944 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_defineop =
+# 681 "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)) )
+# 12970 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 225 "parser_cocci_menhir.mly"
+ ( _1 )
+# 12994 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 226 "parser_cocci_menhir.mly"
+ ( Ast.AndDep(_1, _3) )
+# 13028 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 227 "parser_cocci_menhir.mly"
+ ( Ast.OrDep (_1, _3) )
+# 13062 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 221 "parser_cocci_menhir.mly"
+ ( Ast.NoDep )
+# 13079 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 222 "parser_cocci_menhir.mly"
+ ( parents )
+# 13111 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13138 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_designator =
+# 1081 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
+# 13145 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13176 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13182 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_designator =
+# 1083 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
+# 13189 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13230 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : 'tv_eexpr = Obj.magic _4 in
+ let _3 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13236 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13242 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_designator =
+# 1085 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
+ _4,P.clt2mcode "]" _5) )
+# 13250 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 1184 "parser_cocci_menhir.mly"
+ ( _1 )
+# 13274 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 240 "parser_cocci_menhir.mly"
+ ( List.map P.id2name _2 )
+# 13302 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13323 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dot_expressions =
+# 1193 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
+# 13330 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nest_expressions = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dot_expressions =
+# 1194 "parser_cocci_menhir.mly"
+ ( _1 )
+# 13354 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let d : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13380 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let c : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13385 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let _startpos = _startpos_c_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_dp_comma_args_TEllipsis_ =
+# 722 "parser_cocci_menhir.mly"
+ ( function dot_builder ->
+ [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
+# 13393 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13420 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_dp_comma_args_TEllipsis_ =
+# 725 "parser_cocci_menhir.mly"
+ ( function dot_builder ->
+ [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
+ Ast0.wrap(Ast0.DParam _2)] )
+# 13429 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13450 "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_ =
+# 1822 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 13457 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__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 w : 'tv_eexpr = Obj.magic w in
+ let d : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13496 "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_ =
+# 1823 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 13503 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13524 "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_ =
+# 1822 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 13531 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__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 w : 'tv_initialize = Obj.magic w in
+ let d : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13570 "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_ =
+# 1823 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 13577 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13598 "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_ =
+# 1822 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 13605 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__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 w : 'tv_struct_decl = Obj.magic w in
+ let d : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13644 "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_ =
+# 1823 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 13651 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eexpr =
+# 1182 "parser_cocci_menhir.mly"
+ ( _1 )
+# 13675 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_eexpr_list_start = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eexpr_list =
+# 1766 "parser_cocci_menhir.mly"
+ (let circle x =
+ match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
+ let star x =
+ match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
+ if List.exists circle _1
+ then Ast0.wrap(Ast0.CIRCLES(_1))
+ else
+ if List.exists star _1
+ then Ast0.wrap(Ast0.STARS(_1))
+ else Ast0.wrap(Ast0.DOTS(_1)) )
+# 13708 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_eexpr_list = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eexpr_list_option =
+# 1805 "parser_cocci_menhir.mly"
+ ( _1 )
+# 13732 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_eexpr_list_option =
+# 1806 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS([])) )
+# 13749 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eexpr_list_start =
+# 1793 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 13773 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_eexpr_list_start = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13805 "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_eexpr_list_start =
+# 1795 "parser_cocci_menhir.mly"
+ ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
+# 13813 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_exists =
+# 243 "parser_cocci_menhir.mly"
+ ( Ast.Exists )
+# 13835 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_exists =
+# 244 "parser_cocci_menhir.mly"
+ ( Ast.Forall )
+# 13857 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 245 "parser_cocci_menhir.mly"
+ ( Ast.Undetermined )
+# 13874 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_expr =
+# 1180 "parser_cocci_menhir.mly"
+ ( _1 )
+# 13898 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ =
+# 1362 "parser_cocci_menhir.mly"
+ ( r )
+# 13922 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 216 "parser_cocci_menhir.mly"
+ ( () )
+# 13939 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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;
+ };
+ } = _menhir_stack in
+ let parent : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 13964 "parser_cocci_menhir.ml"
+ ) = Obj.magic parent in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_parent_ in
+ let _v : 'tv_extends =
+# 218 "parser_cocci_menhir.mly"
+ ( !Data.install_bindings (parent) )
+# 13971 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 83 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 13997 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 83 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 14002 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_filespec =
+# 623 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap
+ (Ast0.FILEINFO(P.id2mcode _1,
+ P.id2mcode _2))] )
+# 14011 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 758 "parser_cocci_menhir.mly"
+ ( [] )
+# 14028 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 760 "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 )
+# 14062 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 765 "parser_cocci_menhir.mly"
+ ( (Ast0.FType(t))::r )
+# 14092 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fninfo = Obj.magic _2 in
+ let _1 : (
+# 53 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14119 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 767 "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 )
+# 14129 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fninfo = Obj.magic _2 in
+ let _1 : (
+# 55 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 14156 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 772 "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 )
+# 14166 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 778 "parser_cocci_menhir.mly"
+ ( [] )
+# 14183 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 780 "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 )
+# 14217 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fninfo_nt = Obj.magic _2 in
+ let _1 : (
+# 53 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14244 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 786 "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 )
+# 14254 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fninfo_nt = Obj.magic _2 in
+ let _1 : (
+# 55 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 14281 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 791 "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 )
+# 14291 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_fun_after_dots =
+# 1714 "parser_cocci_menhir.mly"
+ ([])
+# 14308 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_after_exp = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 1715 "parser_cocci_menhir.mly"
+ (_2)
+# 14336 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 1716 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 14366 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 1717 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 14396 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_fun_after_dots_or =
+# 1724 "parser_cocci_menhir.mly"
+ ([])
+# 14413 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 1725 "parser_cocci_menhir.mly"
+ (_2)
+# 14441 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_after_exp_or = 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_or =
+# 1726 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 14471 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 1727 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 14501 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_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_fun_after_exp =
+# 1720 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 14531 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_fun_after_exp_or =
+# 1730 "parser_cocci_menhir.mly"
+ ([])
+# 14548 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_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_fun_after_exp_or =
+# 1731 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 14578 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_fun_after_stm =
+# 1709 "parser_cocci_menhir.mly"
+ ([])
+# 14595 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_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_fun_after_stm =
+# 1710 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 14625 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_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_fun_after_stm =
+# 1711 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 14655 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_after_stm = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_fun_start =
+# 1706 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 14679 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_func_ident =
+# 1504 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 14703 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 61 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 14724 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1506 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 14732 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 61 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 14753 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1509 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 14761 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 61 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 14782 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1512 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 14791 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 rb : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14851 "parser_cocci_menhir.ml"
+ ) = Obj.magic rb in
+ let b : 'tv_fun_start = Obj.magic b in
+ let lb : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14857 "parser_cocci_menhir.ml"
+ ) = Obj.magic lb in
+ let rp : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14862 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_decl_ = Obj.magic d in
+ let lp : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14868 "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 =
+# 749 "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)) )
+# 14883 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 pt : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14929 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14934 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14940 "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 )
+# 14950 "parser_cocci_menhir.ml"
+
+ in
+
+# 737 "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)) )
+# 14962 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 pt : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15013 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15018 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15024 "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 )
+# 15036 "parser_cocci_menhir.ml"
+
+ in
+
+# 737 "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)) )
+# 15048 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ident =
+# 1517 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 15072 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 61 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 15093 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident =
+# 1519 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 15101 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 =
+# 1471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
+# 15125 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 15146 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident_or_const =
+# 1473 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 15154 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 80 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 15175 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_incl =
+# 256 "parser_cocci_menhir.mly"
+ ( let (x,_) = _1 in Data.Include(x) )
+# 15182 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 15207 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 257 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Left(P.id2name _2)) )
+# 15214 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 79 "parser_cocci_menhir.mly"
+ (string)
+# 15239 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 258 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Right _2) )
+# 15246 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _1;
+ 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 _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 15274 "parser_cocci_menhir.ml"
+ ) =
+# 252 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15278 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _1;
+ 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 _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 15306 "parser_cocci_menhir.ml"
+ ) =
+# 253 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15310 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 80 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 15331 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_includes =
+# 629 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include" (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))) )
+# 15346 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 80 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 15367 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_includes =
+# 639 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include" (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))) )
+# 15382 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 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 =
+# 649 "parser_cocci_menhir.mly"
+ ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
+ d (Ast0.wrap(Ast0.DOTS([ty]))) )
+# 15417 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 =
+# 652 "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))) )
+# 15459 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_eexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize =
+# 1052 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 15483 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15514 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15520 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize =
+# 1054 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
+# 15527 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_after_exp_or = Obj.magic _2 in
+ let _2 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15553 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15558 "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 =
-# 1712 "parser_cocci_menhir.mly"
- (_2)
-# 10519 "parser_cocci_menhir.ml"
+ let _v : 'tv_initialize =
+# 1056 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
+ P.clt2mcode "}" _2)) )
+# 15567 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 65 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 15588 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize =
+# 1060 "parser_cocci_menhir.mly"
+ (let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 15596 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1066 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 15620 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15651 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15657 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1068 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
+# 15664 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _2 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15690 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15695 "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 =
-# 1713 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 10549 "parser_cocci_menhir.ml"
+ let _v : 'tv_initialize2 =
+# 1070 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
+ P.clt2mcode "}" _2)) )
+# 15704 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_initialize2 = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15736 "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 =
+# 1075 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
+# 15744 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_initialize2 = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15776 "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 =
+# 1077 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
+# 15784 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_initialize_list_start = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize_list =
+# 1089 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 15808 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15834 "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_fun_after_dots_or =
-# 1714 "parser_cocci_menhir.mly"
- (_1@_2)
-# 10579 "parser_cocci_menhir.ml"
+ let _v : 'tv_initialize_list_start =
+# 1092 "parser_cocci_menhir.mly"
+ ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
+# 15842 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _3 : 'tv_initialize_list_start = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15874 "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_fun_after_exp =
-# 1707 "parser_cocci_menhir.mly"
- (_1::_2)
-# 10609 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize_list_start =
+# 1094 "parser_cocci_menhir.mly"
+ ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
+# 15882 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fun_after_exp_or =
-# 1717 "parser_cocci_menhir.mly"
- ([])
-# 10626 "parser_cocci_menhir.ml"
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r 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_initialize_list_start =
+# 1097 "parser_cocci_menhir.mly"
+ ( (P.mkidots "..." d)::
+ (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
+# 15913 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_exp_or =
-# 1718 "parser_cocci_menhir.mly"
- (_1::_2)
-# 10656 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_invalid =
+# 1190 "parser_cocci_menhir.mly"
+ ( raise (Semantic_cocci.Semantic "not matchable") )
+# 15935 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_fun_after_stm =
-# 1696 "parser_cocci_menhir.mly"
- ([])
-# 10673 "parser_cocci_menhir.ml"
+ let _v : 'tv_is_expression =
+# 248 "parser_cocci_menhir.mly"
+ ( false )
+# 15952 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1697 "parser_cocci_menhir.mly"
- (_1::_2)
-# 10703 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_is_expression =
+# 249 "parser_cocci_menhir.mly"
+ ( true )
+# 15974 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = 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 _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1698 "parser_cocci_menhir.mly"
- (_1@_2)
-# 10733 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_ctype_ =
+# 1874 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 16002 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_fun_after_stm = 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_fun_start =
-# 1693 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 10757 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_ctype_ =
+# 1875 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 16030 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let t : 'tv_decl_var = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1497 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 10781 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 1874 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 16058 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 10802 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let t : 'tv_decl_var = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1499 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 10810 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 1875 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 16086 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 10831 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let t : 'tv_dexpr = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1502 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 10839 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_dexpr_ =
+# 1874 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 16114 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 10860 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let t : 'tv_dexpr = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1505 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 10869 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_dexpr_ =
+# 1875 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 16142 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rb;
- MenhirLib.EngineTypes.startp = _startpos_rb_;
- MenhirLib.EngineTypes.endp = _endpos_rb_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lb;
- MenhirLib.EngineTypes.startp = _startpos_lb_;
- MenhirLib.EngineTypes.endp = _endpos_lb_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let rb : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10929 "parser_cocci_menhir.ml"
- ) = Obj.magic rb in
- let b : 'tv_fun_start = Obj.magic b in
- let lb : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10935 "parser_cocci_menhir.ml"
- ) = Obj.magic lb in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10940 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_decl_ = Obj.magic d in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10946 "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 =
-# 769 "parser_cocci_menhir.mly"
- ( 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)) )
-# 10960 "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_ =
+# 1874 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 16170 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pt : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11006 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11011 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11017 "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 )
-# 11027 "parser_cocci_menhir.ml"
-
- in
-
-# 746 "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)) )
-# 11039 "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_ =
+# 1875 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 16198 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pt : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11090 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11095 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11101 "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 )
-# 11113 "parser_cocci_menhir.ml"
-
- in
-
-# 746 "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)) )
-# 11125 "parser_cocci_menhir.ml"
+ 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_ =
+# 1874 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 16226 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_single_statement = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_single_statement_ =
+# 1875 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 16254 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11171 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11176 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11182 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
- let t : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11188 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pt_ in
- let _v : 'tv_funproto = let s =
-
-# 39 "standard.mly"
- ( None )
-# 11196 "parser_cocci_menhir.ml"
-
- in
-
-# 755 "parser_cocci_menhir.mly"
- ( let t = Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- Ast0.wrap
- (Ast0.UnInit
- (s,
- Ast0.wrap
- (Ast0.FunctionType(Some t,
- P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
- id, P.clt2mcode ";" pt)) )
-# 11209 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_dexpr__ = Obj.magic el in
+ let e1 : 'tv_dexpr = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 162 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 16292 "parser_cocci_menhir.ml"
+ ) =
+# 1846 "parser_cocci_menhir.mly"
+ ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
+# 16296 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11260 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11265 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11271 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
- let t : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11277 "parser_cocci_menhir.ml"
- ) = 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 )
-# 11287 "parser_cocci_menhir.ml"
-
- in
-
-# 755 "parser_cocci_menhir.mly"
- ( let t = Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- Ast0.wrap
- (Ast0.UnInit
- (s,
- Ast0.wrap
- (Ast0.FunctionType(Some t,
- P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
- id, P.clt2mcode ";" pt)) )
-# 11300 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_dexpr__ = Obj.magic el in
+ let e1 : 'tv_dexpr = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 162 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 16334 "parser_cocci_menhir.ml"
+ ) =
+# 1848 "parser_cocci_menhir.mly"
+ ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
+# 16338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- 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 r0 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11321 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_r0_ in
- let _v : 'tv_generic_ctype = let q =
- let r = r0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11330 "parser_cocci_menhir.ml"
-
- in
-
-# 513 "parser_cocci_menhir.mly"
- ( q None )
-# 11336 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_dexpr__ = Obj.magic el in
+ let e1 : 'tv_dexpr = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 162 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 16376 "parser_cocci_menhir.ml"
+ ) =
+# 1850 "parser_cocci_menhir.mly"
+ ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
+# 16380 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 r0 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11357 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_r0_ in
- let _v : 'tv_generic_ctype = let q =
- let r = r0 in
-
-# 591 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11366 "parser_cocci_menhir.ml"
-
- in
-
-# 513 "parser_cocci_menhir.mly"
- ( q None )
-# 11372 "parser_cocci_menhir.ml"
+ 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 : (
+# 162 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 16418 "parser_cocci_menhir.ml"
+ ) =
+# 1852 "parser_cocci_menhir.mly"
+ ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
+# 16422 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = 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_generic_ctype_full = 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__1_ in
- let _v : 'tv_generic_ctype =
-# 514 "parser_cocci_menhir.mly"
- ( _1 )
-# 11396 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 162 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 16460 "parser_cocci_menhir.ml"
+ ) =
+# 1854 "parser_cocci_menhir.mly"
+ ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
+# 16464 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
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.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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11422 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11427 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11438 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11444 "parser_cocci_menhir.ml"
-
- in
-
-# 466 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
-# 11450 "parser_cocci_menhir.ml"
+ 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 : (
+# 162 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 16502 "parser_cocci_menhir.ml"
+ ) =
+# 1856 "parser_cocci_menhir.mly"
+ ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
+# 16506 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
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.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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11476 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11481 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 591 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11492 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11498 "parser_cocci_menhir.ml"
-
- in
-
-# 466 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
-# 11504 "parser_cocci_menhir.ml"
+ 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 : (
+# 162 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 16544 "parser_cocci_menhir.ml"
+ ) =
+# 1858 "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
+ P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl )
+# 16561 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11525 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
-
-# 595 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 11533 "parser_cocci_menhir.ml"
-
- in
-
-# 466 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
-# 11539 "parser_cocci_menhir.ml"
+ let m : 'tv_metadec = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : (
+# 165 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 16585 "parser_cocci_menhir.ml"
+ ) =
+# 182 "parser_cocci_menhir.mly"
+ ( m "" )
+# 16589 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.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.semv = nm;
+ MenhirLib.EngineTypes.startp = _startpos_nm_;
+ MenhirLib.EngineTypes.endp = _endpos_nm_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11565 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11570 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11581 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11587 "parser_cocci_menhir.ml"
-
- in
-
-# 468 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
-# 11593 "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 : (
+# 149 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 16617 "parser_cocci_menhir.ml"
+ ) =
+# 197 "parser_cocci_menhir.mly"
+ ( P.make_iso_rule_name_result (P.id2name nm) )
+# 16621 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11619 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11624 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 591 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11635 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11641 "parser_cocci_menhir.ml"
-
- in
-
-# 468 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
-# 11647 "parser_cocci_menhir.ml"
+ let _1 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16642 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_iter_ident =
+# 1531 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 16649 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11668 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
-
-# 595 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 11676 "parser_cocci_menhir.ml"
-
- in
-
-# 468 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
-# 11682 "parser_cocci_menhir.ml"
+ let _1 : (
+# 62 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 16670 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_iter_ident =
+# 1533 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 16678 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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 = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11708 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11713 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11724 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11730 "parser_cocci_menhir.ml"
-
- in
-
-# 470 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
-# 11736 "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_TMul_ =
+# 114 "standard.mly"
+ ( [] )
+# 16695 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11762 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11767 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 591 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11778 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11784 "parser_cocci_menhir.ml"
-
- in
-
-# 470 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
-# 11790 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_TMul_ = Obj.magic xs in
+ let x : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 16722 "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 )
+# 16729 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11811 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
-
-# 595 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 11819 "parser_cocci_menhir.ml"
-
- in
-
-# 470 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
-# 11825 "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"
+ ( [] )
+# 16746 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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 t : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11846 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_generic_ctype_full =
-# 472 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" t])) )
-# 11853 "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 )
+# 16776 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let t : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11874 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_generic_ctype_full =
-# 474 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" t])) )
-# 11881 "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_case_line_ =
+# 114 "standard.mly"
+ ( [] )
+# 16793 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11907 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11912 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11923 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11929 "parser_cocci_menhir.ml"
-
- in
-
-# 476 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
-# 11935 "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 )
+# 16823 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(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 = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11961 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11966 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 591 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11977 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11983 "parser_cocci_menhir.ml"
-
- in
-
-# 476 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
-# 11989 "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_comma_decls_TEllipsis_decl__ =
+# 114 "standard.mly"
+ ( [] )
+# 16840 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12010 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_ty_ in
- let _v : 'tv_generic_ctype_full = let q =
-
-# 595 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 12018 "parser_cocci_menhir.ml"
-
- in
-
-# 476 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
-# 12024 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
+ let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 16870 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = ty1;
- MenhirLib.EngineTypes.startp = _startpos_ty1_;
- MenhirLib.EngineTypes.endp = _endpos_ty1_;
- MenhirLib.EngineTypes.next = {
- 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 = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let ty1 : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12055 "parser_cocci_menhir.ml"
- ) = Obj.magic ty1 in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12060 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12065 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty1_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 12076 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12082 "parser_cocci_menhir.ml"
-
- in
-
-# 478 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
-# 12091 "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_comma_decls_TEllipsis_name_opt_decl__ =
+# 114 "standard.mly"
+ ( [] )
+# 16887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = ty1;
- MenhirLib.EngineTypes.startp = _startpos_ty1_;
- MenhirLib.EngineTypes.endp = _endpos_ty1_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- 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 = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- 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 ty1 : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12122 "parser_cocci_menhir.ml"
- ) = Obj.magic ty1 in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12127 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12132 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_ty1_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 591 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 12143 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12149 "parser_cocci_menhir.ml"
-
- in
-
-# 478 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
-# 12158 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
+ let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 16917 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = ty1;
- MenhirLib.EngineTypes.startp = _startpos_ty1_;
- MenhirLib.EngineTypes.endp = _endpos_ty1_;
- MenhirLib.EngineTypes.next = {
- 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 ty1 : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12184 "parser_cocci_menhir.ml"
- ) = Obj.magic ty1 in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12189 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_ty1_ in
- let _v : 'tv_generic_ctype_full = let q =
-
-# 595 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 12197 "parser_cocci_menhir.ml"
-
- in
-
-# 478 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
-# 12206 "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_designator_ =
+# 114 "standard.mly"
+ ( [] )
+# 16934 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
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 i : 'tv_ident = Obj.magic i in
- let s : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12233 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_generic_ctype_full =
-# 483 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 12240 "parser_cocci_menhir.ml"
+ 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 )
+# 16964 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_dp_comma_args_TEllipsis__ =
+# 114 "standard.mly"
+ ( [] )
+# 16981 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
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 i : 'tv_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_generic_ctype_full =
-# 485 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 12270 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
+ let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_dp_comma_args_TEllipsis__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 17011 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.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 r : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12306 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let d : 'tv_struct_decl_list = Obj.magic d in
- let l : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12312 "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_generic_ctype_full = let i =
-
-# 39 "standard.mly"
- ( None )
-# 12321 "parser_cocci_menhir.ml"
-
- in
-
-# 488 "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)) )
-# 12331 "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_incl_ =
+# 114 "standard.mly"
+ ( [] )
+# 17028 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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;
- };
- };
- };
+ 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 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12372 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let d : 'tv_struct_decl_list = Obj.magic d in
- let l : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12378 "parser_cocci_menhir.ml"
- ) = Obj.magic l in
- let x0 : 'tv_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_generic_ctype_full = let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 12389 "parser_cocci_menhir.ml"
-
- in
-
-# 488 "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)) )
-# 12399 "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 )
+# 17058 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.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 r : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12435 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let d : 'tv_struct_decl_list = Obj.magic d in
- let l : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12441 "parser_cocci_menhir.ml"
- ) = Obj.magic l in
- let s : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12446 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_generic_ctype_full =
-# 494 "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)) )
-# 12457 "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_iso_ctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 17075 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ 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 = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- 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 : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12487 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let r : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 12492 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let _startpos = _startpos_r_ in
- let _endpos = _endpos_p_ in
- let _v : 'tv_generic_ctype_full =
-# 500 "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*))) )
-# 12504 "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 )
+# 17105 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let p : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12525 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let _startpos = _startpos_p_ in
- let _endpos = _endpos_p_ in
- let _v : 'tv_generic_ctype_full =
-# 507 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 12532 "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_iso_decl_var__ =
+# 114 "standard.mly"
+ ( [] )
+# 17122 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ 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 = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let p : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12558 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12563 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_p_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 589 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 12574 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12580 "parser_cocci_menhir.ml"
-
- in
-
-# 509 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
-# 12587 "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 )
+# 17152 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- 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 = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let p : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12613 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12618 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
- let _endpos = _endpos_p_ in
- let _v : 'tv_generic_ctype_full = let q =
- let r0 = r00 in
- let s =
- let r = r0 in
-
-# 591 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 12629 "parser_cocci_menhir.ml"
-
- in
-
-# 594 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12635 "parser_cocci_menhir.ml"
-
- in
-
-# 509 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
-# 12642 "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_iso_dexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 17169 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- 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 p : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12663 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let _startpos = _startpos_p_ in
- let _endpos = _endpos_p_ in
- let _v : 'tv_generic_ctype_full = let q =
-
-# 595 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 12671 "parser_cocci_menhir.ml"
-
- in
-
-# 509 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
-# 12678 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in
+ let x : 'tv_iso_dexpr_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_dexpr__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 17199 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1510 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 12702 "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_iso_nest_start__ =
+# 114 "standard.mly"
+ ( [] )
+# 17216 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 12723 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1512 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 12731 "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 )
+# 17246 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _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 =
-# 1464 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 12755 "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_iso_single_statement__ =
+# 114 "standard.mly"
+ ( [] )
+# 17263 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12776 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident_or_const =
-# 1466 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 12784 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
+ let x : 'tv_iso_single_statement_ = 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 )
+# 17293 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12809 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 257 "parser_cocci_menhir.mly"
- ( Common.Left(P.id2name _2) )
-# 12816 "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"
+ ( [] )
+# 17310 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 79 "parser_cocci_menhir.mly"
- (string)
-# 12841 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 258 "parser_cocci_menhir.mly"
- ( Common.Right _2 )
-# 12848 "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 )
+# 17340 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_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_list_incl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 146 "parser_cocci_menhir.mly"
- ((string,string) Common.either list)
-# 12876 "parser_cocci_menhir.ml"
- ) =
-# 253 "parser_cocci_menhir.mly"
- ( _1 )
-# 12880 "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"
+ ( [] )
+# 17357 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _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_list_incl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 146 "parser_cocci_menhir.mly"
- ((string,string) Common.either list)
-# 12908 "parser_cocci_menhir.ml"
- ) =
-# 254 "parser_cocci_menhir.mly"
- ( _1 )
-# 12912 "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 )
+# 17387 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 80 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12933 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_includes =
-# 638 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Include(P.clt2mcode "#include" (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))) )
-# 12948 "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"
+ ( [] )
+# 17404 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 80 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12969 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_includes =
-# 648 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Include(P.clt2mcode "#include" (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))) )
-# 12984 "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 )
+# 17434 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 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 =
-# 658 "parser_cocci_menhir.mly"
- ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
- d (Ast0.wrap(Ast0.DOTS([ty]))) )
-# 13019 "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"
+ ( [] )
+# 17451 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- 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 = 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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ 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 =
-# 661 "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))) )
-# 13061 "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 )
+# 17481 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_eexpr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize =
-# 1075 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 13085 "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"
+ ( [] )
+# 17498 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13116 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_initialize_list = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13122 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize =
-# 1077 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 13129 "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 )
+# 17528 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_statement__ =
+# 114 "standard.mly"
+ ( [] )
+# 17545 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13155 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13160 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize =
-# 1079 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
- P.clt2mcode "}" _2)) )
-# 13169 "parser_cocci_menhir.ml"
+ 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 )
+# 17575 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 65 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 13190 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize =
-# 1083 "parser_cocci_menhir.mly"
- (let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 13198 "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_pair_edots_when_TEllipsis_eexpr__dexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 17592 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize2 =
-# 1089 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 13222 "parser_cocci_menhir.ml"
+ 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
+
+# 70 "standard.mly"
+ ( (x, y) )
+# 17631 "parser_cocci_menhir.ml"
+
+ in
+
+# 116 "standard.mly"
+ ( x :: xs )
+# 17637 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13253 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_initialize_list = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13259 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1091 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 13266 "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_whenppdecs_ =
+# 114 "standard.mly"
+ ( [] )
+# 17654 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13292 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13297 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize2 =
-# 1093 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
- P.clt2mcode "}" _2)) )
-# 13306 "parser_cocci_menhir.ml"
+ 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 )
+# 17684 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_initialize2 = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13338 "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 =
-# 1098 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 13346 "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_loption_choose_iso_ =
+# 57 "standard.mly"
+ ( [] )
+# 17701 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = 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 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13378 "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 =
-# 1100 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 13386 "parser_cocci_menhir.ml"
+ 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 )
+# 17725 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_disable_ =
+# 57 "standard.mly"
+ ( [] )
+# 17742 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_initialize_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize_list =
-# 1112 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 13410 "parser_cocci_menhir.ml"
+ 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 )
+# 17766 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13436 "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_initialize_list_start =
-# 1115 "parser_cocci_menhir.mly"
- ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
-# 13444 "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_loption_filespec_ =
+# 57 "standard.mly"
+ ( [] )
+# 17783 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _3 : 'tv_initialize_list_start = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13476 "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_initialize_list_start =
-# 1117 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
-# 13484 "parser_cocci_menhir.ml"
+ 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 )
+# 17807 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.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_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r 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_initialize_list_start =
-# 1120 "parser_cocci_menhir.mly"
- ( (P.mkidots "..." d)::
- (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
-# 13515 "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_loption_minus_start_ =
+# 57 "standard.mly"
+ ( [] )
+# 17824 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.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 _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_invalid =
-# 1213 "parser_cocci_menhir.mly"
- ( raise (Semantic_cocci.Semantic "not matchable") )
-# 13537 "parser_cocci_menhir.ml"
+ 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 )
+# 17848 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_is_expression =
-# 249 "parser_cocci_menhir.mly"
- ( false )
-# 13554 "parser_cocci_menhir.ml"
+ let _v : 'tv_loption_not_ceq_ =
+# 57 "standard.mly"
+ ( [] )
+# 17865 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.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 _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_is_expression =
-# 250 "parser_cocci_menhir.mly"
- ( true )
-# 13576 "parser_cocci_menhir.ml"
+ let x : 'tv_not_ceq = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_not_ceq_ =
+# 59 "standard.mly"
+ ( x )
+# 17889 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 1866 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13604 "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_loption_not_eq_ =
+# 57 "standard.mly"
+ ( [] )
+# 17906 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 1867 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13632 "parser_cocci_menhir.ml"
- in
- _menhir_env.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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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_decl_var = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_decl_var_ =
-# 1866 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13660 "parser_cocci_menhir.ml"
+ let x : 'tv_not_eq = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_not_eq_ =
+# 59 "standard.mly"
+ ( x )
+# 17930 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_decl_var = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_decl_var_ =
-# 1867 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13688 "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_loption_not_eqe_ =
+# 57 "standard.mly"
+ ( [] )
+# 17947 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ 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 t : 'tv_dexpr = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_dexpr_ =
-# 1866 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13716 "parser_cocci_menhir.ml"
+ let x : 'tv_not_eqe = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_not_eqe_ =
+# 59 "standard.mly"
+ ( x )
+# 17971 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_dexpr = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_dexpr_ =
-# 1867 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13744 "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_loption_not_pos_ =
+# 57 "standard.mly"
+ ( [] )
+# 17988 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ 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 t : 'tv_nest_start = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_nest_start_ =
-# 1866 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13772 "parser_cocci_menhir.ml"
+ 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 )
+# 18012 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_nest_start = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_nest_start_ =
-# 1867 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13800 "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_loption_plus_start_ =
+# 57 "standard.mly"
+ ( [] )
+# 18029 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ 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 t : 'tv_single_statement = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 1866 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13828 "parser_cocci_menhir.ml"
+ 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 )
+# 18053 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = t;
MenhirLib.EngineTypes.startp = _startpos_t_;
MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let t : 'tv_single_statement = Obj.magic t in
- let _startpos = _startpos__1_ in
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 1867 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13856 "parser_cocci_menhir.ml"
+ let _v : 'tv_meta_exp_type =
+# 453 "parser_cocci_menhir.mly"
+ ( [Ast0_cocci.ast0_type_to_type t] )
+# 18077 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
+ 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_;
};
};
} = _menhir_stack in
- let el : 'tv_list_iso_dexpr__ = Obj.magic el in
- let e1 : 'tv_dexpr = Obj.magic e1 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__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 13894 "parser_cocci_menhir.ml"
- ) =
-# 1838 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
-# 13898 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_meta_exp_type =
+# 455 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
+ t )
+# 18117 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let el : 'tv_list_iso_dexpr__ = Obj.magic el in
- let e1 : 'tv_dexpr = Obj.magic e1 in
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _1 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 18148 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_ident =
+# 1376 "parser_cocci_menhir.mly"
+ ( (Some _1,P.id2name _3) )
+# 18155 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 13936 "parser_cocci_menhir.ml"
+# 157 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 18179 "parser_cocci_menhir.ml"
) =
-# 1840 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
-# 13940 "parser_cocci_menhir.ml"
+# 181 "parser_cocci_menhir.mly"
+ ( m (!Ast0.rule_name) )
+# 18183 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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 = 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 el : 'tv_list_iso_dexpr__ = Obj.magic el in
- let e1 : 'tv_dexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 13978 "parser_cocci_menhir.ml"
- ) =
-# 1842 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
-# 13982 "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 =
+
+# 318 "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) )
+# 18230 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18236 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = sl;
- MenhirLib.EngineTypes.startp = _startpos_sl_;
- MenhirLib.EngineTypes.endp = _endpos_sl_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s1;
- MenhirLib.EngineTypes.startp = _startpos_s1_;
- MenhirLib.EngineTypes.endp = _endpos_s1_;
+ 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.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 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 : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 14020 "parser_cocci_menhir.ml"
- ) =
-# 1844 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
-# 14024 "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 =
+
+# 322 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
+ !Data.add_paramlist_meta name None pure; tok) )
+# 18287 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18293 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = tl;
- MenhirLib.EngineTypes.startp = _startpos_tl_;
- MenhirLib.EngineTypes.endp = _endpos_tl_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t1;
- MenhirLib.EngineTypes.startp = _startpos_t1_;
- MenhirLib.EngineTypes.endp = _endpos_t1_;
+ 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.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 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 : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 14062 "parser_cocci_menhir.ml"
- ) =
-# 1846 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
-# 14066 "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 =
+
+# 326 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
+ !Data.add_explist_meta name None pure; tok) )
+# 18344 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18350 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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 = 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 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 : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 14104 "parser_cocci_menhir.ml"
- ) =
-# 1848 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
-# 14108 "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 =
+
+# 330 "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) )
+# 18397 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18403 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = dl;
- MenhirLib.EngineTypes.startp = _startpos_dl_;
- MenhirLib.EngineTypes.endp = _endpos_dl_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d1;
- MenhirLib.EngineTypes.startp = _startpos_d1_;
- MenhirLib.EngineTypes.endp = _endpos_d1_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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 = 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 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 : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 14146 "parser_cocci_menhir.ml"
- ) =
-# 1850 "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
- P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl )
-# 14163 "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 =
+
+# 334 "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) )
+# 18450 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18456 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__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 m : 'tv_metadec = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
- let _v : (
-# 165 "parser_cocci_menhir.mly"
- ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 14187 "parser_cocci_menhir.ml"
- ) =
-# 182 "parser_cocci_menhir.mly"
- ( m "" )
-# 14191 "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 =
+
+# 338 "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) )
+# 18503 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18509 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = nm;
- MenhirLib.EngineTypes.startp = _startpos_nm_;
- MenhirLib.EngineTypes.endp = _endpos_nm_;
- 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 nm : 'tv_pure_ident = Obj.magic nm in
- let _startpos = _startpos_nm_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 149 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 14219 "parser_cocci_menhir.ml"
- ) =
-# 197 "parser_cocci_menhir.mly"
- ( P.make_iso_rule_name_result (P.id2name nm) )
-# 14223 "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 =
+
+# 342 "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) )
+# 18560 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18566 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__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 _1 : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 14244 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_iter_ident =
-# 1524 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 14251 "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 =
+
+# 346 "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")) )
+# 18614 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18620 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 62 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 14272 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_iter_ident =
-# 1526 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 14280 "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 =
+
+# 351 "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")) )
+# 18672 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18678 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_TMul_ =
-# 114 "standard.mly"
- ( [] )
-# 14297 "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 =
+
+# 356 "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")) )
+# 18730 "parser_cocci_menhir.ml"
+
+ in
+
+# 263 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 18736 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
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__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_TMul_ = Obj.magic xs in
- let x : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 14324 "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 )
-# 14331 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_array_dec_ =
-# 114 "standard.mly"
- ( [] )
-# 14348 "parser_cocci_menhir.ml"
+ 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 =
+
+# 312 "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) )
+# 18775 "parser_cocci_menhir.ml"
+
+ in
+
+# 266 "parser_cocci_menhir.mly"
+ ( P.create_fresh_metadec kindfn ids )
+# 18781 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_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 )
-# 14378 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 =
+
+# 364 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+ !Data.add_id_meta name constraints pure; tok) )
+# 18828 "parser_cocci_menhir.ml"
+
+ in
+
+# 270 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 18834 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_case_line_ =
-# 114 "standard.mly"
- ( [] )
-# 14395 "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_not_eq_not_eq__ = 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 =
+
+# 368 "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) )
+# 18881 "parser_cocci_menhir.ml"
+
+ in
+
+# 270 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 18887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_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 )
-# 14425 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 =
+
+# 372 "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) )
+# 18939 "parser_cocci_menhir.ml"
+
+ in
+
+# 270 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 18945 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
-# 114 "standard.mly"
- ( [] )
-# 14442 "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_not_eq_not_eq__ = 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 constraints ->
+ let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
+ !Data.add_declarer_meta name constraints pure; tok) )
+# 18992 "parser_cocci_menhir.ml"
+
+ in
+
+# 270 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 18998 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
- let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 14472 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 =
+
+# 381 "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) )
+# 19045 "parser_cocci_menhir.ml"
+
+ in
+
+# 270 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19051 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
-# 114 "standard.mly"
- ( [] )
-# 14489 "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_not_eq_not_eqe__ = 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 =
+
+# 387 "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) )
+# 19098 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19104 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
- let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 14519 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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 )
+# 19157 "parser_cocci_menhir.ml"
+
+ in
+
+# 391 "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))) )
+# 19170 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19176 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_designator_ =
-# 114 "standard.mly"
- ( [] )
-# 14536 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ 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;
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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 )
+# 19237 "parser_cocci_menhir.ml"
+
+ in
+
+# 391 "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))) )
+# 19250 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19256 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
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.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;
+ };
+ };
+ };
+ };
+ };
};
} = _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 )
-# 14566 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_dp_comma_args_TEllipsis__ =
-# 114 "standard.mly"
- ( [] )
-# 14583 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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
+
+# 400 "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))) )
+# 19323 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19329 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = m0;
+ MenhirLib.EngineTypes.startp = _startpos_m0_;
+ MenhirLib.EngineTypes.endp = _endpos_m0_;
+ 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_dp_comma_args_TEllipsis__ = Obj.magic xs in
- let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_dp_comma_args_TEllipsis__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 14613 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_incl_ =
-# 114 "standard.mly"
- ( [] )
-# 14630 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
+ let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 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 m = m0 in
+
+# 410 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+ !Data.add_exp_meta ty name constraints pure; tok) )
+# 19384 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19390 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
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__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ 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;
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- 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 )
-# 14660 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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"
- ( [] )
-# 14677 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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__7_ in
+ let _v : 'tv_metadec = let kindfn =
+ let vl = vl0 in
+
+# 415 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+ !Data.add_exp_meta ty name constraints pure; tok) )
+# 19449 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19455 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_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 )
-# 14707 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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"
- ( [] )
-# 14724 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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 )
+# 19501 "parser_cocci_menhir.ml"
+
+ in
+
+# 420 "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) )
+# 19509 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19515 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 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 )
-# 14754 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_dexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 14771 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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 )
+# 19569 "parser_cocci_menhir.ml"
+
+ in
+
+# 420 "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) )
+# 19577 "parser_cocci_menhir.ml"
+
+ in
+
+# 274 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19583 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in
- let x : 'tv_iso_dexpr_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_dexpr__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 14801 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = 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 =
+
+# 426 "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) )
+# 19630 "parser_cocci_menhir.ml"
+
+ in
+
+# 278 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19636 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_iso_nest_start__ =
-# 114 "standard.mly"
- ( [] )
-# 14818 "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.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;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = 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
+
+# 430 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some vl in
+ 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) )
+# 19702 "parser_cocci_menhir.ml"
+
+ in
+
+# 278 "parser_cocci_menhir.mly"
+ ( P.create_metadec_ne ar ispure kindfn ids )
+# 19708 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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;
+ };
+ };
+ };
};
} = _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 _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_nest_start__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 14848 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_single_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 14865 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_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 =
+# 284 "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_ne ar false kindfn ids )
+# 19758 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
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__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
+ 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;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
} = _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 _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_single_statement__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 14895 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_ctype__ =
-# 114 "standard.mly"
- ( [] )
-# 14912 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let id : 'tv_pure_ident_or_meta_ident = Obj.magic id 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 =
+# 294 "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,Some lenname)) in
+ !Data.add_paramlist_meta name (Some lenname) pure; tok)
+ id ids )
+# 19825 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
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__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
+ 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;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
};
} = _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 )
-# 14942 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let id : 'tv_pure_ident_or_meta_ident = Obj.magic id 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 =
+# 303 "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,Some lenname)) in
+ !Data.add_explist_meta name (Some lenname) pure; tok)
+ id ids )
+# 19892 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_eexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 14959 "parser_cocci_menhir.ml"
+ 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_ =
+# 1816 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 19922 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
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 = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
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 )
-# 14989 "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_ =
+# 1816 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 19952 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_fun_after_dots_or__ =
-# 114 "standard.mly"
- ( [] )
-# 15006 "parser_cocci_menhir.ml"
+ 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_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_ =
+# 1816 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 19982 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
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 = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
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 )
-# 15036 "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_ =
+# 1816 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 20012 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_fun_start__ =
-# 114 "standard.mly"
- ( [] )
-# 15053 "parser_cocci_menhir.ml"
+ 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_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_ =
+# 1816 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 20042 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
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 = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
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 )
-# 15083 "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_ =
+# 1816 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 20072 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_rule_elem_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 15100 "parser_cocci_menhir.ml"
+ 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_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_ =
+# 1816 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 20102 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
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 = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
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 )
-# 15130 "parser_cocci_menhir.ml"
+ 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 =
+# 597 "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 )
+# 20134 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 15147 "parser_cocci_menhir.ml"
+ 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_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 =
+# 611 "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 )
+# 20166 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__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_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 )
-# 15177 "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 : (
+# 137 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 20194 "parser_cocci_menhir.ml"
+ ) =
+# 177 "parser_cocci_menhir.mly"
+ ( _1 )
+# 20198 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 15194 "parser_cocci_menhir.ml"
+ 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 : (
+# 137 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 20226 "parser_cocci_menhir.ml"
+ ) =
+# 177 "parser_cocci_menhir.mly"
+ ( m )
+# 20230 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- 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;
- };
+ 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 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
-
-# 70 "standard.mly"
- ( (x, y) )
-# 15233 "parser_cocci_menhir.ml"
-
- in
-
-# 116 "standard.mly"
- ( x :: xs )
-# 15239 "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 : (
+# 137 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 20258 "parser_cocci_menhir.ml"
+ ) =
+# 178 "parser_cocci_menhir.mly"
+ ( m )
+# 20262 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_whenppdecs_ =
-# 114 "standard.mly"
- ( [] )
-# 15256 "parser_cocci_menhir.ml"
+ 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_minus_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 134 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 20290 "parser_cocci_menhir.ml"
+ ) =
+# 173 "parser_cocci_menhir.mly"
+ ( _1 )
+# 20294 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 )
-# 15286 "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 : (
+# 134 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 20322 "parser_cocci_menhir.ml"
+ ) =
+# 173 "parser_cocci_menhir.mly"
+ ( m )
+# 20326 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_choose_iso_ =
-# 57 "standard.mly"
- ( [] )
-# 15303 "parser_cocci_menhir.ml"
+ 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 : (
+# 134 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 20354 "parser_cocci_menhir.ml"
+ ) =
+# 174 "parser_cocci_menhir.mly"
+ ( m )
+# 20358 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_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 )
-# 15327 "parser_cocci_menhir.ml"
+ let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 1625 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.DECL(_1))] )
+# 20382 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_disable_ =
-# 57 "standard.mly"
- ( [] )
-# 15344 "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_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 1626 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 20406 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_disable = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_disable_ =
-# 59 "standard.mly"
- ( x )
-# 15368 "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 =
+# 1627 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 20430 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_error_words_ =
-# 57 "standard.mly"
- ( [] )
-# 15385 "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_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 =
+# 1629 "parser_cocci_menhir.mly"
+ ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 20454 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 x : 'tv_error_words = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_error_words_ =
-# 59 "standard.mly"
- ( x )
-# 15409 "parser_cocci_menhir.ml"
+ let b : 'tv_ctype = Obj.magic b in
+ let a : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20481 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_ctype_ =
+# 1819 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 20488 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_filespec_ =
-# 57 "standard.mly"
- ( [] )
-# 15426 "parser_cocci_menhir.ml"
+ 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_eexpr = Obj.magic b in
+ let a : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20515 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_eexpr_ =
+# 1819 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 20522 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 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 )
-# 15450 "parser_cocci_menhir.ml"
+ let b : 'tv_fun_after_dots_or = Obj.magic b in
+ let a : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20549 "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_ =
+# 1819 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 20556 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_minus_start_ =
-# 57 "standard.mly"
- ( [] )
-# 15467 "parser_cocci_menhir.ml"
+ 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 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20583 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_fun_start_ =
+# 1819 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 20590 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 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 )
-# 15491 "parser_cocci_menhir.ml"
+ let b : 'tv_rule_elem_statement = Obj.magic b in
+ let a : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20617 "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_ =
+# 1819 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 20624 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_not_ceq_ =
-# 57 "standard.mly"
- ( [] )
-# 15508 "parser_cocci_menhir.ml"
+ 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_statement = Obj.magic b in
+ let a : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20651 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_statement_ =
+# 1819 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 20658 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_not_ceq = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_not_ceq_ =
-# 59 "standard.mly"
- ( x )
-# 15532 "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_name_opt_decl =
+# 818 "parser_cocci_menhir.mly"
+ ( _1 )
+# 20682 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_not_eq_ =
-# 57 "standard.mly"
- ( [] )
-# 15549 "parser_cocci_menhir.ml"
+ 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;
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20733 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20739 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20744 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let s : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20749 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 20754 "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 =
+# 821 "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)) )
+# 20767 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_not_eq = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_not_eq_ =
-# 59 "standard.mly"
- ( x )
-# 15573 "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 =
+# 1740 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 20797 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_not_eqe_ =
-# 57 "standard.mly"
- ( [] )
-# 15590 "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.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 =
+# 1741 "parser_cocci_menhir.mly"
+ (_2)
+# 20825 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_not_eqe = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_not_eqe_ =
-# 59 "standard.mly"
- ( x )
-# 15614 "parser_cocci_menhir.ml"
+ 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 =
+# 1742 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 20855 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_loption_not_pos_ =
-# 57 "standard.mly"
- ( [] )
-# 15631 "parser_cocci_menhir.ml"
+ let _v : 'tv_nest_after_exp =
+# 1750 "parser_cocci_menhir.mly"
+ ([])
+# 20872 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_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 )
-# 15655 "parser_cocci_menhir.ml"
+ 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 =
+# 1751 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 20902 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_loption_plus_start_ =
-# 57 "standard.mly"
- ( [] )
-# 15672 "parser_cocci_menhir.ml"
+ let _v : 'tv_nest_after_stm =
+# 1745 "parser_cocci_menhir.mly"
+ ([])
+# 20919 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_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 )
-# 15696 "parser_cocci_menhir.ml"
+ 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 =
+# 1746 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 20949 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ 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_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_meta_exp_type =
-# 453 "parser_cocci_menhir.mly"
- ( [Ast0_cocci.ast0_type_to_type t] )
-# 15720 "parser_cocci_menhir.ml"
+ 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 =
+# 1747 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 20979 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = 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;
- };
+ MenhirLib.EngineTypes.state = _menhir_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 t : 'tv_comma_list_ctype_ = Obj.magic t in
+ let c : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21010 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21016 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_meta_exp_type =
-# 455 "parser_cocci_menhir.mly"
- ( List.map
- (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
- t )
-# 15760 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1199 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...>" c, None, false)) )
+# 21025 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = 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.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = _1;
};
};
} = _menhir_stack in
- let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let c : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21056 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
let _1 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 15791 "parser_cocci_menhir.ml"
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21062 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_meta_ident =
-# 1399 "parser_cocci_menhir.mly"
- ( (Some _1,P.id2name _3) )
-# 15798 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1203 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...+>" c, None, true)) )
+# 21071 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = 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 _1 : 'tv_nest_after_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nest_start =
+# 1737 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 21095 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 168 "parser_cocci_menhir.mly"
+ (unit)
+# 21117 "parser_cocci_menhir.ml"
+ ) =
+# 1882 "parser_cocci_menhir.mly"
+ ( () )
+# 21121 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 m : 'tv_metadec = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
let _v : (
-# 157 "parser_cocci_menhir.mly"
- ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 15822 "parser_cocci_menhir.ml"
+# 168 "parser_cocci_menhir.mly"
+ (unit)
+# 21147 "parser_cocci_menhir.ml"
) =
-# 181 "parser_cocci_menhir.mly"
- ( m (!Ast0.rule_name) )
-# 15826 "parser_cocci_menhir.ml"
+# 1883 "parser_cocci_menhir.mly"
+ ( () )
+# 21151 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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_ = 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 =
-
-# 318 "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) )
-# 15873 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 15879 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : (
+# 168 "parser_cocci_menhir.mly"
+ (unit)
+# 21173 "parser_cocci_menhir.ml"
+ ) =
+# 1884 "parser_cocci_menhir.mly"
+ ( () )
+# 21177 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = dg;
+ MenhirLib.EngineTypes.startp = _startpos_dg_;
+ MenhirLib.EngineTypes.endp = _endpos_dg_;
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 = g;
+ MenhirLib.EngineTypes.startp = _startpos_g_;
+ MenhirLib.EngineTypes.endp = _endpos_g_;
+ 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 =
-
-# 322 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
- !Data.add_paramlist_meta name None pure; tok) )
-# 15930 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 15936 "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__ =
+# 1367 "parser_cocci_menhir.mly"
+ ( function dot_builder ->
+ g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 21208 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ 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 =
-
-# 326 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
- !Data.add_explist_meta name None pure; tok) )
-# 15987 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 15993 "parser_cocci_menhir.ml"
+ let x : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21229 "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 ] )
+# 21236 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ 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 =
-
-# 330 "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) )
-# 16040 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16046 "parser_cocci_menhir.ml"
+ let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
+ let x : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21263 "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 )
+# 21270 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ 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 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 =
-
-# 334 "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) )
-# 16093 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16099 "parser_cocci_menhir.ml"
+ 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 =
+# 1458 "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] )
+# 21302 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__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.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
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.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_ = 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 =
-
-# 338 "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) )
-# 16146 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16152 "parser_cocci_menhir.ml"
+ 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 =
+# 1464 "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 )
+# 21342 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
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.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_ = 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 =
-
-# 342 "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) )
-# 16203 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16209 "parser_cocci_menhir.ml"
+ let i : 'tv_pure_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_eq =
+# 1425 "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");
+ [Ast0.wrap(Ast0.Id(P.id2mcode i))] )
+# 21376 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__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.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
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.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_ = 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 =
-
-# 346 "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")) )
-# 16257 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16263 "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_eq =
+# 1433 "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.Id(P.id2mcode i))) l )
+# 21416 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
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.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_ = 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 =
-
-# 351 "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")) )
-# 16315 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16321 "parser_cocci_menhir.ml"
+ let i : 'tv_pure_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_eqe =
+# 1441 "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))))] )
+# 21448 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.startp = _startpos__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.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
MenhirLib.EngineTypes.next = {
- 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.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.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_ = 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 =
-
-# 356 "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")) )
-# 16373 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16379 "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 =
+# 1447 "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 )
+# 21491 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_meta_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_pos =
+# 1478 "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");
+ match i with
+ (None,_) -> failwith "constraint must be an inherited variable"
+ | (Some rule,name) ->
+ let i = (rule,name) in
+ P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
+ [i] )
+# 21528 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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.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_;
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids 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_metadec = let kindfn =
-
-# 312 "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) )
-# 16418 "parser_cocci_menhir.ml"
-
- in
-
-# 266 "parser_cocci_menhir.mly"
- ( P.create_fresh_metadec kindfn ids )
-# 16424 "parser_cocci_menhir.ml"
+ let _v : 'tv_not_pos =
+# 1489 "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
+ (None,_) ->
+ failwith "constraint must be an inherited variable"
+ | (Some rule,name) ->
+ let i = (rule,name) in
+ P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
+ i)
+ l )
+# 21576 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 =
-
-# 364 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
- !Data.add_id_meta name constraints pure; tok) )
-# 16471 "parser_cocci_menhir.ml"
-
- in
-
-# 270 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16477 "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_ =
+# 1563 "parser_cocci_menhir.mly"
+ ( _1 )
+# 21600 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 66 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 21621 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_dec_decl_ =
+# 1565 "parser_cocci_menhir.mly"
+ ( let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Some nm -> Some(P.clt2mcode nm clt)
+ | None -> None in
+ Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
+# 21634 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 1563 "parser_cocci_menhir.mly"
+ ( _1 )
+# 21658 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 66 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 21679 "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_ =
+# 1565 "parser_cocci_menhir.mly"
+ ( let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Some nm -> Some(P.clt2mcode nm clt)
+ | None -> None in
+ Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
+# 21692 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 =
-
-# 368 "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) )
-# 16524 "parser_cocci_menhir.ml"
-
- in
-
-# 270 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16530 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21718 "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 =
+# 988 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
+# 21726 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ 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.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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 =
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21757 "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 =
-# 372 "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) )
-# 16582 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 21767 "parser_cocci_menhir.ml"
in
-# 270 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16588 "parser_cocci_menhir.ml"
+# 990 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
+# 21774 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21810 "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
-# 377 "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) )
-# 16635 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 21822 "parser_cocci_menhir.ml"
in
-# 270 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16641 "parser_cocci_menhir.ml"
+# 990 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
+# 21829 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.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 =
+# 992 "parser_cocci_menhir.mly"
+ ( f )
+# 21853 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ 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 = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = 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 pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21894 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21900 "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 =
-# 381 "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) )
-# 16688 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 21910 "parser_cocci_menhir.ml"
in
-# 270 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16694 "parser_cocci_menhir.ml"
+# 994 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
+# 21917 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ 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 = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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 pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21963 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 21969 "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
-# 387 "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) )
-# 16741 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 21981 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16747 "parser_cocci_menhir.ml"
+# 994 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
+# 21988 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ 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 = 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 = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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 =
-
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22019 "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 )
-# 16800 "parser_cocci_menhir.ml"
-
- in
+# 22029 "parser_cocci_menhir.ml"
-# 391 "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))) )
-# 16813 "parser_cocci_menhir.ml"
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 22036 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16819 "parser_cocci_menhir.ml"
+# 999 "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)) )
+# 22044 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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
-
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22080 "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 )
+# 22092 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 22099 "parser_cocci_menhir.ml"
+
+ in
+
+# 999 "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)) )
+# 22107 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22143 "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 )
+# 22154 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
# 41 "standard.mly"
( Some x )
-# 16880 "parser_cocci_menhir.ml"
-
- in
-
-# 391 "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))) )
-# 16893 "parser_cocci_menhir.ml"
+# 22162 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16899 "parser_cocci_menhir.ml"
+# 999 "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)) )
+# 22170 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = m0;
- MenhirLib.EngineTypes.startp = _startpos_m0_;
- MenhirLib.EngineTypes.endp = _endpos_m0_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = x1;
+ MenhirLib.EngineTypes.startp = _startpos_x1_;
+ MenhirLib.EngineTypes.endp = _endpos_x1_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22211 "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
-# 400 "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))) )
-# 16966 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 22224 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 22232 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16972 "parser_cocci_menhir.ml"
+# 999 "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)) )
+# 22240 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = m0;
- MenhirLib.EngineTypes.startp = _startpos_m0_;
- MenhirLib.EngineTypes.endp = _endpos_m0_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- 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 = 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 = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in
- let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 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 m = m0 in
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22281 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22287 "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 =
-# 410 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
- let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
- !Data.add_exp_meta ty name constraints pure; tok) )
-# 17027 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 22297 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 22304 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17033 "parser_cocci_menhir.ml"
+# 1004 "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)) )
+# 22314 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = vl0;
- MenhirLib.EngineTypes.startp = _startpos_vl0_;
- MenhirLib.EngineTypes.endp = _endpos_vl0_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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__7_ in
- let _v : 'tv_metadec = let kindfn =
- let vl = vl0 in
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22360 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22366 "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
-# 415 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
- let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
- !Data.add_exp_meta ty name constraints pure; tok) )
-# 17092 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 22378 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 22385 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17098 "parser_cocci_menhir.ml"
+# 1004 "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)) )
+# 22395 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ 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 = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- 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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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 =
-
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22441 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22447 "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 )
-# 17144 "parser_cocci_menhir.ml"
-
- in
+# 22458 "parser_cocci_menhir.ml"
-# 420 "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) )
-# 17152 "parser_cocci_menhir.ml"
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 22466 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17158 "parser_cocci_menhir.ml"
+# 1004 "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)) )
+# 22476 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- 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 = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ 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 = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = 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
-
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22527 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22533 "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_one_decl_var = let cv =
+ let x = x1 in
+
# 41 "standard.mly"
( Some x )
-# 17212 "parser_cocci_menhir.ml"
-
- in
+# 22546 "parser_cocci_menhir.ml"
-# 420 "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) )
-# 17220 "parser_cocci_menhir.ml"
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 22554 "parser_cocci_menhir.ml"
in
-# 274 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17226 "parser_cocci_menhir.ml"
+# 1004 "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)) )
+# 22564 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
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.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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = 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 pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22625 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22630 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22636 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22641 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22647 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22652 "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 =
-# 426 "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) )
-# 17273 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 22661 "parser_cocci_menhir.ml"
in
-# 278 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17279 "parser_cocci_menhir.ml"
+# 1014 "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)) )
+# 22673 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = vl0;
- MenhirLib.EngineTypes.startp = _startpos_vl0_;
- MenhirLib.EngineTypes.endp = _endpos_vl0_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
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.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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = 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 pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22739 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22744 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22750 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22755 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22761 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22766 "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
-# 430 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some vl in
- 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) )
-# 17345 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 22777 "parser_cocci_menhir.ml"
in
-# 278 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17351 "parser_cocci_menhir.ml"
+# 1014 "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)) )
+# 22789 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _5;
MenhirLib.EngineTypes.startp = _startpos__5_;
MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ 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 = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
+ 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_not_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 _5 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22830 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22835 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22841 "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_metadec =
-# 284 "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_ne ar false kindfn ids )
-# 17401 "parser_cocci_menhir.ml"
+ let _v : 'tv_one_decl_var =
+# 1022 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
+# 22850 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ 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 = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let id : 'tv_pure_ident_or_meta_ident = Obj.magic id 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 =
-# 294 "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,Some lenname)) in
- !Data.add_paramlist_meta name (Some lenname) pure; tok)
- id ids )
-# 17468 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22921 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22927 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22932 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22938 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22943 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22949 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 22954 "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 )
+# 22963 "parser_cocci_menhir.ml"
+
+ in
+
+# 1028 "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)))
+# 22975 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ 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 = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let id : 'tv_pure_ident_or_meta_ident = Obj.magic id 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 =
-# 303 "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,Some lenname)) in
- !Data.add_explist_meta name (Some lenname) pure; tok)
- id ids )
-# 17535 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_ =
-# 1803 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17565 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23051 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23057 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23062 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23068 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23073 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23079 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23084 "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 )
+# 23095 "parser_cocci_menhir.ml"
+
+ in
+
+# 1028 "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)))
+# 23107 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = 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_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_ =
-# 1803 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17595 "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 )
+# 23124 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ 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 _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_expr_eexpr_ =
-# 1803 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17625 "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 )
+# 23148 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let b : 'tv_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_ =
-# 1803 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17655 "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 )
+# 23165 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ 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 _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_fun_start_fun_start_ =
-# 1803 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17685 "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 )
+# 23189 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let b : 'tv_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_ =
-# 1803 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17715 "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 )
+# 23206 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ 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 _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_statement_statement_ =
-# 1803 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17745 "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 )
+# 23230 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = ew;
- MenhirLib.EngineTypes.startp = _startpos_ew_;
- MenhirLib.EngineTypes.endp = _endpos_ew_;
- 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 = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let ew : 'tv_loption_error_words_ = Obj.magic ew 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_ew_ in
- let _v : 'tv_minus_body =
-# 606 "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 )
-# 17783 "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 =
+# 1687 "parser_cocci_menhir.mly"
+ ([])
+# 23247 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = ew;
- MenhirLib.EngineTypes.startp = _startpos_ew_;
- MenhirLib.EngineTypes.endp = _endpos_ew_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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 = 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 ew : 'tv_loption_error_words_ = Obj.magic ew 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_ew_ in
- let _v : 'tv_minus_exp_body =
-# 620 "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 )
-# 17821 "parser_cocci_menhir.ml"
+ 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 =
+# 1688 "parser_cocci_menhir.mly"
+ (_2)
+# 23275 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _1 : 'tv_minus_exp_body = 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 : (
-# 137 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 17849 "parser_cocci_menhir.ml"
- ) =
-# 177 "parser_cocci_menhir.mly"
- ( _1 )
-# 17853 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_dots =
+# 1690 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
+# 23305 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_exp_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : 'tv_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 : (
-# 137 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 17881 "parser_cocci_menhir.ml"
- ) =
-# 177 "parser_cocci_menhir.mly"
- ( m )
-# 17885 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_dots =
+# 1691 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DECL(_1))::_2 )
+# 23335 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_exp_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : 'tv_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 : (
-# 137 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 17913 "parser_cocci_menhir.ml"
- ) =
-# 178 "parser_cocci_menhir.mly"
- ( m )
-# 17917 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_dots =
+# 1693 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 23365 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 1683 "parser_cocci_menhir.mly"
+ ([])
+# 23382 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _1 : 'tv_minus_body = Obj.magic _1 in
+ let _2 : 'tv_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 : (
-# 134 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 17945 "parser_cocci_menhir.ml"
- ) =
-# 173 "parser_cocci_menhir.mly"
- ( _1 )
-# 17949 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_exp =
+# 1684 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 23412 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 1696 "parser_cocci_menhir.mly"
+ ([])
+# 23429 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : 'tv_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 : (
-# 134 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 17977 "parser_cocci_menhir.ml"
- ) =
-# 173 "parser_cocci_menhir.mly"
- ( m )
-# 17981 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_stm =
+# 1697 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 23459 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : 'tv_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 : (
-# 134 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 18009 "parser_cocci_menhir.ml"
- ) =
-# 174 "parser_cocci_menhir.mly"
- ( m )
-# 18013 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_after_stm =
+# 1698 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DECL(_1))::_2 )
+# 23489 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _2 : 'tv_plus_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 =
-# 1612 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 18037 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_stm =
+# 1700 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 23519 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_ctype = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1613 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 18061 "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 =
+# 605 "parser_cocci_menhir.mly"
+ ( Top_level.top_level (f@b(*@ew*)) )
+# 23549 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_top_init = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1614 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 18085 "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 =
+# 619 "parser_cocci_menhir.mly"
+ ( Top_level.top_level (f@[b](*@ew*)) )
+# 23579 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_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_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
+ let _1 : 'tv_plus_exp_body = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1616 "parser_cocci_menhir.mly"
- ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 18109 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 143 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23607 "parser_cocci_menhir.ml"
+ ) =
+# 179 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23611 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_ctype = Obj.magic b in
- let a : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18136 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_ctype_ =
-# 1806 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18143 "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 : (
+# 143 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23639 "parser_cocci_menhir.ml"
+ ) =
+# 179 "parser_cocci_menhir.mly"
+ ( p )
+# 23643 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_eexpr = Obj.magic b in
- let a : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18170 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_eexpr_ =
-# 1806 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18177 "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 : (
+# 143 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23671 "parser_cocci_menhir.ml"
+ ) =
+# 180 "parser_cocci_menhir.mly"
+ ( p )
+# 23675 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_fun_after_dots_or = Obj.magic b in
- let a : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18204 "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_ =
-# 1806 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18211 "parser_cocci_menhir.ml"
+ let _1 : 'tv_plus_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 140 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23703 "parser_cocci_menhir.ml"
+ ) =
+# 175 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23707 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_fun_start = Obj.magic b in
- let a : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18238 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_fun_start_ =
-# 1806 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18245 "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 : (
+# 140 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23735 "parser_cocci_menhir.ml"
+ ) =
+# 175 "parser_cocci_menhir.mly"
+ ( p )
+# 23739 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_rule_elem_statement = Obj.magic b in
- let a : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18272 "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_ =
-# 1806 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18279 "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 : (
+# 140 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23767 "parser_cocci_menhir.ml"
+ ) =
+# 176 "parser_cocci_menhir.mly"
+ ( p )
+# 23771 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ 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 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18306 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_statement_ =
-# 1806 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18313 "parser_cocci_menhir.ml"
+ let _1 : 'tv_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_plus_start =
+# 1672 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 23795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl = Obj.magic _1 in
+ let _1 : 'tv_top_init = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_name_opt_decl =
-# 840 "parser_cocci_menhir.mly"
- ( _1 )
-# 18337 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_start =
+# 1673 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 23819 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_plus_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_start =
+# 1675 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 23849 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_name_opt_decl =
-# 841 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, None)) )
-# 18361 "parser_cocci_menhir.ml"
+ 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 =
+# 1677 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
+# 23879 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.semv = _2;
+ 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 = 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.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18412 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18418 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18423 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let s : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18428 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18433 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let t : 'tv_fn_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_rp1_ in
- let _v : 'tv_name_opt_decl =
-# 844 "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)) )
-# 18446 "parser_cocci_menhir.ml"
+ 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 =
+# 1678 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DECL(_1))::_2 )
+# 23909 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_stm = 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__2_ in
- let _v : 'tv_nest_after_dots =
-# 1727 "parser_cocci_menhir.mly"
- (_1@_2)
-# 18476 "parser_cocci_menhir.ml"
+ let _v : 'tv_plus_start =
+# 1680 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 23939 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 23960 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pnrule =
+# 230 "parser_cocci_menhir.mly"
+ ( Ast.Dep _1 )
+# 23967 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+ let _2 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 23992 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1728 "parser_cocci_menhir.mly"
- (_2)
-# 18504 "parser_cocci_menhir.ml"
+ let _v : 'tv_pnrule =
+# 231 "parser_cocci_menhir.mly"
+ ( Ast.AntiDep _2 )
+# 23999 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _2 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 24024 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1729 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 18534 "parser_cocci_menhir.ml"
+ let _v : 'tv_pnrule =
+# 232 "parser_cocci_menhir.mly"
+ ( Ast.EverDep _2 )
+# 24031 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_nest_after_exp =
-# 1737 "parser_cocci_menhir.mly"
- ([])
-# 18551 "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.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 24056 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_pnrule =
+# 233 "parser_cocci_menhir.mly"
+ ( Ast.NeverDep _2 )
+# 24063 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _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_nest_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _2 : 'tv_dep = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_exp =
-# 1738 "parser_cocci_menhir.mly"
- (_1::_2)
-# 18581 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_pnrule =
+# 234 "parser_cocci_menhir.mly"
+ ( _2 )
+# 24095 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_nest_after_stm =
-# 1732 "parser_cocci_menhir.mly"
- ([])
-# 18598 "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_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_ =
+# 1300 "parser_cocci_menhir.mly"
+ ( _1 )
+# 24119 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _4;
+ 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 = _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_nest_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _4 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24155 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24161 "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__2_ in
- let _v : 'tv_nest_after_stm =
-# 1733 "parser_cocci_menhir.mly"
- (_1::_2)
-# 18628 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1302 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 24170 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ident = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24202 "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_ =
+# 1305 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 24210 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ident = Obj.magic _3 in
+ let _2 : (
+# 104 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24242 "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_ =
+# 1307 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 24251 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _2 : (
+# 85 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24277 "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__2_ in
- let _v : 'tv_nest_after_stm =
-# 1734 "parser_cocci_menhir.mly"
- (_1@_2)
-# 18658 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1310 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 24285 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = _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.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 c : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18689 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
+ let _2 : (
+# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 18695 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 24311 "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_c_ in
- let _v : 'tv_nest_expressions =
-# 1222 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...>" c, None, false)) )
-# 18704 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1312 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 24319 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = _4;
+ 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 = _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 c : (
-# 73 "parser_cocci_menhir.mly"
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 18735 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
+# 24355 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 18741 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 24361 "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_c_ in
- let _v : 'tv_nest_expressions =
-# 1226 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...+>" c, None, true)) )
-# 18750 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
+# 1314 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 24371 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_nest_after_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_nest_start =
-# 1724 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 18774 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (unit)
-# 18796 "parser_cocci_menhir.ml"
- ) =
-# 1874 "parser_cocci_menhir.mly"
- ( () )
-# 18800 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1300 "parser_cocci_menhir.mly"
+ ( _1 )
+# 24395 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _4;
+ 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 = _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 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24431 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24437 "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__2_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (unit)
-# 18826 "parser_cocci_menhir.ml"
- ) =
-# 1875 "parser_cocci_menhir.mly"
- ( () )
-# 18830 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 : (
-# 168 "parser_cocci_menhir.mly"
- (unit)
-# 18852 "parser_cocci_menhir.ml"
- ) =
-# 1876 "parser_cocci_menhir.mly"
- ( () )
-# 18856 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1302 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 24446 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = dg;
- MenhirLib.EngineTypes.startp = _startpos_dg_;
- MenhirLib.EngineTypes.endp = _endpos_dg_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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__ =
-# 1390 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 18887 "parser_cocci_menhir.ml"
+ let _3 : 'tv_ident = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24478 "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_ =
+# 1305 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 24486 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 x : (
-# 99 "parser_cocci_menhir.mly"
+ let _3 : 'tv_ident = Obj.magic _3 in
+ let _2 : (
+# 104 "parser_cocci_menhir.mly"
(Data.clt)
-# 18908 "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 ] )
-# 18915 "parser_cocci_menhir.ml"
+# 24518 "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_ =
+# 1307 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 24527 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _2;
+ 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_nonempty_list_TMul_ = Obj.magic xs in
- let x : (
-# 99 "parser_cocci_menhir.mly"
+ let _2 : (
+# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 18942 "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 )
-# 18949 "parser_cocci_menhir.ml"
+# 24553 "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__2_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1310 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 24561 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
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 _2 : (
+# 85 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24587 "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_i_ in
- let _v : 'tv_not_ceq =
-# 1451 "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] )
-# 18981 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1312 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 24595 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _4;
MenhirLib.EngineTypes.startp = _startpos__4_;
MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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 l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24631 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24637 "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_not_ceq =
-# 1457 "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 )
-# 19021 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_invalid_ =
+# 1314 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 24647 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ 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 _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_not_eq =
-# 1418 "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");
- [Ast0.wrap(Ast0.Id(P.id2mcode i))] )
-# 19055 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1300 "parser_cocci_menhir.mly"
+ ( _1 )
+# 24671 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _4;
MenhirLib.EngineTypes.startp = _startpos__4_;
MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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 l : 'tv_comma_list_pure_ident_ = Obj.magic l in
+ let _4 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24707 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24713 "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_not_eq =
-# 1426 "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.Id(P.id2mcode i))) l )
-# 19095 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1302 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 24722 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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 = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ 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 _3 : 'tv_ident = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24754 "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_i_ in
- let _v : 'tv_not_eqe =
-# 1434 "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))))] )
-# 19127 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1305 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 24762 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _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 : (
+# 104 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24794 "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_postfix_expr_eexpr_nest_expressions_ =
+# 1307 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 24803 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ 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 _2 : (
+# 85 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24829 "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_not_eqe =
-# 1440 "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 )
-# 19170 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1310 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 24837 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let i : 'tv_meta_ident = Obj.magic i in
+ let _2 : (
+# 85 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24863 "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_i_ in
- let _v : 'tv_not_pos =
-# 1471 "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");
- match i with
- (None,_) -> failwith "constraint must be an inherited variable"
- | (Some rule,name) ->
- let i = (rule,name) in
- P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
- [i] )
-# 19207 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1312 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 24871 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _4;
MenhirLib.EngineTypes.startp = _startpos__4_;
MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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 l : 'tv_comma_list_meta_ident_ = Obj.magic l in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24907 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24913 "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_not_pos =
-# 1482 "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
- (None,_) ->
- failwith "constraint must be an inherited variable"
- | (Some rule,name) ->
- let i = (rule,name) in
- P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
- i)
- l )
-# 19255 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
+# 1314 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 24923 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl = 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_one_dec_decl_ =
-# 1556 "parser_cocci_menhir.mly"
- ( _1 )
-# 19279 "parser_cocci_menhir.ml"
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1300 "parser_cocci_menhir.mly"
+ ( _1 )
+# 24947 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 66 "parser_cocci_menhir.mly"
- (Parse_aux.list_info)
-# 19300 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _4 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24983 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 102 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24989 "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_one_dec_decl_ =
-# 1558 "parser_cocci_menhir.mly"
- ( let (nm,lenname,pure,clt) = _1 in
- let nm = P.clt2mcode nm clt in
- let lenname =
- match lenname with
- Some nm -> Some(P.clt2mcode nm clt)
- | None -> None in
- Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 19313 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1302 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 24998 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_name_opt_decl = Obj.magic _1 in
+ let _3 : 'tv_ident = Obj.magic _3 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25030 "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_one_dec_name_opt_decl_ =
-# 1556 "parser_cocci_menhir.mly"
- ( _1 )
-# 19337 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1305 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 25038 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 66 "parser_cocci_menhir.mly"
- (Parse_aux.list_info)
-# 19358 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _3 : 'tv_ident = Obj.magic _3 in
+ let _2 : (
+# 104 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25070 "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_one_dec_name_opt_decl_ =
-# 1558 "parser_cocci_menhir.mly"
- ( let (nm,lenname,pure,clt) = _1 in
- let nm = P.clt2mcode nm clt in
- let lenname =
- match lenname with
- Some nm -> Some(P.clt2mcode nm clt)
- | None -> None in
- Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 19371 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1307 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 25079 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
+ let _2 : (
+# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 19397 "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 =
-# 1011 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 19405 "parser_cocci_menhir.ml"
+# 25105 "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_ =
+# 1310 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 25113 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
+ let _2 : (
+# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 19436 "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 )
-# 19446 "parser_cocci_menhir.ml"
-
- in
-
-# 1013 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 19453 "parser_cocci_menhir.ml"
+# 25139 "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_ =
+# 1312 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 25147 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = _4;
+ 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 = _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.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 pv : (
-# 107 "parser_cocci_menhir.mly"
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 19489 "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 )
-# 19501 "parser_cocci_menhir.ml"
-
- in
-
-# 1013 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 19508 "parser_cocci_menhir.ml"
+# 25183 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25189 "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__4_ in
+ let _v : 'tv_postfix_expr_expr_invalid_ =
+# 1314 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 25199 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.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 =
-# 1015 "parser_cocci_menhir.mly"
- ( f )
-# 19532 "parser_cocci_menhir.ml"
- in
- _menhir_env.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 = 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;
- };
- };
- };
- };
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19573 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19579 "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 )
-# 19589 "parser_cocci_menhir.ml"
-
- in
-
-# 1017 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 19596 "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_eexpr_dot_expressions_ =
+# 1319 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 25223 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19642 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19648 "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 )
-# 19660 "parser_cocci_menhir.ml"
-
- in
-
-# 1017 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 19667 "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 _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25244 "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_ =
+# 1321 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 25252 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = 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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19698 "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 )
-# 19708 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 19715 "parser_cocci_menhir.ml"
-
- in
-
-# 1022 "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)) )
-# 19723 "parser_cocci_menhir.ml"
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25273 "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_ =
+# 1324 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 25281 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19759 "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 )
-# 19771 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 19778 "parser_cocci_menhir.ml"
-
- in
-
-# 1022 "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)) )
-# 19786 "parser_cocci_menhir.ml"
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25302 "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_ =
+# 1327 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 25310 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19822 "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 )
-# 19833 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 19841 "parser_cocci_menhir.ml"
-
- in
-
-# 1022 "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)) )
-# 19849 "parser_cocci_menhir.ml"
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25331 "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_ =
+# 1330 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 25339 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x1;
- MenhirLib.EngineTypes.startp = _startpos_x1_;
- MenhirLib.EngineTypes.endp = _endpos_x1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19890 "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 )
-# 19903 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 19911 "parser_cocci_menhir.ml"
-
- in
-
-# 1022 "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)) )
-# 19919 "parser_cocci_menhir.ml"
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25360 "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_ =
+# 1333 "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)) )
+# 25369 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19960 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19966 "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 )
-# 19976 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 19983 "parser_cocci_menhir.ml"
-
- in
-
-# 1027 "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)) )
-# 19993 "parser_cocci_menhir.ml"
+ let _1 : (
+# 63 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 25390 "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_ =
+# 1337 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 25398 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20039 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20045 "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 )
-# 20057 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 20064 "parser_cocci_menhir.ml"
-
- in
-
-# 1027 "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)) )
-# 20074 "parser_cocci_menhir.ml"
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25419 "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_ =
+# 1340 "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)) )
+# 25428 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20120 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20126 "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 )
-# 20137 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 20145 "parser_cocci_menhir.ml"
-
- in
-
-# 1027 "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)) )
-# 20155 "parser_cocci_menhir.ml"
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25449 "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_ =
+# 1344 "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)) )
+# 25458 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25479 "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_ =
+# 1348 "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)) )
+# 25488 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
+ let _3 : (
+# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 20206 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
+# 25519 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 20212 "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_one_decl_var = let cv =
- let x = x1 in
-
-# 41 "standard.mly"
- ( Some x )
-# 20225 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 20233 "parser_cocci_menhir.ml"
-
- in
-
-# 1027 "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)) )
-# 20243 "parser_cocci_menhir.ml"
+# 25525 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1352 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 25533 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20304 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20309 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20315 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
+ let _3 : (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 20320 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20326 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
+# 25564 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 20331 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_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 )
-# 20340 "parser_cocci_menhir.ml"
-
- in
-
-# 1037 "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)) )
-# 20352 "parser_cocci_menhir.ml"
+# 25570 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 25580 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ =
+# 1359 "parser_cocci_menhir.mly"
+ ( _1 )
+# 25604 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ =
+# 1319 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 25628 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25649 "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_ =
+# 1321 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 25657 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20418 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20423 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20429 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20434 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20440 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20445 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_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 )
-# 20456 "parser_cocci_menhir.ml"
-
- in
-
-# 1037 "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)) )
-# 20468 "parser_cocci_menhir.ml"
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25678 "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_ =
+# 1324 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 25686 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _5 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20509 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20514 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20520 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_decl_ident = Obj.magic _1 in
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25707 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_one_decl_var =
-# 1045 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
- P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 20529 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1327 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 25715 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 25736 "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_ =
+# 1330 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 25744 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20600 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20606 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20611 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20617 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20622 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20628 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20633 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_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 )
-# 20642 "parser_cocci_menhir.ml"
-
- in
-
-# 1051 "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)))
-# 20654 "parser_cocci_menhir.ml"
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25765 "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_ =
+# 1333 "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)) )
+# 25774 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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;
- };
- };
- };
- };
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20730 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20736 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20741 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20747 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20752 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20758 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20763 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_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 )
-# 20774 "parser_cocci_menhir.ml"
-
- in
-
-# 1051 "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)))
-# 20786 "parser_cocci_menhir.ml"
+ let _1 : (
+# 63 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 25795 "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_ =
+# 1337 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 25803 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_TLocal_ =
-# 29 "standard.mly"
- ( None )
-# 20803 "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 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25824 "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_ =
+# 1340 "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)) )
+# 25833 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 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 )
-# 20827 "parser_cocci_menhir.ml"
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25854 "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_ =
+# 1344 "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)) )
+# 25863 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 25884 "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_ =
+# 1348 "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)) )
+# 25893 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_TPosAny_ =
-# 29 "standard.mly"
- ( None )
-# 20844 "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 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25924 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25930 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1352 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 25938 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _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 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 )
-# 20868 "parser_cocci_menhir.ml"
+ let _3 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25969 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25975 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 25985 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_option_eexpr_ =
-# 29 "standard.mly"
- ( None )
-# 20885 "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_invalid = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1359 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26009 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_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 )
-# 20909 "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_eexpr_nest_expressions_ =
+# 1319 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 26033 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_plus_after_dots =
-# 1674 "parser_cocci_menhir.mly"
- ([])
-# 20926 "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 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26054 "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_ =
+# 1321 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 26062 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_exp = Obj.magic _2 in
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26083 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1675 "parser_cocci_menhir.mly"
- (_2)
-# 20954 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1324 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 26091 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26112 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1677 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 20984 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1327 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 26120 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26141 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1678 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 21014 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1330 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 26149 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26170 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1680 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 21044 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1333 "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)) )
+# 26179 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_plus_after_exp =
-# 1670 "parser_cocci_menhir.mly"
- ([])
-# 21061 "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 : (
+# 63 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 26200 "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_ =
+# 1337 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 26208 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26229 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_exp =
-# 1671 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 21091 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1340 "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)) )
+# 26238 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_plus_after_stm =
-# 1683 "parser_cocci_menhir.mly"
- ([])
-# 21108 "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 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26259 "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_ =
+# 1344 "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)) )
+# 26268 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26289 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1684 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 21138 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1348 "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)) )
+# 26298 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _3 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26329 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26335 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1685 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 21168 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1352 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 26343 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _3 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26374 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26380 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1687 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 21198 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 26390 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = ew;
- MenhirLib.EngineTypes.startp = _startpos_ew_;
- MenhirLib.EngineTypes.endp = _endpos_ew_;
- 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 = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- 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 ew : 'tv_loption_error_words_ = Obj.magic ew 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_ew_ in
- let _v : 'tv_plus_body =
-# 614 "parser_cocci_menhir.mly"
- ( Top_level.top_level (f@b@ew) )
-# 21234 "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_ =
+# 1359 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26414 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = ew;
- MenhirLib.EngineTypes.startp = _startpos_ew_;
- MenhirLib.EngineTypes.endp = _endpos_ew_;
- 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 = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- 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 ew : 'tv_loption_error_words_ = Obj.magic ew 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_ew_ in
- let _v : 'tv_plus_exp_body =
-# 628 "parser_cocci_menhir.mly"
- ( Top_level.top_level (f@[b]@ew) )
-# 21270 "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_ =
+# 1319 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 26438 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _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 _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26459 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 143 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21298 "parser_cocci_menhir.ml"
- ) =
-# 179 "parser_cocci_menhir.mly"
- ( _1 )
-# 21302 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1321 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 26467 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 : (
-# 143 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21330 "parser_cocci_menhir.ml"
- ) =
-# 179 "parser_cocci_menhir.mly"
- ( p )
-# 21334 "parser_cocci_menhir.ml"
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26488 "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_ =
+# 1324 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 26496 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 : (
-# 143 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21362 "parser_cocci_menhir.ml"
- ) =
-# 180 "parser_cocci_menhir.mly"
- ( p )
-# 21366 "parser_cocci_menhir.ml"
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26517 "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_ =
+# 1327 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 26525 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_plus_body = Obj.magic _1 in
+ let _1 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26546 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 140 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21394 "parser_cocci_menhir.ml"
- ) =
-# 175 "parser_cocci_menhir.mly"
- ( _1 )
-# 21398 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1330 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 26554 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 : (
-# 140 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21426 "parser_cocci_menhir.ml"
- ) =
-# 175 "parser_cocci_menhir.mly"
- ( p )
-# 21430 "parser_cocci_menhir.ml"
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26575 "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_ =
+# 1333 "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)) )
+# 26584 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 : (
-# 140 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21458 "parser_cocci_menhir.ml"
- ) =
-# 176 "parser_cocci_menhir.mly"
- ( p )
-# 21462 "parser_cocci_menhir.ml"
+ let _1 : (
+# 63 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 26605 "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_ =
+# 1337 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 26613 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_ctype = Obj.magic _1 in
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26634 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_plus_start =
-# 1659 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 21486 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1340 "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)) )
+# 26643 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_top_init = Obj.magic _1 in
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26664 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_plus_start =
-# 1660 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 21510 "parser_cocci_menhir.ml"
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1344 "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)) )
+# 26673 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _1 : (
+# 67 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_info)
+# 26694 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1662 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 21540 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1348 "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)) )
+# 26703 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
- } = _menhir_stack in
- let _2 : 'tv_plus_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ } = _menhir_stack in
+ let _3 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26734 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26740 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1664 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 21570 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1352 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 26748 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _3 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26779 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26785 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1665 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 21600 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1355 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 26795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _1 : 'tv_invalid = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1667 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 21630 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1359 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26819 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21651 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pnrule =
-# 230 "parser_cocci_menhir.mly"
- ( Ast.Dep _1 )
-# 21658 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure =
+# 190 "parser_cocci_menhir.mly"
+ ( Ast0.Pure )
+# 26841 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21683 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 231 "parser_cocci_menhir.mly"
- ( Ast.AntiDep _2 )
-# 21690 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure =
+# 191 "parser_cocci_menhir.mly"
+ ( Ast0.Context )
+# 26863 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21715 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 232 "parser_cocci_menhir.mly"
- ( Ast.EverDep _2 )
-# 21722 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure =
+# 192 "parser_cocci_menhir.mly"
+ ( Ast0.PureContext )
+# 26889 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21747 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 233 "parser_cocci_menhir.mly"
- ( Ast.NeverDep _2 )
-# 21754 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure =
+# 193 "parser_cocci_menhir.mly"
+ ( Ast0.PureContext )
+# 26915 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.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 _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_pnrule =
-# 234 "parser_cocci_menhir.mly"
- ( _2 )
-# 21786 "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_pure =
+# 194 "parser_cocci_menhir.mly"
+ ( Ast0.Impure )
+# 26932 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_primary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 26953 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1323 "parser_cocci_menhir.mly"
- ( _1 )
-# 21810 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure_ident =
+# 1373 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26960 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let _4 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21846 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21852 "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_ =
-# 1325 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 21861 "parser_cocci_menhir.ml"
- in
- _menhir_env.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21893 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1328 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 21901 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1379 "parser_cocci_menhir.mly"
+ ( (None,P.id2name _1) )
+# 26984 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21933 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_meta_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1330 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 21942 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1380 "parser_cocci_menhir.mly"
+ ( _1 )
+# 27008 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21968 "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__2_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1333 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 21976 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1381 "parser_cocci_menhir.mly"
+ ( (None, "identifier") )
+# 27030 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22002 "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__2_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1335 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 22010 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1382 "parser_cocci_menhir.mly"
+ ( (None, "expression") )
+# 27052 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22046 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22052 "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_ =
-# 1337 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22062 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1383 "parser_cocci_menhir.mly"
+ ( (None, "statement") )
+# 27074 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_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_ =
-# 1323 "parser_cocci_menhir.mly"
- ( _1 )
-# 22086 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1384 "parser_cocci_menhir.mly"
+ ( (None, "function") )
+# 27096 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _4 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22122 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22128 "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_ =
-# 1325 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 22137 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1385 "parser_cocci_menhir.mly"
+ ( (None, "local") )
+# 27118 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22169 "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_ =
-# 1328 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 22177 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1386 "parser_cocci_menhir.mly"
+ ( (None, "type") )
+# 27140 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22209 "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_ =
-# 1330 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 22218 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1387 "parser_cocci_menhir.mly"
+ ( (None, "parameter") )
+# 27162 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22244 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ 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_postfix_expr_eexpr_invalid_ =
-# 1333 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 22252 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1388 "parser_cocci_menhir.mly"
+ ( (None, "idexpression") )
+# 27184 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22278 "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__2_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1335 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 22286 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1389 "parser_cocci_menhir.mly"
+ ( (None, "initialiser") )
+# 27206 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22322 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22328 "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_ =
-# 1337 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22338 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1390 "parser_cocci_menhir.mly"
+ ( (None, "list") )
+# 27228 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1323 "parser_cocci_menhir.mly"
- ( _1 )
-# 22362 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1391 "parser_cocci_menhir.mly"
+ ( (None, "fresh") )
+# 27250 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _4 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22398 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22404 "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_ =
-# 1325 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 22413 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1392 "parser_cocci_menhir.mly"
+ ( (None, "constant") )
+# 27272 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22445 "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_postfix_expr_eexpr_nest_expressions_ =
-# 1328 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 22453 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1393 "parser_cocci_menhir.mly"
+ ( (None, "error") )
+# 27294 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22485 "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_postfix_expr_eexpr_nest_expressions_ =
-# 1330 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 22494 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1394 "parser_cocci_menhir.mly"
+ ( (None, "words") )
+# 27316 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22520 "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__2_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1333 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 22528 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1395 "parser_cocci_menhir.mly"
+ ( (None, "pure") )
+# 27338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22554 "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__2_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1335 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 22562 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1396 "parser_cocci_menhir.mly"
+ ( (None, "context") )
+# 27360 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
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 = _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;
- };
- };
- };
+ (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 _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22598 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22604 "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_ =
-# 1337 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22614 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1397 "parser_cocci_menhir.mly"
+ ( (None, "generated") )
+# 27382 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_primary_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1323 "parser_cocci_menhir.mly"
- ( _1 )
-# 22638 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1398 "parser_cocci_menhir.mly"
+ ( (None, "typedef") )
+# 27404 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _4 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22674 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22680 "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__4_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1325 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 22689 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1399 "parser_cocci_menhir.mly"
+ ( (None, "declarer") )
+# 27426 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22721 "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_ =
-# 1328 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 22729 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1400 "parser_cocci_menhir.mly"
+ ( (None, "iterator") )
+# 27448 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22761 "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_ =
-# 1330 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 22770 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1401 "parser_cocci_menhir.mly"
+ ( (None, "name") )
+# 27470 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22796 "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_ =
-# 1333 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 22804 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1402 "parser_cocci_menhir.mly"
+ ( (None, "position") )
+# 27492 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
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 = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22830 "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_ =
-# 1335 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 22838 "parser_cocci_menhir.ml"
+ let l : 'tv_loption_not_ceq_ = 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_not_eq_not_ceq_ =
+# 1421 "parser_cocci_menhir.mly"
+ ( (i,l) )
+# 27522 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
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 = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22874 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22880 "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__4_ in
- let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1337 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22890 "parser_cocci_menhir.ml"
+ let l : 'tv_loption_not_eq_ = 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_not_eq_not_eq_ =
+# 1421 "parser_cocci_menhir.mly"
+ ( (i,l) )
+# 27552 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_func_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1342 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 22914 "parser_cocci_menhir.ml"
+ 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_eqe_ = 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_not_eq_not_eqe_ =
+# 1421 "parser_cocci_menhir.mly"
+ ( (i,l) )
+# 27582 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 22935 "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_ =
-# 1344 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 22943 "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_not_eq_not_pos_ =
+# 1421 "parser_cocci_menhir.mly"
+ ( (i,l) )
+# 27612 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 22964 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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_primary_expr_eexpr_dot_expressions_ =
-# 1347 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 22972 "parser_cocci_menhir.ml"
+ let _v : 'tv_pure_ident_or_meta_ident_with_seed =
+# 1405 "parser_cocci_menhir.mly"
+ ( (_1,Ast.NoVal) )
+# 27636 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_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 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 22993 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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 _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1350 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 23001 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_seed =
+# 1408 "parser_cocci_menhir.mly"
+ ( match _3 with
+ [Ast.SeedString s] -> (_1,Ast.StringSeed s)
+ | _ -> (_1,Ast.ListSeed _3) )
+# 27672 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23022 "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_ =
-# 1353 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 23030 "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 : (
+# 131 "parser_cocci_menhir.mly"
+ (unit)
+# 27689 "parser_cocci_menhir.ml"
+ ) =
+# 172 "parser_cocci_menhir.mly"
+ ( )
+# 27693 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23051 "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_primary_expr_eexpr_dot_expressions_ =
-# 1356 "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)) )
-# 23060 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 893 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
+# 27717 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 23081 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27743 "parser_cocci_menhir.ml"
+ ) = 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_primary_expr_eexpr_dot_expressions_ =
-# 1360 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 23089 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_rule_elem_statement =
+# 894 "parser_cocci_menhir.mly"
+ ( P.exp_stm _1 _2 )
+# 27751 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27782 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23110 "parser_cocci_menhir.ml"
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27788 "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_ =
-# 1363 "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)) )
-# 23119 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_rule_elem_statement =
+# 895 "parser_cocci_menhir.mly"
+ ( P.ret_exp _1 _2 _3 )
+# 27795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27821 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23140 "parser_cocci_menhir.ml"
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27826 "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_ =
-# 1367 "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)) )
-# 23149 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_rule_elem_statement =
+# 896 "parser_cocci_menhir.mly"
+ ( P.ret _1 _2 )
+# 27833 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27859 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23170 "parser_cocci_menhir.ml"
+# 58 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27864 "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_ =
-# 1371 "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)) )
-# 23179 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_rule_elem_statement =
+# 897 "parser_cocci_menhir.mly"
+ ( P.break _1 _2 )
+# 27871 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
(Data.clt)
-# 23210 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
+# 27897 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 23216 "parser_cocci_menhir.ml"
+# 27902 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1375 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 23224 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_rule_elem_statement =
+# 898 "parser_cocci_menhir.mly"
+ ( P.cont _1 _2 )
+# 27909 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _3 : (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 23255 "parser_cocci_menhir.ml"
+# 27940 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
let _1 : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 23261 "parser_cocci_menhir.ml"
+# 27946 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1378 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 23271 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_ =
-# 1382 "parser_cocci_menhir.mly"
- ( _1 )
-# 23295 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_ =
-# 1342 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 23319 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 900 "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)) )
+# 27957 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ 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.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23340 "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__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1344 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 23348 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 153 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 28013 "parser_cocci_menhir.ml"
+ ) = let nm =
+
+# 39 "standard.mly"
+ ( None )
+# 28018 "parser_cocci_menhir.ml"
+
+ in
+
+# 202 "parser_cocci_menhir.mly"
+ ( P.make_cocci_rule_name_result nm d i a e ee )
+# 28024 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__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 _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23369 "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_ =
-# 1347 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 23377 "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 : (
+# 153 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 28086 "parser_cocci_menhir.ml"
+ ) = let nm =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 28092 "parser_cocci_menhir.ml"
+
+ in
+
+# 202 "parser_cocci_menhir.mly"
+ ( P.make_cocci_rule_name_result nm d i a e ee )
+# 28098 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__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 _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23398 "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__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1350 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 23406 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__8_ in
+ let _v : (
+# 153 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 28158 "parser_cocci_menhir.ml"
+ ) =
+# 207 "parser_cocci_menhir.mly"
+ ( P.make_generated_rule_name_result None d i a e ee )
+# 28162 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__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 _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23427 "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__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1353 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 23435 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : (
+# 153 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 28204 "parser_cocci_menhir.ml"
+ ) =
+# 209 "parser_cocci_menhir.mly"
+ ( P.make_script_rule_name_result lang d )
+# 28208 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23456 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1356 "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)) )
-# 23465 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 153 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 28244 "parser_cocci_menhir.ml"
+ ) =
+# 211 "parser_cocci_menhir.mly"
+ ( P.make_initial_script_rule_name_result lang )
+# 28248 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 23486 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1360 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 23494 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 153 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 28284 "parser_cocci_menhir.ml"
+ ) =
+# 213 "parser_cocci_menhir.mly"
+ ( P.make_final_script_rule_name_result lang )
+# 28288 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = cocci;
+ MenhirLib.EngineTypes.startp = _startpos_cocci_;
+ MenhirLib.EngineTypes.endp = _endpos_cocci_;
+ MenhirLib.EngineTypes.next = {
+ 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.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;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23515 "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_ =
-# 1363 "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)) )
-# 23524 "parser_cocci_menhir.ml"
+ let cocci : 'tv_pure_ident = Obj.magic cocci in
+ let _3 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 28332 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let py : 'tv_pure_ident = Obj.magic py in
+ let _startpos = _startpos_py_ in
+ let _endpos = _endpos__6_ in
+ let _v : (
+# 159 "parser_cocci_menhir.mly"
+ (string * (string * string))
+# 28340 "parser_cocci_menhir.ml"
+ ) =
+# 1887 "parser_cocci_menhir.mly"
+ ( (P.id2name py, (_3, P.id2name cocci)) )
+# 28344 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23545 "parser_cocci_menhir.ml"
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28365 "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_ =
-# 1367 "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)) )
-# 23554 "parser_cocci_menhir.ml"
+ let _v : 'tv_seed_elem =
+# 1413 "parser_cocci_menhir.mly"
+ ( let (x,_) = _1 in Ast.SeedString x )
+# 28372 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23575 "parser_cocci_menhir.ml"
+# 61 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 28393 "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_ =
-# 1371 "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)) )
-# 23584 "parser_cocci_menhir.ml"
+ let _v : 'tv_seed_elem =
+# 1414 "parser_cocci_menhir.mly"
+ ( let (x,_,_,_) = _1 in Ast.SeedId x )
+# 28400 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 23615 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 23621 "parser_cocci_menhir.ml"
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 28431 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1375 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 23629 "parser_cocci_menhir.ml"
+ let _v : 'tv_seed_elem =
+# 1416 "parser_cocci_menhir.mly"
+ ( let nm = (_1,P.id2name _3) in
+ P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
+ Ast.SeedId nm )
+# 28440 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28461 "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 ] )
+# 28468 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 23660 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 23666 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1378 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 23676 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
+ let x : (
+# 87 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 28499 "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 )
+# 28506 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_invalid = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1382 "parser_cocci_menhir.mly"
- ( _1 )
-# 23700 "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 ] )
+# 28530 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_func_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1342 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 23724 "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 )
+# 28564 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23745 "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_ =
-# 1344 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 23753 "parser_cocci_menhir.ml"
+ 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 ] )
+# 28588 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23774 "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_ =
-# 1347 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 23782 "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 )
+# 28622 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23803 "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_ =
-# 1350 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 23811 "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 ] )
+# 28646 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23832 "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_ =
-# 1353 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 23840 "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 )
+# 28680 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23861 "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_ =
-# 1356 "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)) )
-# 23870 "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 ] )
+# 28704 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 23891 "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_ =
-# 1360 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 23899 "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 )
+# 28738 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23920 "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_ =
-# 1363 "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)) )
-# 23929 "parser_cocci_menhir.ml"
+ 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 ] )
+# 28762 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23950 "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_ =
-# 1367 "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)) )
-# 23959 "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 )
+# 28796 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23980 "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_ =
-# 1371 "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)) )
-# 23989 "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 ] )
+# 28820 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24020 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24026 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1375 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 24034 "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 )
+# 28854 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.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 = 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 ] )
+# 28878 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
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 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24065 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24071 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1378 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 24081 "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 )
+# 28912 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_nest_expressions = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1382 "parser_cocci_menhir.mly"
- ( _1 )
-# 24105 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = 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_not_eq_not_ceq__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 28936 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.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_func_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_expr_invalid_ =
-# 1342 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 24129 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = 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_not_eq_not_ceq__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 28970 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24150 "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_ =
-# 1344 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 24158 "parser_cocci_menhir.ml"
+ } = _menhir_stack in
+ let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = 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_not_eq_not_eq__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 28994 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24179 "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_ =
-# 1347 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 24187 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = 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_not_eq_not_eq__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 29028 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24208 "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_ =
-# 1350 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 24216 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = 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_not_eq_not_eqe__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 29052 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24237 "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_ =
-# 1353 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 24245 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = 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_not_eq_not_eqe__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 29086 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 24266 "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_ =
-# 1356 "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)) )
-# 24275 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_not_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_not_eq_not_pos__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 29110 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 24296 "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_ =
-# 1360 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 24304 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_not_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_not_eq_not_pos__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 29144 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 24325 "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_ =
-# 1363 "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)) )
-# 24334 "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 ] )
+# 29168 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 24355 "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_ =
-# 1367 "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)) )
-# 24364 "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 )
+# 29202 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 24385 "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_ =
-# 1371 "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)) )
-# 24394 "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 ] )
+# 29226 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24425 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24431 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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 )
+# 29260 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_statement = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_primary_expr_expr_invalid_ =
-# 1375 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 24439 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_single_statement =
+# 908 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29284 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _3 : (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 24470 "parser_cocci_menhir.ml"
+# 29315 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
+ let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
let _1 : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 24476 "parser_cocci_menhir.ml"
+# 29321 "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_ =
-# 1378 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 24486 "parser_cocci_menhir.ml"
+ let _v : 'tv_single_statement =
+# 912 "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)) )
+# 29332 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_invalid = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_expr_invalid_ =
-# 1382 "parser_cocci_menhir.mly"
- ( _1 )
-# 24510 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 _1 : 'tv_includes = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure =
-# 190 "parser_cocci_menhir.mly"
- ( Ast0.Pure )
-# 24532 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 835 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29356 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 29377 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure =
-# 191 "parser_cocci_menhir.mly"
- ( Ast0.Context )
-# 24554 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 837 "parser_cocci_menhir.mly"
+ ( P.meta_stm _1 )
+# 29384 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29410 "parser_cocci_menhir.ml"
+ ) = 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_pure =
-# 192 "parser_cocci_menhir.mly"
- ( Ast0.PureContext )
-# 24580 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 839 "parser_cocci_menhir.mly"
+ ( P.exp_stm _1 _2 )
+# 29418 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
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 = _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 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29460 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29466 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29471 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_pure =
-# 193 "parser_cocci_menhir.mly"
- ( Ast0.PureContext )
-# 24606 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 841 "parser_cocci_menhir.mly"
+ ( P.ifthen _1 _2 _3 _4 _5 )
+# 29478 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_pure =
-# 194 "parser_cocci_menhir.mly"
- ( Ast0.Impure )
-# 24623 "parser_cocci_menhir.ml"
+ 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.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 _7 : 'tv_single_statement = Obj.magic _7 in
+ let _6 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29530 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29536 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29542 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29547 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_statement =
+# 843 "parser_cocci_menhir.mly"
+ ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
+# 29554 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _9;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ 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 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29616 "parser_cocci_menhir.ml"
+ ) = Obj.magic _8 in
+ let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
+ let _6 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29622 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
+ let _4 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29628 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29634 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24644 "parser_cocci_menhir.ml"
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29639 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident =
-# 1396 "parser_cocci_menhir.mly"
- ( _1 )
-# 24651 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_pure_ident_or_meta_ident =
-# 1402 "parser_cocci_menhir.mly"
- ( (None,P.id2name _1) )
-# 24675 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_statement =
+# 846 "parser_cocci_menhir.mly"
+ ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
+# 29646 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _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 _1 : 'tv_meta_ident = Obj.magic _1 in
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29688 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29694 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29699 "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 =
-# 1403 "parser_cocci_menhir.mly"
- ( _1 )
-# 24699 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 848 "parser_cocci_menhir.mly"
+ ( P.whileloop _1 _2 _3 _4 _5 )
+# 29706 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _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 _7 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29757 "parser_cocci_menhir.ml"
+ ) = Obj.magic _7 in
+ let _6 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29762 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_eexpr = Obj.magic _5 in
+ let _4 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29768 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29773 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_single_statement = Obj.magic _2 in
+ let _1 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29779 "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 =
-# 1404 "parser_cocci_menhir.mly"
- ( (None,"list") )
-# 24721 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_statement =
+# 850 "parser_cocci_menhir.mly"
+ ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
+# 29786 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _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 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29828 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29834 "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__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1405 "parser_cocci_menhir.mly"
- ( (None,"error") )
-# 24743 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 852 "parser_cocci_menhir.mly"
+ ( P.iterator _1 _2 _3 _4 _5 )
+# 29842 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _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 _7 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29893 "parser_cocci_menhir.ml"
+ ) = Obj.magic _7 in
+ let _6 : 'tv_list_case_line_ = Obj.magic _6 in
+ let _5 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29899 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29904 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29910 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29915 "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 =
-# 1406 "parser_cocci_menhir.mly"
- ( (None,"type") )
-# 24765 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_statement =
+# 854 "parser_cocci_menhir.mly"
+ ( P.switch _1 _2 _3 _4 _5 _6 _7 )
+# 29922 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29953 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29959 "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 =
-# 1407 "parser_cocci_menhir.mly"
- ( (None,"name") )
-# 24787 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_statement =
+# 855 "parser_cocci_menhir.mly"
+ ( P.ret_exp _1 _2 _3 )
+# 29966 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.semv = _2;
+ 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let l : 'tv_loption_not_ceq_ = 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_not_eq_not_ceq_ =
-# 1414 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24817 "parser_cocci_menhir.ml"
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29992 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 57 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29997 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 856 "parser_cocci_menhir.mly"
+ ( P.ret _1 _2 )
+# 30004 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.semv = _2;
+ 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let l : 'tv_loption_not_eq_ = 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_not_eq_not_eq_ =
-# 1414 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24847 "parser_cocci_menhir.ml"
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30030 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 58 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30035 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 857 "parser_cocci_menhir.mly"
+ ( P.break _1 _2 )
+# 30042 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.semv = _2;
+ 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let l : 'tv_loption_not_eqe_ = 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_not_eq_not_eqe_ =
-# 1414 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24877 "parser_cocci_menhir.ml"
+ let _2 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30068 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 58 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30073 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 858 "parser_cocci_menhir.mly"
+ ( P.cont _1 _2 )
+# 30080 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(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.semv = _2;
+ 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
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_not_eq_not_pos_ =
-# 1414 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24907 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 _2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30106 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_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 =
-# 1410 "parser_cocci_menhir.mly"
- ( (_1,None) )
-# 24931 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 859 "parser_cocci_menhir.mly"
+ ( P.label _1 _2 )
+# 30114 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ 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 = {
};
};
} = _menhir_stack in
- let s : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24961 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
+ let _3 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30145 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_ident = Obj.magic _2 in
+ let _1 : (
+# 58 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30151 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_pure_ident_or_meta_ident_with_seed =
-# 1411 "parser_cocci_menhir.mly"
- ( (_1,Some (P.id2name s)) )
-# 24969 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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 : (
-# 131 "parser_cocci_menhir.mly"
- (unit)
-# 24986 "parser_cocci_menhir.ml"
- ) =
-# 172 "parser_cocci_menhir.mly"
- ( )
-# 24990 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_statement =
+# 860 "parser_cocci_menhir.mly"
+ ( P.goto _1 _2 _3 )
+# 30158 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_one_decl_var = Obj.magic _1 in
+ let _3 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30189 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_fun_start = Obj.magic _2 in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30195 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_rule_elem_statement =
-# 916 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 25014 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_statement =
+# 862 "parser_cocci_menhir.mly"
+ ( P.seq _1 _2 _3 )
+# 30202 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = 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.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
+ let w : 'tv_list_whenppdecs_ = Obj.magic w in
+ let _1 : (
+# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 25040 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+# 30229 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_rule_elem_statement =
-# 917 "parser_cocci_menhir.mly"
- ( P.exp_stm _1 _2 )
-# 25048 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_w_ in
+ let _v : 'tv_stm_dots =
+# 866 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
+# 30236 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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.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 _3 : (
-# 107 "parser_cocci_menhir.mly"
+ let c : (
+# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 25079 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
+# 30272 "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 : (
-# 57 "parser_cocci_menhir.mly"
+# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 25085 "parser_cocci_menhir.ml"
+# 30279 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_rule_elem_statement =
-# 918 "parser_cocci_menhir.mly"
- ( P.ret_exp _1 _2 _3 )
-# 25092 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_stm_dots =
+# 868 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 30287 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- 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.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 _2 : (
-# 107 "parser_cocci_menhir.mly"
+ let c : (
+# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 25118 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
+# 30323 "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 : (
-# 57 "parser_cocci_menhir.mly"
+# 73 "parser_cocci_menhir.mly"
(Data.clt)
-# 25123 "parser_cocci_menhir.ml"
+# 30330 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_rule_elem_statement =
-# 919 "parser_cocci_menhir.mly"
- ( P.ret _1 _2 )
-# 25130 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_stm_dots =
+# 871 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 30338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25156 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25161 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_rule_elem_statement =
-# 920 "parser_cocci_menhir.mly"
- ( P.break _1 _2 )
-# 25168 "parser_cocci_menhir.ml"
+ let s : (
+# 53 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30359 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 797 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Static s )
+# 30366 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 53 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30387 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 798 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Auto s )
+# 30394 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 53 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30415 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 799 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Register s )
+# 30422 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 53 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30443 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 800 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Extern s )
+# 30450 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25194 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25199 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_rule_elem_statement =
-# 921 "parser_cocci_menhir.mly"
- ( P.cont _1 _2 )
-# 25206 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl =
+# 555 "parser_cocci_menhir.mly"
+ ( [] )
+# 30472 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
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.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25237 "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 : (
-# 76 "parser_cocci_menhir.mly"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
(Data.clt)
-# 25243 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_rule_elem_statement =
-# 923 "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)) )
-# 25254 "parser_cocci_menhir.ml"
+# 30503 "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 =
+# 557 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
+# 30513 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ee;
- MenhirLib.EngineTypes.startp = _startpos_ee_;
- MenhirLib.EngineTypes.endp = _endpos_ee_;
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ 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.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 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 : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25310 "parser_cocci_menhir.ml"
- ) = let nm =
-
-# 39 "standard.mly"
- ( None )
-# 25315 "parser_cocci_menhir.ml"
-
- in
-
-# 202 "parser_cocci_menhir.mly"
- ( P.make_cocci_rule_name_result nm d i a e ee )
-# 25321 "parser_cocci_menhir.ml"
+ let pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30574 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30579 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30585 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30590 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 99 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30596 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30601 "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 =
+# 561 "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))] )
+# 30615 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__8_;
- MenhirLib.EngineTypes.endp = _endpos__8_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ee;
- MenhirLib.EngineTypes.startp = _startpos_ee_;
- MenhirLib.EngineTypes.endp = _endpos_ee_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
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;
- };
- };
- };
- };
+ 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 : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30646 "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 = let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 30656 "parser_cocci_menhir.ml"
+
+ in
+
+# 569 "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))] )
+# 30664 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.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 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 pv : (
+# 107 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30700 "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__8_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25383 "parser_cocci_menhir.ml"
- ) = let nm =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl = let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 25389 "parser_cocci_menhir.ml"
+# 30712 "parser_cocci_menhir.ml"
in
-# 202 "parser_cocci_menhir.mly"
- ( P.make_cocci_rule_name_result nm d i a e ee )
-# 25395 "parser_cocci_menhir.ml"
+# 569 "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))] )
+# 30720 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__8_;
- MenhirLib.EngineTypes.endp = _endpos__8_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ee;
- MenhirLib.EngineTypes.startp = _startpos_ee_;
- MenhirLib.EngineTypes.endp = _endpos_ee_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_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 _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__8_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25455 "parser_cocci_menhir.ml"
- ) =
-# 207 "parser_cocci_menhir.mly"
- ( P.make_generated_rule_name_result None d i a e ee )
-# 25459 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_list =
+# 574 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 30744 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lang;
- MenhirLib.EngineTypes.startp = _startpos_lang_;
- MenhirLib.EngineTypes.endp = _endpos_lang_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ 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_struct_decl = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25501 "parser_cocci_menhir.ml"
- ) =
-# 209 "parser_cocci_menhir.mly"
- ( P.make_script_rule_name_result lang d )
-# 25505 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_list_start =
+# 577 "parser_cocci_menhir.mly"
+ ( _1 )
+# 30768 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let lang : 'tv_pure_ident = Obj.magic lang 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__4_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25541 "parser_cocci_menhir.ml"
- ) =
-# 211 "parser_cocci_menhir.mly"
- ( P.make_initial_script_rule_name_result lang )
-# 25545 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_struct_decl_list_start =
+# 578 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 30798 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
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.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let lang : 'tv_pure_ident = Obj.magic lang in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25581 "parser_cocci_menhir.ml"
- ) =
-# 213 "parser_cocci_menhir.mly"
- ( P.make_final_script_rule_name_result lang )
-# 25585 "parser_cocci_menhir.ml"
+ let r : 'tv_continue_struct_decl_list = Obj.magic r in
+ let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_struct_decl_list_start =
+# 580 "parser_cocci_menhir.mly"
+ ( (P.mkddots "..." d)::r )
+# 30828 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = cocci;
- MenhirLib.EngineTypes.startp = _startpos_cocci_;
- MenhirLib.EngineTypes.endp = _endpos_cocci_;
- MenhirLib.EngineTypes.next = {
- 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.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 = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let s : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30849 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_struct_or_union =
+# 551 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Struct s )
+# 30856 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = u;
+ MenhirLib.EngineTypes.startp = _startpos_u_;
+ MenhirLib.EngineTypes.endp = _endpos_u_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let cocci : 'tv_pure_ident = Obj.magic cocci in
- let _3 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 25629 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let py : 'tv_pure_ident = Obj.magic py in
- let _startpos = _startpos_py_ in
- let _endpos = _endpos__6_ in
- let _v : (
-# 159 "parser_cocci_menhir.mly"
- (string * (string * string))
-# 25637 "parser_cocci_menhir.ml"
- ) =
-# 1879 "parser_cocci_menhir.mly"
- ( (P.id2name py, (_3, P.id2name cocci)) )
-# 25641 "parser_cocci_menhir.ml"
+ let u : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30877 "parser_cocci_menhir.ml"
+ ) = Obj.magic u in
+ let _startpos = _startpos_u_ in
+ let _endpos = _endpos_u_ in
+ let _v : 'tv_struct_or_union =
+# 552 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Union u )
+# 30884 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 25662 "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 ] )
-# 25669 "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 =
+# 1187 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
+# 30908 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
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_TString_ = Obj.magic xs in
- let x : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 25700 "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 )
-# 25707 "parser_cocci_menhir.ml"
+ let _3 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30939 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30945 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_top_init =
+# 1665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
+# 30952 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_toplevel_after_dots =
+# 1653 "parser_cocci_menhir.mly"
+ ([])
+# 30969 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 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 ] )
-# 25731 "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 =
+# 1654 "parser_cocci_menhir.mly"
+ (_2)
+# 30997 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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_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 )
-# 25765 "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 =
+# 1655 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 31027 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_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 ] )
-# 25789 "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 =
+# 1656 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 31057 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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 )
-# 25823 "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 =
+# 1644 "parser_cocci_menhir.mly"
+ (_2)
+# 31085 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_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 ] )
-# 25847 "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 =
+# 1645 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 31115 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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_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 )
-# 25881 "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_init =
+# 1646 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 31145 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let x : 'tv_dexpr = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_separated_nonempty_list_TComma_dexpr_ =
-# 144 "standard.mly"
- ( [ x ] )
-# 25905 "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 =
+# 1649 "parser_cocci_menhir.mly"
+ ([])
+# 31162 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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_dexpr_ = Obj.magic xs in
- let x : 'tv_dexpr = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_separated_nonempty_list_TComma_dexpr_ =
-# 146 "standard.mly"
- ( x :: xs )
-# 25939 "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 =
+# 1650 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 31192 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _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 ] )
-# 25963 "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_stm =
+# 1659 "parser_cocci_menhir.mly"
+ ([])
+# 31209 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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_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 )
-# 25997 "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 =
+# 1660 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 31239 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_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 ] )
-# 26021 "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 =
+# 1661 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 31269 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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_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 )
-# 26055 "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_ =
+# 1639 "parser_cocci_menhir.mly"
+ ( _1::_2 )
+# 31299 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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 = 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 ] )
-# 26079 "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_ =
+# 1640 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
+# 31329 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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_ = 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 )
-# 26113 "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_ =
+# 1641 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 31359 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ 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;
+ };
+ };
} = _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 ] )
-# 26137 "parser_cocci_menhir.ml"
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
+ let a0 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31392 "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
+
+# 876 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
+# 31402 "parser_cocci_menhir.ml"
+
+ in
+
+# 1632 "parser_cocci_menhir.mly"
+ ( a::b )
+# 31408 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
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 = 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;
+ };
+ };
};
};
} = _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 )
-# 26171 "parser_cocci_menhir.ml"
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let c0 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31450 "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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31457 "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
+
+# 880 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 31470 "parser_cocci_menhir.ml"
+
+ in
+
+# 1633 "parser_cocci_menhir.mly"
+ ( a::b )
+# 31476 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = 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_not_eq_not_ceq__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 26195 "parser_cocci_menhir.ml"
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let c0 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31518 "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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31525 "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
+
+# 883 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 31538 "parser_cocci_menhir.ml"
+
+ in
+
+# 1633 "parser_cocci_menhir.mly"
+ ( a::b )
+# 31544 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- 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 xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = 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_not_eq_not_ceq__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 26229 "parser_cocci_menhir.ml"
+ let c0 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31580 "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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31587 "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
+
+# 880 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 31600 "parser_cocci_menhir.ml"
+
+ in
+
+# 1634 "parser_cocci_menhir.mly"
+ ( [a] )
+# 31606 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = 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_not_eq_not_eq__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 26253 "parser_cocci_menhir.ml"
+ let c0 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31642 "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 : (
+# 73 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31649 "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
+
+# 883 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 31662 "parser_cocci_menhir.ml"
+
+ in
+
+# 1634 "parser_cocci_menhir.mly"
+ ( [a] )
+# 31668 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _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 = 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_not_eq_not_eq__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = 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_not_eq_not_eq__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 26287 "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_ =
+# 1635 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
+# 31698 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_not_eq_not_eqe_ = 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_not_eq_not_eqe__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 26311 "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_ =
+# 1636 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 31728 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = 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_not_eq_not_eqe__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 26345 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31760 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31765 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 31777 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 31783 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 31790 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 31796 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 x : 'tv_pure_ident_or_meta_ident_with_not_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_not_eq_not_pos__ =
-# 144 "standard.mly"
- ( [ x ] )
-# 26369 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31828 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31833 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 31845 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 31851 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 31858 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 31864 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic xs in
- let x : 'tv_pure_ident_or_meta_ident_with_not_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_not_eq_not_pos__ =
-# 146 "standard.mly"
- ( x :: xs )
-# 26403 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31896 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31901 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 31913 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 31919 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 31926 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 31932 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 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 ] )
-# 26427 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 31964 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31969 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 31982 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 31988 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 31995 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32001 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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;
+ };
+ };
};
};
} = _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 )
-# 26461 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 32042 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 32047 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32052 "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
+
+# 478 "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*))) )
+# 32071 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 32077 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32084 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32090 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : 'tv_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_single_statement =
-# 931 "parser_cocci_menhir.mly"
- ( _1 )
-# 26485 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32122 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32127 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 32139 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 32145 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32152 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32158 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26516 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26522 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_single_statement =
-# 935 "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)) )
-# 26533 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32195 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32200 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32205 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 32222 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 32228 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32235 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32241 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : 'tv_includes = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_statement =
-# 858 "parser_cocci_menhir.mly"
- ( _1 )
-# 26557 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32273 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32278 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 32290 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 32296 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32303 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32309 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 26578 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_statement =
-# 860 "parser_cocci_menhir.mly"
- ( P.meta_stm _1 )
-# 26585 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32341 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32346 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 32358 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 32364 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32371 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32377 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26611 "parser_cocci_menhir.ml"
- ) = 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_statement =
-# 862 "parser_cocci_menhir.mly"
- ( P.exp_stm _1 _2 )
-# 26619 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32409 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32414 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 32426 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 32432 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32439 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32445 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26661 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26667 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26672 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_statement =
-# 864 "parser_cocci_menhir.mly"
- ( P.ifthen _1 _2 _3 _4 _5 )
-# 26679 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 32477 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32482 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 32495 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 32501 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32508 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32514 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _7;
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _6;
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ 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 = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
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 = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let _7 : 'tv_single_statement = Obj.magic _7 in
- let _6 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26731 "parser_cocci_menhir.ml"
- ) = Obj.magic _6 in
- let _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26737 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26743 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26748 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_statement =
-# 866 "parser_cocci_menhir.mly"
- ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 26755 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 32555 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 32560 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32565 "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
+
+# 478 "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*))) )
+# 32584 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 32590 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32597 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32603 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _9;
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
- MenhirLib.EngineTypes.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;
- };
- };
- };
- };
- };
- };
+ 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 _9 : 'tv_single_statement = Obj.magic _9 in
- let _8 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26817 "parser_cocci_menhir.ml"
- ) = Obj.magic _8 in
- let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
- let _6 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26823 "parser_cocci_menhir.ml"
- ) = Obj.magic _6 in
- let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
- let _4 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26829 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26835 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26840 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__9_ in
- let _v : 'tv_statement =
-# 869 "parser_cocci_menhir.mly"
- ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 26847 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32635 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32640 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 32652 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 32658 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32665 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32671 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26889 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26895 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26900 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_statement =
-# 871 "parser_cocci_menhir.mly"
- ( P.whileloop _1 _2 _3 _4 _5 )
-# 26907 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32708 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32713 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32718 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 32735 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 32741 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32748 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32754 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _7;
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _7 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26958 "parser_cocci_menhir.ml"
- ) = Obj.magic _7 in
- let _6 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26963 "parser_cocci_menhir.ml"
- ) = Obj.magic _6 in
- let _5 : 'tv_eexpr = Obj.magic _5 in
- let _4 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26969 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26974 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_single_statement = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26980 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_statement =
-# 873 "parser_cocci_menhir.mly"
- ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 26987 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32781 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 32792 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 32798 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32805 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32811 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = 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 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32838 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 32849 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 32855 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32862 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32868 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27029 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27035 "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 =
-# 875 "parser_cocci_menhir.mly"
- ( P.iterator _1 _2 _3 _4 _5 )
-# 27043 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 32895 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 32906 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 32912 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32919 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32925 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _7;
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _7 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27094 "parser_cocci_menhir.ml"
- ) = Obj.magic _7 in
- let _6 : 'tv_list_case_line_ = Obj.magic _6 in
- let _5 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27100 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27105 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27111 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27116 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_statement =
-# 877 "parser_cocci_menhir.mly"
- ( P.switch _1 _2 _3 _4 _5 _6 _7 )
-# 27123 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 32952 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 32964 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 32970 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 32977 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 32983 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _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 = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
- let _3 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27154 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27160 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 878 "parser_cocci_menhir.mly"
- ( P.ret_exp _1 _2 _3 )
-# 27167 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 33019 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 33024 "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
+
+# 478 "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*))) )
+# 33042 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 33048 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33055 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33061 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27193 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27198 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 879 "parser_cocci_menhir.mly"
- ( P.ret _1 _2 )
-# 27205 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33088 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 33099 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 33105 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33112 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33118 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ 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;
+ };
};
- } = _menhir_stack in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27231 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27236 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 880 "parser_cocci_menhir.mly"
- ( P.break _1 _2 )
-# 27243 "parser_cocci_menhir.ml"
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33150 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33155 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 33171 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 33177 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33184 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33190 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27269 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27274 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 881 "parser_cocci_menhir.mly"
- ( P.cont _1 _2 )
-# 27281 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33217 "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
+
+# 495 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 33228 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33234 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33241 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33247 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27307 "parser_cocci_menhir.ml"
- ) = 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_statement =
-# 882 "parser_cocci_menhir.mly"
- ( P.label _1 _2 )
-# 27315 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33274 "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
+
+# 497 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 33285 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33291 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33298 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33304 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27346 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_ident = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27352 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 883 "parser_cocci_menhir.mly"
- ( P.goto _1 _2 _3 )
-# 27359 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33331 "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
+
+# 499 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 33342 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33348 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33355 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33361 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27390 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_fun_start = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27396 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 885 "parser_cocci_menhir.mly"
- ( P.seq _1 _2 _3 )
-# 27403 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33394 "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
+
+# 501 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
+# 33407 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33413 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33420 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33426 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
};
} = _menhir_stack in
- let w : 'tv_list_whenppdecs_ = Obj.magic w in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27430 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_w_ in
- let _v : 'tv_stm_dots =
-# 889 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 27437 "parser_cocci_menhir.ml"
+ 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
+
+# 503 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 33468 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33474 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33481 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33487 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
};
};
};
} = _menhir_stack in
- let c : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27473 "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 : (
-# 73 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 27480 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_stm_dots =
-# 891 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
- P.clt2mcode "...>" c, List.concat w, false)) )
-# 27488 "parser_cocci_menhir.ml"
+# 33529 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33535 "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 )
+# 33554 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 33564 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33570 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33577 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33583 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
+ };
};
};
};
} = _menhir_stack in
- let c : (
-# 73 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 27524 "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 : (
-# 73 "parser_cocci_menhir.mly"
+# 33630 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 27531 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_stm_dots =
-# 894 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
- P.clt2mcode "...+>" c, List.concat w, true)) )
-# 27539 "parser_cocci_menhir.ml"
+# 33636 "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 )
+# 33659 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 33669 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33675 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33682 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33688 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let s : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27560 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 816 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Static s )
-# 27567 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33730 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33736 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 33741 "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
+
+# 512 "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)) )
+# 33760 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33766 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33773 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33779 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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;
+ };
} = _menhir_stack in
- let s : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27588 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 817 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Auto s )
-# 27595 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 33806 "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
+
+# 516 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 33817 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 33823 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 33830 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33836 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 s : (
-# 53 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 27616 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 818 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Register s )
-# 27623 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 : (
-# 53 "parser_cocci_menhir.mly"
+# 33873 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
(Data.clt)
-# 27644 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 819 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Extern s )
-# 27651 "parser_cocci_menhir.ml"
+# 33878 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 33891 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 33897 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 33905 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33911 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33948 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33953 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 33966 "parser_cocci_menhir.ml"
+
+ in
+
# 521 "parser_cocci_menhir.mly"
- ( [] )
-# 27673 "parser_cocci_menhir.ml"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 33972 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 33980 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 33986 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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 = 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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27704 "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 =
-# 523 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 27714 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34023 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34028 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 34041 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 34047 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34055 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34061 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27775 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27780 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27786 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27791 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27797 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27802 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_fn_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl =
-# 527 "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))] )
-# 27816 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 34098 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34103 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 34117 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 34123 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34131 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34137 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27847 "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 = let cv =
+ 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;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 34183 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 34188 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34193 "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
+
+# 478 "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*))) )
+# 34213 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 27857 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 34219 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34227 "parser_cocci_menhir.ml"
in
-# 535 "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))] )
-# 27865 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34233 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ 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;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27901 "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 m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34270 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34275 "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_pv_ in
- let _v : 'tv_struct_decl = let cv =
+ 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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 34288 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 34294 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 27913 "parser_cocci_menhir.ml"
+# 34302 "parser_cocci_menhir.ml"
in
-# 535 "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))] )
-# 27921 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_struct_decl_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list =
-# 540 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 27945 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_struct_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list_start =
-# 543 "parser_cocci_menhir.mly"
- ( _1 )
-# 27969 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34308 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
+ };
+ };
};
} = _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 =
-# 544 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 27999 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34350 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34355 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34360 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 34378 "parser_cocci_menhir.ml"
+
+ in
+
+# 521 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 34384 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34392 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34398 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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.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 r : 'tv_continue_struct_decl_list = Obj.magic r in
- let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_struct_decl_list_start =
-# 546 "parser_cocci_menhir.mly"
- ( (P.mkddots "..." d)::r )
-# 28029 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34435 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34440 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 34453 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 34459 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34467 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34473 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 s : (
-# 50 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34510 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
(Data.clt)
-# 28050 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_struct_or_union =
-# 517 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Struct s )
-# 28057 "parser_cocci_menhir.ml"
+# 34515 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 34528 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 34534 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34542 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34548 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = u;
- MenhirLib.EngineTypes.startp = _startpos_u_;
- MenhirLib.EngineTypes.endp = _endpos_u_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 u : (
-# 50 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
(Data.clt)
-# 28078 "parser_cocci_menhir.ml"
- ) = Obj.magic u in
- let _startpos = _startpos_u_ in
- let _endpos = _endpos_u_ in
- let _v : 'tv_struct_or_union =
-# 518 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Union u )
-# 28085 "parser_cocci_menhir.ml"
+# 34585 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34590 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 34603 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 34609 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34617 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34623 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.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 = 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;
+ };
+ };
+ };
} = _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 =
-# 1210 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 28109 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 34660 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34665 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 34679 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 34685 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34693 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34699 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _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 = 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;
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28140 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_initialize_list = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28146 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_top_init =
-# 1652 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 28153 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_dots =
-# 1640 "parser_cocci_menhir.mly"
- ([])
-# 28170 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 34745 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 34750 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34755 "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
+
+# 478 "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*))) )
+# 34775 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 34781 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34789 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = 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.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 _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 =
-# 1641 "parser_cocci_menhir.mly"
- (_2)
-# 28198 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34832 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34837 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 34850 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 34856 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34864 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34870 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
+ };
+ };
};
} = _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 =
-# 1642 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 28228 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34912 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34917 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 51 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34922 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 34940 "parser_cocci_menhir.ml"
+
+ in
+
+# 523 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 34946 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 34954 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 34960 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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 =
-# 1643 "parser_cocci_menhir.mly"
- (_1@_2)
-# 28258 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 34992 "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
+
+# 469 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 35004 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 35010 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35018 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35024 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = 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.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 _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 =
-# 1631 "parser_cocci_menhir.mly"
- (_2)
-# 28286 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35056 "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
+
+# 471 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 35068 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 35074 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35082 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35088 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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 =
-# 1632 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 28316 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35120 "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
+
+# 473 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 35132 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 35138 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35146 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35152 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
};
} = _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 =
-# 1633 "parser_cocci_menhir.mly"
- (_1@_2)
-# 28346 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_exp =
-# 1636 "parser_cocci_menhir.mly"
- ([])
-# 28363 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 35184 "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
+
+# 475 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 35197 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 35203 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35211 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35217 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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 =
-# 1637 "parser_cocci_menhir.mly"
- (_1::_2)
-# 28393 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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 =
-# 1646 "parser_cocci_menhir.mly"
- ([])
-# 28410 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 35258 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 47 "parser_cocci_menhir.mly"
+ (string)
+# 35263 "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
+
+# 478 "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*))) )
+# 35282 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 35288 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35296 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35302 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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 =
-# 1647 "parser_cocci_menhir.mly"
- (_1::_2)
-# 28440 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35334 "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
+
+# 485 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 35346 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 35352 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35360 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35366 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
+ };
};
} = _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 =
-# 1648 "parser_cocci_menhir.mly"
- (_1@_2)
-# 28470 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35403 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35408 "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
+
+# 487 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 35425 "parser_cocci_menhir.ml"
+
+ in
+
+# 524 "parser_cocci_menhir.mly"
+ ( ty )
+# 35431 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35439 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35445 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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_ =
-# 1626 "parser_cocci_menhir.mly"
- ( _1::_2 )
-# 28500 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35477 "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
+
+# 495 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 35489 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 35495 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35503 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35509 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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_ =
-# 1627 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 28530 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35541 "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
+
+# 497 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 35553 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 35559 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35567 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35573 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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 _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_ =
-# 1628 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 28560 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 49 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35605 "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
+
+# 499 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 35617 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 35623 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35631 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35637 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
+ 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 = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 b : 'tv_toplevel_after_dots_init = Obj.magic b in
- let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
- let a0 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28593 "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
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 50 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35675 "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
+
+# 501 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
+# 35689 "parser_cocci_menhir.ml"
+
+ in
-# 899 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
-# 28603 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 35695 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35703 "parser_cocci_menhir.ml"
in
-# 1619 "parser_cocci_menhir.mly"
- ( a::b )
-# 28609 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35709 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let b : 'tv_toplevel_after_dots_init = Obj.magic b in
- let c0 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28651 "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 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28658 "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
+ 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
+
+# 503 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 35757 "parser_cocci_menhir.ml"
+
+ in
-# 903 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
- P.clt2mcode "...>" c, List.concat w, false)) )
-# 28671 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 35763 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35771 "parser_cocci_menhir.ml"
in
-# 1620 "parser_cocci_menhir.mly"
- ( a::b )
-# 28677 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35777 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
+ 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 = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 b : 'tv_toplevel_after_dots_init = Obj.magic b in
- let c0 : (
-# 73 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 28719 "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 : (
-# 73 "parser_cocci_menhir.mly"
+# 35824 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 28726 "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
+# 35830 "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 )
+# 35850 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 35860 "parser_cocci_menhir.ml"
+
+ in
-# 906 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
- P.clt2mcode "...+>" c, List.concat w, true)) )
-# 28739 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 35866 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35874 "parser_cocci_menhir.ml"
in
-# 1620 "parser_cocci_menhir.mly"
- ( a::b )
-# 28745 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35880 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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.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;
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
- let c0 : (
-# 73 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 28781 "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 : (
-# 73 "parser_cocci_menhir.mly"
+# 35932 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 28788 "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
+# 35938 "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 )
+# 35962 "parser_cocci_menhir.ml"
+
+ in
+
+# 506 "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)) )
+# 35972 "parser_cocci_menhir.ml"
+
+ in
-# 903 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
- P.clt2mcode "...>" c, List.concat w, false)) )
-# 28801 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 35978 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 35986 "parser_cocci_menhir.ml"
in
-# 1621 "parser_cocci_menhir.mly"
- ( [a] )
-# 28807 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 35992 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
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.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;
+ };
+ };
};
};
};
} = _menhir_stack in
- let c0 : (
-# 73 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 28843 "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 : (
-# 73 "parser_cocci_menhir.mly"
+# 36039 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 101 "parser_cocci_menhir.mly"
(Data.clt)
-# 28850 "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
+# 36045 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 64 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 36050 "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 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
+
+# 512 "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)) )
+# 36070 "parser_cocci_menhir.ml"
+
+ in
-# 906 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
- P.clt2mcode "...+>" c, List.concat w, true)) )
-# 28863 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 36076 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 36084 "parser_cocci_menhir.ml"
in
-# 1621 "parser_cocci_menhir.mly"
- ( [a] )
-# 28869 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 36090 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- 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 = 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;
+ };
};
} = _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_ =
-# 1622 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 28899 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 59 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 36122 "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
+
+# 516 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 36134 "parser_cocci_menhir.ml"
+
+ in
+
+# 525 "parser_cocci_menhir.mly"
+ ( ty )
+# 36140 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 36148 "parser_cocci_menhir.ml"
+
+ in
+
+# 542 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 36154 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- 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 = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ 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_ =
-# 1623 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 28929 "parser_cocci_menhir.ml"
+ let rp : (
+# 77 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36185 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+ let lp : (
+# 76 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36191 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_typedef_ctype =
+# 544 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 36200 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_typedef_ident =
-# 1531 "parser_cocci_menhir.mly"
+# 1538 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 28953 "parser_cocci_menhir.ml"
+# 36224 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 64 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 28974 "parser_cocci_menhir.ml"
+# 36245 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_typedef_ident =
-# 1533 "parser_cocci_menhir.mly"
+# 1540 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = _1 in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 28982 "parser_cocci_menhir.ml"
+# 36253 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1299 "parser_cocci_menhir.mly"
+# 1276 "parser_cocci_menhir.mly"
( _1 )
-# 29006 "parser_cocci_menhir.ml"
+# 36277 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29033 "parser_cocci_menhir.ml"
+# 36304 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+# 1278 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 29040 "parser_cocci_menhir.ml"
+# 36311 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29067 "parser_cocci_menhir.ml"
+# 36338 "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_ =
-# 1303 "parser_cocci_menhir.mly"
+# 1280 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 29074 "parser_cocci_menhir.ml"
+# 36345 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1305 "parser_cocci_menhir.mly"
+# 1282 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29104 "parser_cocci_menhir.ml"
+# 36375 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29131 "parser_cocci_menhir.ml"
+# 36402 "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_ =
-# 1307 "parser_cocci_menhir.mly"
+# 1284 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29139 "parser_cocci_menhir.ml"
+# 36410 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29166 "parser_cocci_menhir.ml"
+# 36437 "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_ =
-# 1310 "parser_cocci_menhir.mly"
+# 1287 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 29173 "parser_cocci_menhir.ml"
+# 36444 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let rp : (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 29209 "parser_cocci_menhir.ml"
+# 36480 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29215 "parser_cocci_menhir.ml"
+# 36486 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29220 "parser_cocci_menhir.ml"
+# 36491 "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_ =
-# 1312 "parser_cocci_menhir.mly"
+# 1289 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29229 "parser_cocci_menhir.ml"
+# 36500 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1299 "parser_cocci_menhir.mly"
+# 1276 "parser_cocci_menhir.mly"
( _1 )
-# 29253 "parser_cocci_menhir.ml"
+# 36524 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29280 "parser_cocci_menhir.ml"
+# 36551 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+# 1278 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 29287 "parser_cocci_menhir.ml"
+# 36558 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29314 "parser_cocci_menhir.ml"
+# 36585 "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_ =
-# 1303 "parser_cocci_menhir.mly"
+# 1280 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 29321 "parser_cocci_menhir.ml"
+# 36592 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1305 "parser_cocci_menhir.mly"
+# 1282 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29351 "parser_cocci_menhir.ml"
+# 36622 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29378 "parser_cocci_menhir.ml"
+# 36649 "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_ =
-# 1307 "parser_cocci_menhir.mly"
+# 1284 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29386 "parser_cocci_menhir.ml"
+# 36657 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29413 "parser_cocci_menhir.ml"
+# 36684 "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_ =
-# 1310 "parser_cocci_menhir.mly"
+# 1287 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 29420 "parser_cocci_menhir.ml"
+# 36691 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let rp : (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 29456 "parser_cocci_menhir.ml"
+# 36727 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29462 "parser_cocci_menhir.ml"
+# 36733 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29467 "parser_cocci_menhir.ml"
+# 36738 "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_ =
-# 1312 "parser_cocci_menhir.mly"
+# 1289 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29476 "parser_cocci_menhir.ml"
+# 36747 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1299 "parser_cocci_menhir.mly"
+# 1276 "parser_cocci_menhir.mly"
( _1 )
-# 29500 "parser_cocci_menhir.ml"
+# 36771 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29527 "parser_cocci_menhir.ml"
+# 36798 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+# 1278 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 29534 "parser_cocci_menhir.ml"
+# 36805 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29561 "parser_cocci_menhir.ml"
+# 36832 "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_ =
-# 1303 "parser_cocci_menhir.mly"
+# 1280 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 29568 "parser_cocci_menhir.ml"
+# 36839 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1305 "parser_cocci_menhir.mly"
+# 1282 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29598 "parser_cocci_menhir.ml"
+# 36869 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29625 "parser_cocci_menhir.ml"
+# 36896 "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_ =
-# 1307 "parser_cocci_menhir.mly"
+# 1284 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29633 "parser_cocci_menhir.ml"
+# 36904 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29660 "parser_cocci_menhir.ml"
+# 36931 "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_ =
-# 1310 "parser_cocci_menhir.mly"
+# 1287 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 29667 "parser_cocci_menhir.ml"
+# 36938 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let rp : (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 29703 "parser_cocci_menhir.ml"
+# 36974 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29709 "parser_cocci_menhir.ml"
+# 36980 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29714 "parser_cocci_menhir.ml"
+# 36985 "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_ =
-# 1312 "parser_cocci_menhir.mly"
+# 1289 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29723 "parser_cocci_menhir.ml"
+# 36994 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1299 "parser_cocci_menhir.mly"
+# 1276 "parser_cocci_menhir.mly"
( _1 )
-# 29747 "parser_cocci_menhir.ml"
+# 37018 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29774 "parser_cocci_menhir.ml"
+# 37045 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+# 1278 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 29781 "parser_cocci_menhir.ml"
+# 37052 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 85 "parser_cocci_menhir.mly"
(Data.clt)
-# 29808 "parser_cocci_menhir.ml"
+# 37079 "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_ =
-# 1303 "parser_cocci_menhir.mly"
+# 1280 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 29815 "parser_cocci_menhir.ml"
+# 37086 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1305 "parser_cocci_menhir.mly"
+# 1282 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29845 "parser_cocci_menhir.ml"
+# 37116 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29872 "parser_cocci_menhir.ml"
+# 37143 "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_ =
-# 1307 "parser_cocci_menhir.mly"
+# 1284 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29880 "parser_cocci_menhir.ml"
+# 37151 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29907 "parser_cocci_menhir.ml"
+# 37178 "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_ =
-# 1310 "parser_cocci_menhir.mly"
+# 1287 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 29914 "parser_cocci_menhir.ml"
+# 37185 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let rp : (
# 77 "parser_cocci_menhir.mly"
(Data.clt)
-# 29950 "parser_cocci_menhir.ml"
+# 37221 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
# 76 "parser_cocci_menhir.mly"
(Data.clt)
-# 29956 "parser_cocci_menhir.ml"
+# 37227 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
# 58 "parser_cocci_menhir.mly"
(Data.clt)
-# 29961 "parser_cocci_menhir.ml"
+# 37232 "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_ =
-# 1312 "parser_cocci_menhir.mly"
+# 1289 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29970 "parser_cocci_menhir.ml"
+# 37241 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 93 "parser_cocci_menhir.mly"
(Data.clt)
-# 29991 "parser_cocci_menhir.ml"
+# 37262 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1316 "parser_cocci_menhir.mly"
+# 1293 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.GetRef _1 )
-# 29998 "parser_cocci_menhir.ml"
+# 37269 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 30019 "parser_cocci_menhir.ml"
+# 37290 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1317 "parser_cocci_menhir.mly"
+# 1294 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.DeRef _1 )
-# 30026 "parser_cocci_menhir.ml"
+# 37297 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 98 "parser_cocci_menhir.mly"
(Data.clt)
-# 30047 "parser_cocci_menhir.ml"
+# 37318 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1318 "parser_cocci_menhir.mly"
+# 1295 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnPlus _1 )
-# 30054 "parser_cocci_menhir.ml"
+# 37325 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 98 "parser_cocci_menhir.mly"
(Data.clt)
-# 30075 "parser_cocci_menhir.ml"
+# 37346 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1319 "parser_cocci_menhir.mly"
+# 1296 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnMinus _1 )
-# 30082 "parser_cocci_menhir.ml"
+# 37353 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _1 : (
# 99 "parser_cocci_menhir.mly"
(Data.clt)
-# 30103 "parser_cocci_menhir.ml"
+# 37374 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1320 "parser_cocci_menhir.mly"
+# 1297 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Tilde _1 )
-# 30110 "parser_cocci_menhir.ml"
+# 37381 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_when_start =
-# 1745 "parser_cocci_menhir.mly"
+# 1758 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 30140 "parser_cocci_menhir.ml"
+# 37411 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_when_start =
-# 1747 "parser_cocci_menhir.mly"
+# 1760 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 30170 "parser_cocci_menhir.ml"
+# 37441 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_w_ in
let _endpos = _endpos_w_ in
let _v : 'tv_whenppdecs =
-# 910 "parser_cocci_menhir.mly"
+# 887 "parser_cocci_menhir.mly"
( w )
-# 30194 "parser_cocci_menhir.ml"
+# 37465 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 1813 "parser_cocci_menhir.mly"
+# 1826 "parser_cocci_menhir.mly"
( [Ast0.WhenNot w] )
-# 30230 "parser_cocci_menhir.ml"
+# 37501 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 1814 "parser_cocci_menhir.mly"
+# 1827 "parser_cocci_menhir.mly"
( [Ast0.WhenAlways w] )
-# 30266 "parser_cocci_menhir.ml"
+# 37537 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 1816 "parser_cocci_menhir.mly"
+# 1829 "parser_cocci_menhir.mly"
( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 30298 "parser_cocci_menhir.ml"
+# 37569 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 1817 "parser_cocci_menhir.mly"
+# 1830 "parser_cocci_menhir.mly"
( [Ast0.WhenNotTrue e] )
-# 30334 "parser_cocci_menhir.ml"
+# 37605 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 1818 "parser_cocci_menhir.mly"
+# 1831 "parser_cocci_menhir.mly"
( [Ast0.WhenNotFalse e] )
-# 30370 "parser_cocci_menhir.ml"
+# 37641 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let rec script_meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1549 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1777 lexer lexbuf) : (
# 159 "parser_cocci_menhir.mly"
(string * (string * string))
-# 30394 "parser_cocci_menhir.ml"
+# 37665 "parser_cocci_menhir.ml"
))
and rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1477 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1707 lexer lexbuf) : (
# 153 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 30402 "parser_cocci_menhir.ml"
+# 37673 "parser_cocci_menhir.ml"
))
and reinit =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1475 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1705 lexer lexbuf) : (
# 131 "parser_cocci_menhir.mly"
(unit)
-# 30410 "parser_cocci_menhir.ml"
+# 37681 "parser_cocci_menhir.ml"
))
and plus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1439 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1669 lexer lexbuf) : (
# 140 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30418 "parser_cocci_menhir.ml"
+# 37689 "parser_cocci_menhir.ml"
))
and plus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1430 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1661 lexer lexbuf) : (
# 143 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30426 "parser_cocci_menhir.ml"
+# 37697 "parser_cocci_menhir.ml"
))
and never_used =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1424 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1655 lexer lexbuf) : (
# 168 "parser_cocci_menhir.mly"
(unit)
-# 30434 "parser_cocci_menhir.ml"
+# 37705 "parser_cocci_menhir.ml"
))
and minus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1338 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1575 lexer lexbuf) : (
# 134 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30442 "parser_cocci_menhir.ml"
+# 37713 "parser_cocci_menhir.ml"
))
and minus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1314 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1563 lexer lexbuf) : (
# 137 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30450 "parser_cocci_menhir.ml"
+# 37721 "parser_cocci_menhir.ml"
))
and meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1311 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1560 lexer lexbuf) : (
# 157 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 30458 "parser_cocci_menhir.ml"
+# 37729 "parser_cocci_menhir.ml"
))
and iso_rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1307 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1556 lexer lexbuf) : (
# 149 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 30466 "parser_cocci_menhir.ml"
+# 37737 "parser_cocci_menhir.ml"
))
and iso_meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1104 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 1325 lexer lexbuf) : (
# 165 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 30474 "parser_cocci_menhir.ml"
+# 37745 "parser_cocci_menhir.ml"
))
and iso_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 10 lexer lexbuf) : (
+ (Obj.magic (MenhirInterpreter.entry 11 lexer lexbuf) : (
# 162 "parser_cocci_menhir.mly"
(Ast0_cocci.anything list list)
-# 30482 "parser_cocci_menhir.ml"
+# 37753 "parser_cocci_menhir.ml"
))
and include_main =
fun lexer lexbuf ->
(Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
# 146 "parser_cocci_menhir.mly"
- ((string,string) Common.either list)
-# 30490 "parser_cocci_menhir.ml"
+ (Data.incl_iso list)
+# 37761 "parser_cocci_menhir.ml"
))