-
-# 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"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 25 "parser_cocci_menhir.ml"
+# 8 "parser_cocci_menhir.ml"
)
| Tvoid of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 30 "parser_cocci_menhir.ml"
+# 13 "parser_cocci_menhir.ml"
)
| Tunsigned of (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 35 "parser_cocci_menhir.ml"
+# 18 "parser_cocci_menhir.ml"
)
| Tunion of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 40 "parser_cocci_menhir.ml"
+# 23 "parser_cocci_menhir.ml"
)
| Ttypedef of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 45 "parser_cocci_menhir.ml"
+# 28 "parser_cocci_menhir.ml"
)
| Tstruct of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 50 "parser_cocci_menhir.ml"
+# 33 "parser_cocci_menhir.ml"
)
| Tstatic of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38 "parser_cocci_menhir.ml"
+)
+ | Tssize_t of (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43 "parser_cocci_menhir.ml"
+)
+ | Tsize_t of (
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 55 "parser_cocci_menhir.ml"
+# 48 "parser_cocci_menhir.ml"
)
| Tsigned of (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 60 "parser_cocci_menhir.ml"
+# 53 "parser_cocci_menhir.ml"
)
| Tshort of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 65 "parser_cocci_menhir.ml"
+# 58 "parser_cocci_menhir.ml"
)
| Tregister of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 63 "parser_cocci_menhir.ml"
+)
+ | Tptrdiff_t of (
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 70 "parser_cocci_menhir.ml"
+# 68 "parser_cocci_menhir.ml"
)
| Tlong of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 75 "parser_cocci_menhir.ml"
+# 73 "parser_cocci_menhir.ml"
)
| Tlist
| Tint of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 81 "parser_cocci_menhir.ml"
+# 79 "parser_cocci_menhir.ml"
)
| Tinline of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 86 "parser_cocci_menhir.ml"
+# 84 "parser_cocci_menhir.ml"
)
| Tfloat of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 91 "parser_cocci_menhir.ml"
+# 89 "parser_cocci_menhir.ml"
)
| Textern of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 96 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.ml"
)
| Tenum of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 101 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.ml"
)
| Tdouble of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 106 "parser_cocci_menhir.ml"
+# 104 "parser_cocci_menhir.ml"
)
| Tconst of (
-# 54 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 111 "parser_cocci_menhir.ml"
+# 109 "parser_cocci_menhir.ml"
)
| Tchar of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 116 "parser_cocci_menhir.ml"
+# 114 "parser_cocci_menhir.ml"
)
| Tauto of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 121 "parser_cocci_menhir.ml"
+# 119 "parser_cocci_menhir.ml"
)
| Tattr of (
-# 55 "parser_cocci_menhir.mly"
+# 121 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 126 "parser_cocci_menhir.ml"
+# 124 "parser_cocci_menhir.ml"
)
| TXor of (
-# 92 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 131 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.ml"
)
| TWords
| TWhy0
| TWhy of (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 138 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.ml"
)
| TWhile of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 143 "parser_cocci_menhir.ml"
+# 141 "parser_cocci_menhir.ml"
)
| TWhenTrue of (
-# 74 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Data.clt)
-# 148 "parser_cocci_menhir.ml"
+# 146 "parser_cocci_menhir.ml"
)
| TWhenFalse of (
-# 74 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Data.clt)
-# 153 "parser_cocci_menhir.ml"
+# 151 "parser_cocci_menhir.ml"
)
| TWhen of (
-# 74 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Data.clt)
-# 158 "parser_cocci_menhir.ml"
+# 156 "parser_cocci_menhir.ml"
)
+ | TVirtual
| TUsing
+ | TUnderscore
+ | TUndef of (
+# 150 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 164 "parser_cocci_menhir.ml"
+)
| TTypedef
| TTypeId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 165 "parser_cocci_menhir.ml"
+# 170 "parser_cocci_menhir.ml"
)
| TType
+ | TTildeExclEq of (
+# 163 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 176 "parser_cocci_menhir.ml"
+)
+ | TTildeEq of (
+# 163 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 181 "parser_cocci_menhir.ml"
+)
| TTilde of (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 171 "parser_cocci_menhir.ml"
+# 186 "parser_cocci_menhir.ml"
)
| TSwitch of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 176 "parser_cocci_menhir.ml"
+# 191 "parser_cocci_menhir.ml"
+)
+ | TSub of (
+# 163 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 196 "parser_cocci_menhir.ml"
)
| TString of (
-# 87 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 181 "parser_cocci_menhir.ml"
+# 201 "parser_cocci_menhir.ml"
)
| TStrict of (
-# 74 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Data.clt)
-# 186 "parser_cocci_menhir.ml"
+# 206 "parser_cocci_menhir.ml"
)
| TStatement
| TSizeof of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 192 "parser_cocci_menhir.ml"
+# 212 "parser_cocci_menhir.ml"
+)
+ | TShROp of (
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 217 "parser_cocci_menhir.ml"
)
- | TShOp of (
-# 96 "parser_cocci_menhir.mly"
+ | TShLOp of (
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 197 "parser_cocci_menhir.ml"
+# 222 "parser_cocci_menhir.ml"
)
| TScriptData of (
-# 71 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
(string)
-# 202 "parser_cocci_menhir.ml"
+# 227 "parser_cocci_menhir.ml"
)
| TScript
| TRuleName of (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 208 "parser_cocci_menhir.ml"
+# 233 "parser_cocci_menhir.ml"
)
| TRightIso
- | TReverse
| TReturn of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 215 "parser_cocci_menhir.ml"
+# 239 "parser_cocci_menhir.ml"
)
| TPure
| TPtrOp of (
-# 104 "parser_cocci_menhir.mly"
+# 173 "parser_cocci_menhir.mly"
(Data.clt)
-# 221 "parser_cocci_menhir.ml"
+# 245 "parser_cocci_menhir.ml"
)
| TPtVirg of (
-# 107 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 226 "parser_cocci_menhir.ml"
+# 250 "parser_cocci_menhir.ml"
)
| TPragma of (
-# 79 "parser_cocci_menhir.mly"
- (string)
-# 231 "parser_cocci_menhir.ml"
+# 126 "parser_cocci_menhir.mly"
+ (Ast_cocci.added_string * Data.clt)
+# 255 "parser_cocci_menhir.ml"
)
| TPosition
| TPosAny
| TPlusFile of (
-# 83 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 238 "parser_cocci_menhir.ml"
+# 262 "parser_cocci_menhir.ml"
)
| TPlus0
| TPlus of (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 244 "parser_cocci_menhir.ml"
+# 268 "parser_cocci_menhir.ml"
)
| TPathIsoFile of (
-# 79 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(string)
-# 249 "parser_cocci_menhir.ml"
+# 273 "parser_cocci_menhir.ml"
)
| TParameter
| TPOEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 255 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
)
| TPCEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 260 "parser_cocci_menhir.ml"
+# 284 "parser_cocci_menhir.ml"
)
| TPArob
| TOrLog of (
-# 89 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 266 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
)
| TOr of (
-# 91 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 271 "parser_cocci_menhir.ml"
+# 295 "parser_cocci_menhir.ml"
)
| TOn
| TOPar0 of (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 277 "parser_cocci_menhir.ml"
+# 301 "parser_cocci_menhir.ml"
)
| TOPar of (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 282 "parser_cocci_menhir.ml"
+# 306 "parser_cocci_menhir.ml"
)
| TOInit of (
-# 101 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 287 "parser_cocci_menhir.ml"
+# 311 "parser_cocci_menhir.ml"
)
| TOEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 292 "parser_cocci_menhir.ml"
+# 316 "parser_cocci_menhir.ml"
)
| TOCro of (
-# 102 "parser_cocci_menhir.mly"
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 297 "parser_cocci_menhir.ml"
+# 321 "parser_cocci_menhir.ml"
)
| TOBrace of (
-# 101 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 302 "parser_cocci_menhir.ml"
+# 326 "parser_cocci_menhir.ml"
)
| TNothing
| TNotEq of (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 308 "parser_cocci_menhir.ml"
+# 332 "parser_cocci_menhir.ml"
)
| TNever
| TName
| TMul of (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 315 "parser_cocci_menhir.ml"
+# 339 "parser_cocci_menhir.ml"
)
| TMinusFile of (
-# 83 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 320 "parser_cocci_menhir.ml"
+# 344 "parser_cocci_menhir.ml"
)
| TMinus of (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 325 "parser_cocci_menhir.ml"
+# 349 "parser_cocci_menhir.ml"
)
| TMid0 of (
-# 77 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 330 "parser_cocci_menhir.ml"
+# 354 "parser_cocci_menhir.ml"
)
+ | TMetavariable
| TMetaType of (
-# 64 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 335 "parser_cocci_menhir.ml"
+# 360 "parser_cocci_menhir.ml"
)
| TMetaStmList of (
-# 64 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 340 "parser_cocci_menhir.ml"
+# 365 "parser_cocci_menhir.ml"
)
| TMetaStm of (
-# 64 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 345 "parser_cocci_menhir.ml"
+# 370 "parser_cocci_menhir.ml"
)
| TMetaPos of (
-# 68 "parser_cocci_menhir.mly"
+# 137 "parser_cocci_menhir.mly"
(Parse_aux.pos_info)
-# 350 "parser_cocci_menhir.ml"
+# 375 "parser_cocci_menhir.ml"
)
| TMetaParamList of (
-# 66 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 355 "parser_cocci_menhir.ml"
+# 380 "parser_cocci_menhir.ml"
)
| TMetaParam of (
-# 64 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 360 "parser_cocci_menhir.ml"
+# 385 "parser_cocci_menhir.ml"
)
| TMetaLocalIdExp of (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 365 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 390 "parser_cocci_menhir.ml"
)
| TMetaLocalFunc of (
-# 61 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 370 "parser_cocci_menhir.ml"
+# 395 "parser_cocci_menhir.ml"
)
| TMetaIterator of (
-# 62 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 375 "parser_cocci_menhir.ml"
+# 400 "parser_cocci_menhir.ml"
+)
+ | TMetaInitList of (
+# 134 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 405 "parser_cocci_menhir.ml"
)
| TMetaInit of (
-# 65 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 380 "parser_cocci_menhir.ml"
+# 410 "parser_cocci_menhir.ml"
)
| TMetaIdExp of (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 385 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 415 "parser_cocci_menhir.ml"
)
| TMetaId of (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 390 "parser_cocci_menhir.ml"
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 420 "parser_cocci_menhir.ml"
)
| TMetaFunc of (
-# 61 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 395 "parser_cocci_menhir.ml"
+# 425 "parser_cocci_menhir.ml"
+)
+ | TMetaFieldList of (
+# 135 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 430 "parser_cocci_menhir.ml"
+)
+ | TMetaField of (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 435 "parser_cocci_menhir.ml"
)
| TMetaExpList of (
-# 66 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 400 "parser_cocci_menhir.ml"
+# 440 "parser_cocci_menhir.ml"
)
| TMetaExp of (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 405 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 445 "parser_cocci_menhir.ml"
)
| TMetaErr of (
-# 63 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 410 "parser_cocci_menhir.ml"
+# 450 "parser_cocci_menhir.ml"
)
| TMetaDeclarer of (
-# 62 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 415 "parser_cocci_menhir.ml"
+# 455 "parser_cocci_menhir.ml"
+)
+ | TMetaDecl of (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 460 "parser_cocci_menhir.ml"
)
| TMetaConst of (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 420 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 465 "parser_cocci_menhir.ml"
+)
+ | TMeta of (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 470 "parser_cocci_menhir.ml"
)
| TMPtVirg
| TLogOp of (
-# 95 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 426 "parser_cocci_menhir.ml"
+# 476 "parser_cocci_menhir.ml"
)
| TLocal
| TLineEnd of (
-# 74 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Data.clt)
-# 432 "parser_cocci_menhir.ml"
+# 482 "parser_cocci_menhir.ml"
)
| TIteratorId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 437 "parser_cocci_menhir.ml"
+# 487 "parser_cocci_menhir.ml"
)
| TIterator
| TIsoType
| TIsoTopLevel
+ | TIsoToTestExpression
| TIsoTestExpression
| TIsoStatement
| TIsoExpression
| TIso
| TInvalid
| TInt of (
-# 87 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 452 "parser_cocci_menhir.ml"
+# 503 "parser_cocci_menhir.ml"
)
+ | TInitialize
| TInitialiser
| TIncludeNL of (
-# 80 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 458 "parser_cocci_menhir.ml"
+# 510 "parser_cocci_menhir.ml"
)
| TIncludeL of (
-# 80 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 463 "parser_cocci_menhir.ml"
+# 515 "parser_cocci_menhir.ml"
)
| TInc of (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 468 "parser_cocci_menhir.ml"
+# 520 "parser_cocci_menhir.ml"
)
| TIf of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 473 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.ml"
)
| TIdentifier
| TIdent of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 479 "parser_cocci_menhir.ml"
+# 531 "parser_cocci_menhir.ml"
)
| TIdExpression
| TGoto of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 485 "parser_cocci_menhir.ml"
+# 537 "parser_cocci_menhir.ml"
)
| TGenerated
| TFunction
| TFunDecl of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 492 "parser_cocci_menhir.ml"
+# 544 "parser_cocci_menhir.ml"
)
| TFresh
| TForall
| TFor of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 499 "parser_cocci_menhir.ml"
+# 551 "parser_cocci_menhir.ml"
)
| TFloat of (
-# 87 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 504 "parser_cocci_menhir.ml"
+# 556 "parser_cocci_menhir.ml"
)
+ | TFinalize
+ | TField
| TExtends
| TExpression
| TExists
| TEver
| TError
| TEqEq of (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 514 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.ml"
)
| TEq of (
-# 107 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 519 "parser_cocci_menhir.ml"
+# 573 "parser_cocci_menhir.ml"
)
| TElse of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 524 "parser_cocci_menhir.ml"
+# 578 "parser_cocci_menhir.ml"
)
| TEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 529 "parser_cocci_menhir.ml"
+# 583 "parser_cocci_menhir.ml"
)
| TDotDot of (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 534 "parser_cocci_menhir.ml"
+# 588 "parser_cocci_menhir.ml"
)
| TDot of (
-# 107 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 539 "parser_cocci_menhir.ml"
+# 593 "parser_cocci_menhir.ml"
)
| TDo of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 544 "parser_cocci_menhir.ml"
+# 598 "parser_cocci_menhir.ml"
)
| TDmOp of (
-# 97 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 549 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.ml"
)
| TDisable
| TDepends
| TDefineParam of (
-# 82 "parser_cocci_menhir.mly"
- (Data.clt * token * int)
-# 556 "parser_cocci_menhir.ml"
+# 151 "parser_cocci_menhir.mly"
+ (Data.clt * token * int * int)
+# 610 "parser_cocci_menhir.ml"
)
| TDefine of (
-# 81 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
(Data.clt * token)
-# 561 "parser_cocci_menhir.ml"
+# 615 "parser_cocci_menhir.ml"
)
| TDefault of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 566 "parser_cocci_menhir.ml"
+# 620 "parser_cocci_menhir.ml"
)
| TDeclarerId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 571 "parser_cocci_menhir.ml"
+# 625 "parser_cocci_menhir.ml"
)
| TDeclarer
+ | TDeclaration
| TDec of (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 577 "parser_cocci_menhir.ml"
+# 632 "parser_cocci_menhir.ml"
)
+ | TCppConcatOp
| TContinue of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 582 "parser_cocci_menhir.ml"
+# 638 "parser_cocci_menhir.ml"
)
| TContext
| TConstant
| TComma of (
-# 107 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 589 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.ml"
)
| TChar of (
-# 87 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 594 "parser_cocci_menhir.ml"
+# 650 "parser_cocci_menhir.ml"
)
| TCase of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 599 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.ml"
)
| TCPar0 of (
-# 77 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 604 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.ml"
)
| TCPar of (
-# 77 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 609 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.ml"
)
| TCEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 614 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.ml"
)
| TCCro of (
-# 102 "parser_cocci_menhir.mly"
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 619 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.ml"
)
| TCBrace of (
-# 101 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 624 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.ml"
)
| TBreak of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 629 "parser_cocci_menhir.ml"
+# 685 "parser_cocci_menhir.ml"
)
| TBang0
| TBang of (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 635 "parser_cocci_menhir.ml"
+# 691 "parser_cocci_menhir.ml"
)
| TAssign of (
-# 108 "parser_cocci_menhir.mly"
+# 177 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 640 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.ml"
)
| TArobArob
| TArob
| TAny of (
-# 74 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
(Data.clt)
-# 647 "parser_cocci_menhir.ml"
+# 703 "parser_cocci_menhir.ml"
)
| TAndLog of (
-# 90 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 652 "parser_cocci_menhir.ml"
+# 708 "parser_cocci_menhir.ml"
)
| TAnd of (
-# 93 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 657 "parser_cocci_menhir.ml"
+# 713 "parser_cocci_menhir.ml"
)
| EOF
and _menhir_jeton = token
+
+# 25 "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
+
+(* ---------------------------------------------------------------------- *)
+(* support for TMeta *)
+
+let print_meta (r,n) = r^"."^n
+
+let meta_metatable = Hashtbl.create(101)
+
+let coerce_tmeta newty name builder matcher =
+ try
+ let x = Hashtbl.find meta_metatable name in
+ if not (matcher x)
+ then
+ failwith
+ (Printf.sprintf "Metavariable %s is used as %s"
+ (print_meta name) newty)
+ with Not_found ->
+ (if !Flag_parsing_cocci.show_SP
+ then
+ Common.pr2
+ (Printf.sprintf
+ "Metavariable %s is assumed to be %s metavariable"
+ (print_meta name) newty));
+ Hashtbl.add meta_metatable name builder
+
+let tmeta_to_type (name,pure,clt) =
+ (coerce_tmeta "a type" name (TMetaType(name,pure,clt))
+ (function TMetaType(_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure))
+
+let tmeta_to_field (name,pure,clt) =
+ (coerce_tmeta "a field" name (TMetaField(name,pure,clt))
+ (function TMetaField(_,_,_) -> true | _ -> false));
+ P.meta_field (name,pure,clt)
+
+let tmeta_to_exp (name,pure,clt) =
+ (coerce_tmeta "an expression" name
+ (TMetaExp(name,Ast0.NoConstraint,pure,None,clt))
+ (function TMetaExp(_,_,_,_,_) -> true | _ -> false));
+ Ast0.wrap
+ (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure))
+
+let tmeta_to_param (name,pure,clt) =
+ (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt))
+ (function TMetaParam(_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure))
+
+let tmeta_to_statement (name,pure,clt) =
+ (coerce_tmeta "a statement" name (TMetaType(name,pure,clt))
+ (function TMetaType(_,_,_) -> true | _ -> false));
+ P.meta_stm (name,pure,clt)
+
+let tmeta_to_seed_id (name,pure,clt) =
+ (coerce_tmeta "an identifier" name
+ (TMetaId(name,Ast.IdNoConstraint,Ast.NoVal,pure,clt))
+ (function TMetaId(_,_,_,_,_) -> true | _ -> false));
+ Ast.SeedId name
+
+let tmeta_to_ident (name,pure,clt) =
+ (coerce_tmeta "an identifier" name
+ (TMetaId(name,Ast.IdNoConstraint,Ast.NoVal,pure,clt))
+ (function TMetaId(_,_,_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,Ast.NoVal,pure))
+
+# 798 "parser_cocci_menhir.ml"
let _eRR =
Error
fun _tok ->
match _tok with
| EOF ->
- 170
+ 191
| TAnd _ ->
- 169
+ 190
| TAndLog _ ->
- 168
+ 189
| TAny _ ->
- 167
+ 188
| TArob ->
- 166
+ 187
| TArobArob ->
- 165
+ 186
| TAssign _ ->
- 164
+ 185
| TBang _ ->
- 163
+ 184
| TBang0 ->
- 162
+ 183
| TBreak _ ->
- 161
+ 182
| TCBrace _ ->
- 160
+ 181
| TCCro _ ->
- 159
+ 180
| TCEllipsis _ ->
- 158
+ 179
| TCPar _ ->
- 157
+ 178
| TCPar0 _ ->
- 156
+ 177
| TCase _ ->
- 155
+ 176
| TChar _ ->
- 154
+ 175
| TComma _ ->
- 153
+ 174
| TConstant ->
- 152
+ 173
| TContext ->
- 151
+ 172
| TContinue _ ->
- 150
+ 171
+ | TCppConcatOp ->
+ 170
| TDec _ ->
- 149
+ 169
+ | TDeclaration ->
+ 168
| TDeclarer ->
- 148
+ 167
| TDeclarerId _ ->
- 147
+ 166
| TDefault _ ->
- 146
+ 165
| TDefine _ ->
- 145
+ 164
| TDefineParam _ ->
- 144
+ 163
| TDepends ->
- 143
+ 162
| TDisable ->
- 142
+ 161
| TDmOp _ ->
- 141
+ 160
| TDo _ ->
- 140
+ 159
| TDot _ ->
- 139
+ 158
| TDotDot _ ->
- 138
+ 157
| TEllipsis _ ->
- 137
+ 156
| TElse _ ->
- 136
+ 155
| TEq _ ->
- 135
+ 154
| TEqEq _ ->
- 134
+ 153
| TError ->
- 133
+ 152
| TEver ->
- 132
+ 151
| TExists ->
- 131
+ 150
| TExpression ->
- 130
+ 149
| TExtends ->
- 129
+ 148
+ | TField ->
+ 147
+ | TFinalize ->
+ 146
| TFloat _ ->
- 128
+ 145
| TFor _ ->
- 127
+ 144
| TForall ->
- 126
+ 143
| TFresh ->
- 125
+ 142
| TFunDecl _ ->
- 124
+ 141
| TFunction ->
- 123
+ 140
| TGenerated ->
- 122
+ 139
| TGoto _ ->
- 121
+ 138
| TIdExpression ->
- 120
+ 137
| TIdent _ ->
- 119
+ 136
| TIdentifier ->
- 118
+ 135
| TIf _ ->
- 117
+ 134
| TInc _ ->
- 116
+ 133
| TIncludeL _ ->
- 115
+ 132
| TIncludeNL _ ->
- 114
+ 131
| TInitialiser ->
- 113
+ 130
+ | TInitialize ->
+ 129
| TInt _ ->
- 112
+ 128
| TInvalid ->
- 111
+ 127
| TIso ->
- 110
+ 126
| TIsoArgExpression ->
- 109
+ 125
| TIsoDeclaration ->
- 108
+ 124
| TIsoExpression ->
- 107
+ 123
| TIsoStatement ->
- 106
+ 122
| TIsoTestExpression ->
- 105
+ 121
+ | TIsoToTestExpression ->
+ 120
| TIsoTopLevel ->
- 104
+ 119
| TIsoType ->
- 103
+ 118
| TIterator ->
- 102
+ 117
| TIteratorId _ ->
- 101
+ 116
| TLineEnd _ ->
- 100
+ 115
| TLocal ->
- 99
+ 114
| TLogOp _ ->
- 98
+ 113
| TMPtVirg ->
- 97
+ 112
+ | TMeta _ ->
+ 111
| TMetaConst _ ->
- 96
+ 110
+ | TMetaDecl _ ->
+ 109
| TMetaDeclarer _ ->
- 95
+ 108
| TMetaErr _ ->
- 94
+ 107
| TMetaExp _ ->
- 93
+ 106
| TMetaExpList _ ->
- 92
+ 105
+ | TMetaField _ ->
+ 104
+ | TMetaFieldList _ ->
+ 103
| TMetaFunc _ ->
- 91
+ 102
| TMetaId _ ->
- 90
+ 101
| TMetaIdExp _ ->
- 89
+ 100
| TMetaInit _ ->
- 88
+ 99
+ | TMetaInitList _ ->
+ 98
| TMetaIterator _ ->
- 87
+ 97
| TMetaLocalFunc _ ->
- 86
+ 96
| TMetaLocalIdExp _ ->
- 85
+ 95
| TMetaParam _ ->
- 84
+ 94
| TMetaParamList _ ->
- 83
+ 93
| TMetaPos _ ->
- 82
+ 92
| TMetaStm _ ->
- 81
+ 91
| TMetaStmList _ ->
- 80
+ 90
| TMetaType _ ->
- 79
+ 89
+ | TMetavariable ->
+ 88
| TMid0 _ ->
- 78
+ 87
| TMinus _ ->
- 77
+ 86
| TMinusFile _ ->
- 76
+ 85
| TMul _ ->
- 75
+ 84
| TName ->
- 74
+ 83
| TNever ->
- 73
+ 82
| TNotEq _ ->
- 72
+ 81
| TNothing ->
- 71
+ 80
| TOBrace _ ->
- 70
+ 79
| TOCro _ ->
- 69
+ 78
| TOEllipsis _ ->
- 68
+ 77
| TOInit _ ->
- 67
+ 76
| TOPar _ ->
- 66
+ 75
| TOPar0 _ ->
- 65
+ 74
| TOn ->
- 64
+ 73
| TOr _ ->
- 63
+ 72
| TOrLog _ ->
- 62
+ 71
| TPArob ->
- 61
+ 70
| TPCEllipsis _ ->
- 60
+ 69
| TPOEllipsis _ ->
- 59
+ 68
| TParameter ->
- 58
+ 67
| TPathIsoFile _ ->
- 57
+ 66
| TPlus _ ->
- 56
+ 65
| TPlus0 ->
- 55
+ 64
| TPlusFile _ ->
- 54
+ 63
| TPosAny ->
- 53
+ 62
| TPosition ->
- 52
+ 61
| TPragma _ ->
- 51
+ 60
| TPtVirg _ ->
- 50
+ 59
| TPtrOp _ ->
- 49
+ 58
| TPure ->
- 48
+ 57
| TReturn _ ->
+ 56
+ | TRightIso ->
+ 55
+ | TRuleName _ ->
+ 54
+ | TScript ->
+ 53
+ | TScriptData _ ->
+ 52
+ | TShLOp _ ->
+ 51
+ | TShROp _ ->
+ 50
+ | TSizeof _ ->
+ 49
+ | TStatement ->
+ 48
+ | TStrict _ ->
47
- | TReverse ->
+ | TString _ ->
46
- | TRightIso ->
+ | TSub _ ->
45
- | TRuleName _ ->
+ | TSwitch _ ->
44
- | TScript ->
+ | TTilde _ ->
43
- | TScriptData _ ->
+ | TTildeEq _ ->
42
- | TShOp _ ->
+ | TTildeExclEq _ ->
41
- | TSizeof _ ->
+ | TType ->
40
- | TStatement ->
+ | TTypeId _ ->
39
- | TStrict _ ->
+ | TTypedef ->
38
- | TString _ ->
+ | TUndef _ ->
37
- | TSwitch _ ->
+ | TUnderscore ->
36
- | TTilde _ ->
+ | TUsing ->
35
- | TType ->
+ | TVirtual ->
34
- | TTypeId _ ->
+ | TWhen _ ->
33
- | TTypedef ->
+ | TWhenFalse _ ->
32
- | TUsing ->
+ | TWhenTrue _ ->
31
- | TWhen _ ->
+ | TWhile _ ->
30
- | TWhenFalse _ ->
+ | TWhy _ ->
29
- | TWhenTrue _ ->
+ | TWhy0 ->
28
- | TWhile _ ->
+ | TWords ->
27
- | TWhy _ ->
+ | TXor _ ->
26
- | TWhy0 ->
+ | Tattr _ ->
25
- | TWords ->
+ | Tauto _ ->
24
- | TXor _ ->
+ | Tchar _ ->
23
- | Tattr _ ->
+ | Tconst _ ->
22
- | Tauto _ ->
+ | Tdouble _ ->
21
- | Tchar _ ->
+ | Tenum _ ->
20
- | Tconst _ ->
+ | Textern _ ->
19
- | Tdouble _ ->
+ | Tfloat _ ->
18
- | Tenum _ ->
+ | Tinline _ ->
17
- | Textern _ ->
+ | Tint _ ->
16
- | Tfloat _ ->
+ | Tlist ->
15
- | Tinline _ ->
+ | Tlong _ ->
14
- | Tint _ ->
+ | Tptrdiff_t _ ->
13
- | Tlist ->
+ | Tregister _ ->
12
- | Tlong _ ->
+ | Tshort _ ->
11
- | Tregister _ ->
+ | Tsigned _ ->
10
- | Tshort _ ->
+ | Tsize_t _ ->
9
- | Tsigned _ ->
+ | Tssize_t _ ->
8
| Tstatic _ ->
7
Obj.repr ()
| TContinue _v ->
Obj.repr _v
+ | TCppConcatOp ->
+ Obj.repr ()
| TDec _v ->
Obj.repr _v
+ | TDeclaration ->
+ Obj.repr ()
| TDeclarer ->
Obj.repr ()
| TDeclarerId _v ->
Obj.repr ()
| TExtends ->
Obj.repr ()
+ | TField ->
+ Obj.repr ()
+ | TFinalize ->
+ Obj.repr ()
| TFloat _v ->
Obj.repr _v
| TFor _v ->
Obj.repr _v
| TInitialiser ->
Obj.repr ()
+ | TInitialize ->
+ Obj.repr ()
| TInt _v ->
Obj.repr _v
| TInvalid ->
Obj.repr ()
| TIsoTestExpression ->
Obj.repr ()
+ | TIsoToTestExpression ->
+ Obj.repr ()
| TIsoTopLevel ->
Obj.repr ()
| TIsoType ->
Obj.repr _v
| TMPtVirg ->
Obj.repr ()
+ | TMeta _v ->
+ Obj.repr _v
| TMetaConst _v ->
Obj.repr _v
+ | TMetaDecl _v ->
+ Obj.repr _v
| TMetaDeclarer _v ->
Obj.repr _v
| TMetaErr _v ->
Obj.repr _v
| TMetaExpList _v ->
Obj.repr _v
+ | TMetaField _v ->
+ Obj.repr _v
+ | TMetaFieldList _v ->
+ Obj.repr _v
| TMetaFunc _v ->
Obj.repr _v
| TMetaId _v ->
Obj.repr _v
| TMetaInit _v ->
Obj.repr _v
+ | TMetaInitList _v ->
+ Obj.repr _v
| TMetaIterator _v ->
Obj.repr _v
| TMetaLocalFunc _v ->
Obj.repr _v
| TMetaType _v ->
Obj.repr _v
+ | TMetavariable ->
+ Obj.repr ()
| TMid0 _v ->
Obj.repr _v
| TMinus _v ->
Obj.repr ()
| TReturn _v ->
Obj.repr _v
- | TReverse ->
- Obj.repr ()
| TRightIso ->
Obj.repr ()
| TRuleName _v ->
Obj.repr ()
| TScriptData _v ->
Obj.repr _v
- | TShOp _v ->
+ | TShLOp _v ->
+ Obj.repr _v
+ | TShROp _v ->
Obj.repr _v
| TSizeof _v ->
Obj.repr _v
Obj.repr _v
| TString _v ->
Obj.repr _v
+ | TSub _v ->
+ Obj.repr _v
| TSwitch _v ->
Obj.repr _v
| TTilde _v ->
Obj.repr _v
+ | TTildeEq _v ->
+ Obj.repr _v
+ | TTildeExclEq _v ->
+ Obj.repr _v
| TType ->
Obj.repr ()
| TTypeId _v ->
Obj.repr _v
| TTypedef ->
Obj.repr ()
+ | TUndef _v ->
+ Obj.repr _v
+ | TUnderscore ->
+ Obj.repr ()
| TUsing ->
Obj.repr ()
+ | TVirtual ->
+ Obj.repr ()
| TWhen _v ->
Obj.repr _v
| TWhenFalse _v ->
Obj.repr ()
| Tlong _v ->
Obj.repr _v
+ | Tptrdiff_t _v ->
+ Obj.repr _v
| Tregister _v ->
Obj.repr _v
| Tshort _v ->
Obj.repr _v
| Tsigned _v ->
Obj.repr _v
+ | Tsize_t _v ->
+ Obj.repr _v
+ | Tssize_t _v ->
+ Obj.repr _v
| Tstatic _v ->
Obj.repr _v
| Tstruct _v ->
Obj.repr _v
let default_reduction =
- (16, "\000\000\000\000\0014\0015\000\000\0017\0016\000\001\000\000\001p\000\000\000\000\000\136\000\000\000\000\001\236\000\142\000\000\001\024\000\000\001#\001\027\001\021\001-\002\219\002\218\000\000\001\025\000\000\001$\001\028\001\022\001.\001\026\000\000\001%\001\029\001\031\000\000\0011\002\133\0010\001&\001\030\000\135\001\023\001,\000\000\000\000\001+\000\000\000\000\000\000\000\000\000\000\001b\000\240\002\209\000\000\000\000\000\000\000\000\000\000\002\214\000\000\001(\000\000\002\216\000\000\000\000\000\000\003\022\002O\000\000\003\020\000\000\002i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\019\003\021\002U\001\012\002T\001\n\001\011\002S\002R\002Q\002M\000\000\000\000\002N\000\213\000\000\002P\000\000\003\018\000\000\002\249\001\t\0020\000\000\000\000\0023\000\000\000\015\000\000\000\000\000\000\000\000\000\214\002L\002X\000[\000\021\000]\000\000\000\000\000c\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\017\000R\000\223\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\020\000\000\000\000\000\140\000\224\000\000\0026\000\225\000\014\000\016\000\000\000\000\000\143\000\000\000\141\000\000\000\000\000\228\000\000\000\000\0021\0024\000\000\0022\0025\002\250\002\248\000\000\002V\002\247\000\000\002p\000\000\000\000\002o\002n\002m\002l\002k\002g\000\000\000\000\002h\000\000\002j\000\000\000\000\003\007\002>\000\000\000\000\002A\000\000\000\000\002D\000\000\000\000\002?\002B\000\000\002@\002C\002r\002f\003\008\003\006\003\005\000g\000h\000\000\000\000\000W\000\000\000V\000\235\000\000\001\228\000\000\000\000\000\000\000\000\000\000\000\218\001\234\000\000\000\000\001\136\000U\0001\000\211\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\002W\000\000\000\144\000\000\000\000\001\212\000\000\001~\001\193\000\000\000\000\001\211\000\000\001|\001\192\000\000\000\000\000d\000\000\002q\000\000\000\000\003\n\003\t\000\000\001\229\000\000\000\000\002\252\002\251\000\000\000Q\000\150\000\000\001d\000\000\002\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\248\000\154\000\000\000\000\000n\000o\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\001\217\000\000\000\151\000\160\000\000\001\219\000\000\000\000\000\000\000\000\000\152\000\166\000\000\001j\000\000\000\000\002\211\000\000\000\000\000\138\000\000\000\000\002\210\000\000\000\000\000\000\002\213\002\217\000\000\000\000\000\000\001)\000\000\000\222\000\000\001*\000\000\000\000\001M\000\000\001L\000\000\001Z\000\000\001r\000\000\000\000\000\000\000\000\000\000\000\000\001\016\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\149\000\000\000\145\000\000\002\245\000\000\000\194\002\244\000\000\000\000\000\148\000\000\000\146\002\205\002\207\002\208\002\206\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\002}\000\000\000\000\002|\002{\002z\002y\002x\001I\002t\000\000\000\000\002u\000\000\002w\000\000\000\000\003\014\002E\000\000\000\000\002H\000\000\000\000\002K\000\000\000\000\002F\002I\000\000\002G\002J\002\127\002s\003\015\003\013\003\012\000i\000j\000\000\000\000\000Z\000\000\000Y\000\000\002~\000\000\001\194\000X\000?\000\234\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\003\017\003\016\000\000\002\196\000\000\002\195\000\000\000\000\000\000\000\000\003\029\000\000\000\000\000\000\003\030\000\000\000\018\000\000\000\000\000\000\003\025\000\000\001\138\000\000\000\000\000\000\000\167\002\186\001`\000\000\000\156\001_\0019\0018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\215\000\216\000\200\000\000\001n\000\000\000\000\000\199\000\195\000\000\000\202\000\196\000\201\000\000\002\198\000\000\002\197\002\183\000\000\000\000\000\000\000\000\000\000\002\192\000\000\000\000\000\000\000\000\000\000\002\193\002\185\000\000\002\199\000\000\002\187\000\000\000\171\000\000\002\202\000\155\000\000\001;\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000w\000\000\000\000\000\000\002\\\000\000\000\000\000\000\002d\000\000\000\000\002c\000\000\003\003\002b\002a\002`\002_\002^\002Z\000\000\000\000\002[\000\000\002]\000\000\000\000\003\000\0027\000\000\000\000\002:\000\000\000\000\002=\000\000\000\000\0028\002;\000\000\0029\002<\002e\002Y\003\001\002\255\002\254\003\002\000\000\000\000\000\000\000e\000f\000\000\000\000\000\000\000\000\000\210\000\209\000\000\000\000\000\000\000\000\001?\000\000\000\220\001<\000\000\000\208\001B\000\000\000\000\001C\000\000\000\000\001D\000\000\001l\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001E\000\000\001A\000\000\000\000\001G\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001H\001>\000\000\001=\000\000\000\187\000\000\002\164\000\000\000\000\000\183\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\000\000\000\000\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\188\000\000\000\184\000\000\000\000\002\223\000\000\002\230\000\173\000\000\000\000\000\000\000\000\000\185\000\000\000\181\000\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\192\000\000\002\224\000\172\000\000\002\225\000\000\002\232\000\000\000\000\000\000\000\000\000\191\000\000\000\175\000\000\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\179\000\000\000\176\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\182\000\169\000\168\000\000\002\233\002\234\000\000\002\235\000\000\002\236\000\000\001:\002\190\000\000\000\000\001\216\000\000\001\134\001\198\000\000\002\184\000\000\000\000\000\000\002\189\000\000\000\000\000\000\001\002\000\000\000\252\000\000\000\253\000\000\001\007\000\251\001\006\000\000\002\201\001\008\000\000\000\174\000\000\000\000\000\000\000\000\001\004\000\255\001\213\000\000\001\000\000\000\001\001\000\000\001\128\001\195\000\000\000\000\000\000\001\224\000\000\001\222\000\000\000\000\001\226\001\220\000\000\001\227\001\221\000\000\002\203\001\230\000\000\000\170\000\000\000\000\001\214\000\000\001\130\001\196\000\000\003\026\000\000\003\023\000\000\003\024\000\019\000\020\000\000\000\000\002\148\000\000\002\147\000\000\000\000\002\150\000\000\002\149\000\000\000\000\000\000\002\001\000\000\000\000\002\005\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\000\000\001\251\000\000\000\000\001\254\000\000\000\000\000\000\002\002\000\000\000\000\002\006\000\000\000\000\001\215\000\000\000\000\001\255\000\000\000\000\002\003\002\145\001\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\007\000\000\000\000\002\n\000\000\002\146\000\000\000\000\000\000\000\000\002\t\000\000\001\249\000\000\001\250\000\000\000\000\001\253\000\000\000\000\000\000\002\000\000\000\000\000\002\004\000\000\001\132\001\197\000\000\002\151\000\000\000\000\000\000\003\027\000\017\000u\000\000\003\028\000\000\000\000\002\160\000\000\000\000\002\204\000a\000\000\000\000\000\000\000b\000\000\002\194\000\000\001f\002\191\000\000\000\000\001S\000\000\001R\000\000\001[\000\000\001x\000\000\000\000\000\000\001Q\000\000\001P\000\000\001X\000\000\001v\000\000\000\000\000\000\001U\000\000\001T\000\000\001Y\000\000\001z\000\000\000\000\000\000\001V\000\000\000\000\000\000\000\000\001O\000\000\001N\000\000\001\\\000\000\001t\000\000\000\000\000\000\001W\000\002\000\000\000N\000O\000M\001]\000\003\000\000\000\000\002\130\000\000\002\015\000\000\002\136\002\138\000\000\000\000\001\161\002\139\002\137\000\128\000\000\000\000\002\182\000\000\000\000\000\000\000z\000\000\000\000\002\170\000\000\001\244\001\243\001\156\002\143\002\134\002\135\000\000\001\189\000\000\002\131\000\000\000\000\000|\000\000\000\000\002\174\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\190\000\000\001\165\000\000\001\164\000\000\000v\000\000\000\000\002\162\000\000\000\000\001\160\000\000\000\000\000~\000\000\000\000\002\178\000\000\000\000\000\000\000{\000\000\000\000\002\172\000\000\001\240\001\239\001\152\002\141\000\000\001\176\000\000\000\000\000\000\001\173\000\000\001\178\000\000\000\000\001\168\000\000\000\000\001\174\000\000\000\000\001\175\000\000\000\000\000\000\001\163\000\000\000\000\000\000\000\000\000\000\000\000\001\191\000\000\001\166\000}\000\000\000\000\002\176\000\000\000\000\000\000\0013\000y\0012\000\000\000\000\002\168\000\000\001\238\001\237\001\150\002\140\000\000\000\127\000\000\000\000\002\180\000\000\000\000\000\000\000\000\001\242\001\241\001\154\002\142\000\000\001\183\000\000\001\187\000\000\000\000\001\179\000\000\000\000\000\000\001\172\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\001\186\001\159\000\000\001\185\000\000\000\000\000\000\000\000\001\182\000\000\000\000\001\181\000\000\001\180\000\000\000\000\000\000\000\000\001\184\000\000\001\188\000\000\000\000\001^\000\004\000\000\001\162\000\005\000\000\000\000\000\238\000\006\000\000\001\202\001\203\001\201\000\000\000\000\000\000\000\000\000\000\000\000\000x\000\000\000\000\002\166\000\000\000\229\001\200\001\144\002\220\001\146\000\000\000\007\000\000\001\205\001\206\001\204\000\000\000\000\000\000\000\000\000\000\000\000\000\239\000\242\000\000\000\000\000\000\000\000\000\247\000\249\000\248\000\243\000\245\000\244\000\000\000\000\000\000\000\000\000\000\002\226\002\239\000\000\002\227\000\000\002\228\000\000\000\000\002\221\000\000\000\000\000\000\000\000\002\238\000\000\000\000\002\237\001\210\001\209\000\000\000\000\001\148\000\000\001\199\001\207\000\000\000\000\000\000\000\000\001\246\000\000\000\000\000l\000m\000\000\000\000\000\000\001\245\000\000\000\163\000\000\001h\000\000\000\000\000\162\000\158\000\000\000\000\000\000\000\000\001\013\000\000\000\000\002\242\000\000\002\243\000\000\000\000\001\233\001\231\000\000\001\232\000\008\000\000\000\t\000\000\002 \002!\002\031\000\000\000\000\002\030\000\000\000\n\000\000\002#\002$\002\"\000\000\002&\000\000\000\000\000\000\002\024\000\000\000\000\002\026\000\000\002\020\000\000\002\022\000\000\002\027\000\000\002\028\002\021\002\019\002'\001\158\000\000\002\029\000\000\002)\000\000\002(\000\000\002*\000\000\002\144\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\203\000\000\000\000\000\000\000\000\000\204\002/\000\000\000\000\002\155\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\002\158\000k\000\000\000\000\000\212\000\000\000\000\000\232\000\231\000\230\000\000\001K\000\000\002\154\001\142\001\140\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\153\000\000\000\000\000\000\000\000\000\000\000\000\002\152\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\156")
+ (16, "\000\000\000\000\003\022\000\131\000\000\000\000\003g\001\130\000\000\001\128\001\129\001\127\000\000\001\132\001\131\000\001\000\000\001\185\000\000\000\000\000\147\000\000\000\000\001\175\000\196\000\000\000\000\000\183\000\000\000\000\000\188\000\187\000\000\000\184\000\000\000\182\000\000\000\000\000\000\000\186\000\000\000\185\003\163\003\162\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\002\019\002\018\002\017\000\000\001-\001,\000\000\000\000\002*\000\000\001\199\002\021\000\000\000\000\000\000\000\000\000\000\0014\000\000\000\000\001M\001|\001L\001K\001J\001I\001{\001H\001G\002V\000\000\000\000\002U\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002Y\001E\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\149\003\156\003\155\003\157\000\000\000\000\000\000\000\000\003\191\000\000\003\150\003\151\000\000\000\000\000\206\000\000\003\153\000\000\000\000\000\000\0042\002\221\000\000\000\000\0040\000\000\002\249\000\000\000\000\000\000\000\000\000\000\000\000\004/\0041\002\227\001w\002\226\001v\002\225\002\224\002\223\002=\002\219\000\000\000\000\002\220\001.\000\000\000\000\000\000\002\222\000\000\000\000\002\218\004.\000\000\000\000\004\015\002\189\000\000\000\000\002\192\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001/\001u\002\217\002\230\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\0019\000p\002\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\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\190\002\193\000\000\002\191\002\194\004\014\000\000\003\001\000\000\000\247\000\000\000\000\002+\000\000\001\201\002\022\000\000\000\000\002)\000\000\000\000\000\231\000\000\000\000\000\218\000\000\000\000\000\223\000\222\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\221\000\000\000\220\000\000\000\235\000\000\000\234\000\000\000\000\000\211\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\210\000\000\000\000\000\000\000\214\000\000\000\213\000\000\000\225\000\000\000\236\000\000\000\000\000\230\000\229\000\000\000\226\000\000\000\233\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\237\000\000\000\232\000\000\000\224\000\000\000\244\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002|\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002j\002{\0021\000\000\000\000\000\000\000\000\000\000\001D\001\001\000\000\0022\000\000\000\000\000\000\000\000\000\251\000\000\000\249\000\000\001\177\000\171\000\000\000\000\000\170\002n\002k\000\000\000\000\003\159\000\000\003\158\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\003\190\000\000\000\000\003\161\003\154\000\227\000\000\001\197\002\020\000\000\000\000\003\000\000\000\000\000\002\255\002\254\002\253\002\252\002\251\002\247\000\000\004\026\002\248\000\000\004\027\002\250\000\000\004\029\000\000\002\246\000\000\000y\002\203\000\000\000\000\002\206\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\003\002\002\245\000\014\000\016\000g\0003\001*\000q\000\000\000\000\000\000\000\000\000\000\000\000\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\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002G\002K\000\000\000\000\000\150\002H\001<\001:\000\000\002\209\000\000\000\000\002\204\002\207\000\000\002\205\002\208\004\028\000z\000\000\002\195\004*\004+\004)\004(\004\r\000\000\002\228\004\012\001R\000\000\002;\000\000\000\000\000\000\000\000\000\000\0012\002B\000\000\000\000\001\213\000\000\002\229\000\000\000\000\000v\000\000\000\000\004\031\004\030\000\000\002<\000\000\000\000\004-\004,\000\000\000\000\004\017\004\016\000\000\000c\000\248\000\000\003\160\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0018\000\000\000\000\000\208\000\192\000\000\000\000\001\153\000\000\001\152\000\000\001\167\000\000\001\187\000\000\000\000\000\000\003\213\000\000\000\000\003\200\000\000\000\000\003\205\003\204\000\000\003\201\000\000\003\199\000\000\000\000\000\000\003\203\000\000\003\202\000\000\003\217\000\000\003\216\000\000\000\000\003\193\000\000\000\000\003\198\003\197\000\000\003\194\000\000\003\192\000\000\000\000\000\000\003\196\000\000\003\195\000\000\003\207\000\000\003\218\000\000\000\000\003\212\003\211\000\000\003\208\000\000\003\215\000\000\000\000\000\000\000\000\003\220\000\000\000\000\000\000\000\000\003\221\003\219\000\000\003\214\000\000\003\206\000\000\003\226\000\000\000\000\000\000\003\210\000\000\001\230\000\000\004\006\000\000\000\000\002.\001\231\000\000\001\207\002\026\000\000\000\000\000\000\000\000\003\225\003\209\004\007\000\000\004\n\004\t\000\000\000\000\003w\004\b\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\223\000\000\000\000\000\000\000\000\003\224\003\222\000\000\000\000\003\248\000\000\000\000\003\235\000\000\000\000\003\240\003\239\000\000\003\236\000\000\003\234\000\000\000\000\000\000\003\238\000\000\003\237\000\000\003\252\000\000\003\251\000\000\000\000\003\228\000\000\000\000\003\233\003\232\000\000\003\229\000\000\003\227\000\000\000\000\000\000\003\231\000\000\003\230\000\000\003\242\000\000\003\253\000\000\000\000\003\247\003\246\000\000\003\243\000\000\003\250\000\000\000\000\000\000\000\000\003\255\000\000\000\000\000\000\000\000\004\000\003\254\000\000\003\249\000\000\003\241\000\000\004\005\000\000\000\000\000\000\003\245\000\000\000\000\000\000\000\000\004\004\003\244\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\003\004\001\003\145\003\147\003\148\003\146\000\000\000\000\000\000\000\000\000\000\001\135\000\000\000\000\000\000\000\000\000\000\000\255\001\011\000\254\000\000\000\000\000\128\000\000\000\000\000\000\002\235\000\000\000\000\000\000\004\024\004\023\000\000\000\000\002\243\000\000\000\000\002\242\000\000\000\000\002\241\002\240\002\239\002\238\002\237\001\149\002\233\000\000\004\019\002\234\000\000\004\020\002\236\000\000\004\022\000\000\002\232\000\000\000w\002\196\000\000\000\000\002\199\000\000\000\000\002\202\000\000\000\000\002\197\002\200\000\000\002\198\002\201\002\244\002\231\004\021\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\001\147\001\146\000\000\000\000\000\000\000\000\001\141\000\000\0016\001\139\000\000\001'\000\000\002]\000\000\000\000\000\000\000\000\001\144\000\000\001\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\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\145\000\000\000\000\002\\\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002`\001@\000\000\001\143\001\148\000\000\001\140\000\000\001\023\000\000\003a\000\000\000\000\001\019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\029\001\\\001[\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\000\000\001\016\000\000\001\r\000\000\000\000\000\000\000\000\000\000\001\024\000\000\001\020\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\000\000\003\007\000\000\000\000\000\000\004&\004%\000\000\003\136\000\000\003\135\000\000\000\000\000\000\000\000\0049\000\000\000\000\000\000\004:\000\000\000\018\000\000\000\000\000\000\000\000\003\014\000\000\000\000\000\000\003\r\003\012\003\011\003\n\003\t\003\005\000\000\004!\003\006\000\000\004\"\003\b\000\000\004$\000\000\003\004\000\000\000{\002\210\000\000\000\000\002\213\000\000\000\000\002\216\000\000\000\000\002\211\002\214\000\000\002\212\002\215\003\016\003\003\004#\000\000\000\000\000l\000\000\000k\000\000\003\015\000\000\002\023\000j\000B\001Q\000r\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\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\0045\000\000\001\215\000\000\000\000\000\000\001\002\003~\001\173\000\000\001\172\001\134\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\155\0010\000\000\000\000\002N\000\000\000\000\000\154\002R\002O\001>\001\031\000\000\001!\001 \000\000\003\138\000\000\003\137\003z\000\000\000\000\000\000\000\000\000\000\003\132\000\000\003\127\000\000\003\139\000\000\000\000\000\000\000\000\003\133\003|\002\152\000\000\001\006\001\136\000\000\003\142\000\000\001\138\000\000\000\000\003\169\000\000\003\176\001\b\000\000\001\014\000\000\003\170\001\007\000\000\003\171\000\000\003\178\000\000\000\000\000\000\000\000\001\027\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\001y\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\022\000\000\001\018\001\004\001\003\000\000\003\179\003\180\000\000\003\181\000\000\003\182\000\000\001\137\003\130\000\000\000\000\0020\000\000\001\211\002\028\000\000\003{\000\000\000\000\000\000\003\129\000\000\000\000\000\000\001n\000\000\001h\000\000\001i\000\000\001s\001g\001r\000\000\003\141\001t\000\000\001\t\000\000\000\000\000\000\000\000\001p\001k\002,\000\000\001l\000\000\001m\000\000\001\203\002\024\000\000\000\000\000\000\0027\000\000\0025\000\000\000\000\0029\0023\000\000\002:\0024\000\000\003\143\002>\000\000\001\005\000\000\000\000\002-\000\000\001\205\002\025\000\000\0046\000\000\0043\000\000\0044\000\019\000\020\000\000\000\000\003C\000\000\003B\000\000\002~\000\000\003E\000\000\003D\000\000\000\000\000\000\002\134\000\000\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\141\000\000\000\000\002\144\000\000\002\128\000\000\000\000\002\131\000\000\000\000\000\000\002\135\000\000\000\000\002\139\000\000\000\000\002/\000\000\000\000\002\132\000\000\000\000\002\136\000\000\003A\003@\002\129\000\000\000\000\000\000\000\000\002\142\000\000\002}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\140\000\000\000\000\002\143\000\000\002\127\000\000\000\000\002\130\000\000\000\000\000\000\002\133\000\000\000\000\002\137\000\000\001\209\002\027\000\000\003F\000\000\000\000\0047\000\017\000~\000\000\0048\000\000\000\000\003]\000\000\000\000\003\144\000s\000\000\000\000\000\000\000t\000\000\003\134\000\000\001\179\000\000\001\181\003\131\000\000\000\000\001\159\000\000\001\158\000\000\001\168\000\000\001\193\000\000\000\000\000\000\001\157\000\000\001\156\000\000\001\165\000\000\001\191\000\000\000\000\000\000\001\164\000\000\000\000\000\000\001\161\000\000\001\160\000\000\001\166\000\000\001\195\000\000\000\000\000\000\001\162\000\000\000\000\000\000\001\155\000\000\001\154\000\000\001\169\000\000\001\189\000\000\000\000\000\000\001\163\000\002\000\000\000`\000a\000\000\000\000\003 \003$\003(\003\028\003\025\000\000\000\000\003%\003,\003\029\003+\003\027\003*\003\031\003\023\003\030\003'\003\026\003!\003\024\003#\003)\003&\003\"\001\236\001\235\000\137\000\000\000\000\003s\000\000\000\000\000\000\000\000\003X\003U\000\000\000\000\003Y\003V\003W\0036\000\000\000\000\003y\003.\003-\003/\000\000\001\253\000_\001\170\000\003\000\000\000\000\003\019\000\000\002\148\000\000\000\138\000\000\000\000\003u\000\000\000\000\000\000\000\130\000\000\000\000\003e\000\000\002x\002w\001\227\0037\000\000\002\012\000\000\003\020\000\000\000\000\000\132\000\000\000\000\003i\000\000\001\250\000\000\000\000\001\242\000\000\000\000\000\000\001\249\000\000\001\245\000\000\000\000\000\000\001\217\001\216\000\000\000\000\000\000\002\r\000\000\001\240\000\000\001\239\000\000\000\127\000\000\000\000\003_\000\000\000\000\001\234\000\000\000\000\001\238\000\000\000\000\000\135\000\000\000\000\003o\000\000\000\000\003>\000\000\003=\000\000\000\000\000\000\002v\002u\003;\002\158\0032\003<\000\000\002\000\000\000\000\000\000\000\001\252\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\002\016\000\000\001\244\000\000\001\243\000\000\000\000\000\000\0034\000\136\000\000\000\000\003q\000\000\0033\000\000\001\254\000\000\000\000\001\255\000\000\000\000\000\000\000\000\000\000\000\000\002\015\000\000\001\248\000\000\001\247\000\000\000\000\001V\000\000\001U\000\000\000\000\000\000\000\000\000\000\002\014\000\000\001\241\000\000\001T\000\000\002D\000\133\000\000\000\000\003k\000\000\000\000\000\000\000\000\003\165\003\164\000\000\000\000\001~\000\129\001}\000\000\000\000\003c\000\000\002p\002o\002r\0030\002\154\002q\001S\000\000\000\134\000\000\000\000\003m\000\000\000\000\000\000\000\000\002t\002s\003:\0038\002\156\0031\0039\000\000\002\007\000\000\002\n\000\000\000\000\002\003\000\000\000\000\000\000\001\251\000\000\002\001\000\000\000\000\001\246\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\002\t\000\000\002\b\000\000\000\000\000\000\000\000\002\006\000\000\000\000\002\005\000\000\002\004\000\000\000\000\002\011\000\000\000\000\001\171\000\004\000\000\001\237\000\005\000\000\000\000\001Y\000\006\000\000\002 \002!\002\031\000\000\002\030\003\166\001\223\000\000\000\007\000\000\002#\002$\002\"\000\000\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\001c\001e\001d\001_\001a\001`\000\000\000\000\000\000\000\000\000\000\003\172\003\185\000\000\003\173\000\000\003\174\000\000\000\000\003\167\000\000\000\000\000\000\000\000\003\184\000\000\000\000\003\183\002(\002'\000\000\000\000\001\225\002\029\002%\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\002c\002y\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002g\002d\001B\001\000\000\000\000\000\000\000\000\000\001x\001Z\000\000\003\188\000\000\003\189\000\000\000\000\002A\002?\000\000\002@\000\b\000\000\000\t\000\000\002\173\002\174\002\172\000\000\002\171\000\000\000\n\000\000\002\176\002\177\002\175\000\000\002\179\000\000\000\000\000\000\002\165\000\000\000\000\002\167\000\000\002\161\000\000\002\163\000\000\002\168\000\000\002\169\000\000\002\162\002\160\002\180\001\229\002\170\000\000\002\182\000\000\002\181\000\000\002\183\000\000\003?\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\184\000\000\000\000\002\187\000\000\002\186\000\000\002\185\001\"\000\000\000\000\000\000\000\000\001#\002\188\000\000\000\000\000\000\003K\000\000\003J\000\000\000\000\000\000\000\000\003L\000\000\000\000\001X\000\000\000\000\000\000\000\000\000\000\003[\000}\000\000\000\000\001+\000\000\001O\001N\000\000\001\151\000\000\003I\001\221\001\219\000\000\000\000\000\000\000\000\003M\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003H\000\000\000\000\000\000\000\000\000\000\000\000\003G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003T\000\000\000\000\003S\000\000\003P\000\000\000\000\000\000\000\000\000\000\003Q\000\000\000\000\000\000\003R\000\r\000\000\003N\000\000\003O")
let error =
- (171, "\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\007\240\000\000\000\000\000\000\000=j\188\000 \004\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\008\003\008\000\001\012\192\140\002\000\128@\001\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/\209\192\004\001\132\000\004\134`F\001\000@!\000\128\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\157C\000\016\006\016\000\018\025\129\024\004\001\000\132\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\005\2508\000\1280\128\000\144\204\008\192 \008\004 \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\019\168`\002\000\194\000\002C0#\000\128 \016\128@\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\234\024\000\1280\128\000\144\204\008\192 \008\004 \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\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\149C\000\016\006\016\000\019\025\129\024\004\001\000\132\002\000\000&C\023\173W\128\004\000\128\000\004\016\016\000\000\000\000\016\000\004\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\008\000\008\004\128\140\002\000\000B\001\000\000\019\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\001\235U\224\t\000 \000\001\004\004\000\000\000\000\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\007\173W\128\004\000\128\000\004\016\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\002\000\000\000\000\000\000\030\181^\000\016\002\000\000\016@@\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\128\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\004\004\000\000\000\000\004\000\001\000\000\002\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\002\000\000\136\000\000\000\000\000\005 \000$\026\005\001\157\160\000\"@ \016\001\008D\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017 \016\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\n@\000H4\n\003;@\000D\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)\000\001 \208(\012\237\000\001\018\001\000\000\008@ \128\000\000\000\005 \000$\026\005\001\157\160\000\"@ \016\001\008\004\016\000\000\000\000\164\000\004\131@\1603\180\000\004H\004\002\000!\000\130z\213x\000T\136\000\144h\021\006v\128\000\137\000\128@\004 \016OZ\175\000\n\145\000\018\013\002\160\206\208\000\017 \016\008\000\132\002\008\000\000\000\000R\000\002A\160P\025\218\000\002$\002\000\000\016\128A=j\188\000*D\000H4\n\131;@\000D\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\164\000\004\131@\1603\180\000\004H\004\002\000!\000\130\000\000\000\000\020\128\000\144h\020\006v\128\000\137\000\128@\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\n@\000H4\n\003;@\000D\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\001 \208(\012\237\000\001\018\001\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\164\000\004\131@\1603\180\000\004H\004\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\144\000\"0M\150K\000\000\020\001\004\000\003\186\002'\135p\000\000\000\000\000\000\000\000\000\000\002\000\000\000\016\000\000\000\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\"\000$\026\005A\159\160\000\"@ \016\001\t\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\007d\000M\014\224\000\000\000\002\144\000\018\013\002\128\206\208\000\017 \016\008\000\132\002\008\000\000\004\128\001\016\130l\"X\000\000\160\008\000\000\029\144\001<;\128\000\000\000\n@\000H4\n\003;@\000D\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\004\128\001\016\130l\"X\000\000\160\008\000\000\025\144\001<\027\128\000\000\000\n@\000H4\n\003;@\000D\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\002@\000\136A6\017,\000\000P\004\000\000\012\200\000\158\013\192\000\000\000\005 \000$\026\005\001\157\160\000\"@ \016\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\0003 \002x7\000\000\000\000\020\128\000\144h\020\006v\128\000\137\000\128@\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\000\204\128\t\224\220\000\000\000\000R\000\002A\160P\025\218\000\002$\002\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\001H\000\t\006\129@gh\000\008\144\008\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\005 \000$\026\005\001\157\160\000\"@ \016\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\0003 \002x7\000\000\000\000\020\128\000\144h\020\006v\128\000\137\000\128@\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\000\204\128\t\224\220\000\000\000\000R\000\002A\160P\025\218\000\002$\002\001\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\0032\000'\131p\000\000\000\001H\000\t\006\129@gh\000\008\144\008\004\000B\001\004\000\000\002@\000\136A6\017,\000\000P\004\000\000\012\200\000\158\013\192\000\000\000\005 \000$\026\005\001\157\160\000\"@ \016\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\0003 \002x7\000\000\000\000\020\128\000\144h\020\006v\128\000\137\000\128`\004 \016@\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\002A\160P\025\218\000\002$\002\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\000\000\000\000\000\000\000\000\000\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\137\000\128@\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\000\204\128\t\224\220\000\000\000\000R\000\002A\160P\025\218\000\002$\002\001\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\0032\000'\131p\000\000\000\001H\000\t\006\129@gh\000\008\144\008\004\000B\001\004\000\000\002@\000\136A6\017,\000\000P\004\000\000\012\200\000\158\013\192\000\000\000\005 \000$\026\005\001\157\160\000\"@ \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\002\144\000\018\013\002\128\206\208\000\017 \016\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\128\000\002\000\192\000\000C \000\000\000 \016\000@\000\004\200\002\002U\012\000@\024@\000Hf\004`\016\004\002\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000u\170\208\000\128\016\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\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 \012 \000\0042\0020\008\002\001\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\001\016\000=j\188\000*D\000H4\n\131?@\000D\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\001 \208(\012\237\000\001\018\001\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\004\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\144\008\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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;@\000D\128@\000\002\016\008 \000\000\000\001H\000\t\006\129@gh\000\008\144\008\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\005 \000$\026\005\001\157\160\000\"@ \000\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\020\128\000\144h\020\006v\128\000\137\000\128\000\004 \016@\000\000\000\002\144\000\018\013\002\128\206\208\000\017 \016\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\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 \128\0005@D0\142\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\003\214\171\192\002\164@\004\131@\1683\244\000\004H\004\002\000! \130\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\000R\000\002A\160P\025\218\000\002$\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001 \000D\000\139\000\148\000\000 \002\000\000\003D\000C\008\224\000\000\000\002\144\000\018\013\002\128\206\208\000\017 \016\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\n@\000H4\n\003;@\000D\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\128\000\000\000\000\000\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\002\000\000\000\000\000B\144\000\018\013\002\128\206\208\000\017 \016\000\000\132\002\008\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\n@\000H4\n\003;@\000D\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\164\000\004\131@\1603\180\000\004H\004\000\000!\000\130\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004H\004\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\002D\000C\000\224\000\000\000\002\144\000\018\013\002\128\206\208\000\017 \016\000\000\132\002\008\000\000\004\128\001\016\002,\002P\000\000\128\008\000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000D\128@\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\018\001\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\164\000\004\131@\1603\180\000\004H\004\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\002\144\000\018\013\002\128\206\208\000\017 \016\000\000\132\002\008\000\000\004\128\001\016\002,\002P\000\000\128\008\000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000D\128@\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000$@\0040\014\000\000\000\000)\000\001 \208(\012\237\000\001\018\001\000\000\008@ \128\000\000H\000\017\000\"\192%\000\000\008\000\128\000\000\145\000\016\1928\000\000\000\000\164\000\004\131@\1603\180\000\004H\004\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\002D\000C\000\224\000\000\000\002\144\000\018\013\002\128\206\208\000\017 \016\000\000\132\002\008\000\000\004\128\001\016\002,\002P\000\000\128\008\000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000D\128@0\002\016\008 \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 \208(\012\237\000\001\018\001\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\164\000\004\131@\1603\180\000\004H\004\000\000!\000\130\000\000\001 \000D\000\139\000\148\000\000 \002\000\000\002D\000C\000\224\000\000\000\002\144\000\018\013\002\128\206\208\000\017 \016\000\000\132\002\008\000\000\004\128\001\016\002,\002P\000\000\128\008\000\000\t\016\001\012\003\128\000\000\000\n@\000H4\n\003;@\000D\128@\000\002\016\008 \000\000\018\000\004@\008\176\t@\000\002\000 \000\000$@\0040\014\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\001\000\000\000\000\000\000R\000\002A\160P\025\218\000\002$\002\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\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\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\008\000\000\000\000\000\005 \000$\026\005\001\157\160\000\"@ \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\008\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\218\000\002$\002\001\000\016\128A\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\002\000\000\000\000\000\000\000\000\000\000\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\137\000\128@\004 \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000 \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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\016\000\016\t\001\024\004\000\000\132\002\000\000&\003\016\018(`\000\000\002\000\002\000 #\000\128\000\016\128@\000\004\192b\000\000\000\000\000\000\000\000@\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\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\000\004\000\000\000\000\000\000\000\000\000\004\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\001\000\000\016\000\000\000\000\000\000\000\000\000\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\017\000\003\214\171\192\002\000@\000\002\000\008\192\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\016\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\002\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\003\214\171\192\002\000@\000\002\000\008\192\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\000D\000\015Z\175\000\008\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\016\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\128\000\000\000\000\000\000\000\000\000\128\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 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\007\173W\128\004\000\128\000\004\016\016\000\000\000\000\016\000\000\000\000\008\000\245\170\240\000\128\016\000\000\130\002\000\000\000\000\002\000\000\128\000\001\000\000\000\000\000\000\000\000\000\000\000\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\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\235U\160\001\000 \000\000\000\004\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\128\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\tT0\001\000a\000\0011\152\017\128@\016\008@ \000\002d1z\213x\000@\008\000\000A\001\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\002\000\000\000\000\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\008\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\189A\128\008\214 P@$P\192\000\000\000\000\004\002\000F\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=j\188\000 \004\000\000 \000\140\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\003\214\171\192\002\000@\000\002\000\008\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\001P \000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000*\004\000\000\000\000\000\000\000\128\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\016\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\137\000\128@\004 \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@r\004\002\001\136Q\029\218\016\006\245\006\000#\024\129A\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\001H\000\t\006\129@gh\000\008\144\008\004\000B\001\004\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\000\000\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 \000\000\000\015\254\191\130\011\145 \018\013B\184\238\240\1287\1680\t\030\198\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\n@\000@0\n\003;@\000\196\128@\000\002\016\008 \000\000\000\001H\000\008\006\001@gh\000\024\144\008\000\000B\001\004\245\170\240\000\169\016\001 \208*\012\237\000\001\018\001\000\128\008@ \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\004\000\000\000\000\000\002\144\000\016\012\002\128\206\208\0001 \016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\128\206\208\0001 \016\000\000\132\002\008\000\000\000\000R\000\002A\160P\025\218\000\002$\002\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\001H\000\008\006\001@gh\000\024\144\008\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\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\000\000\164\000\004\003\000\1603\180\000\012H\004\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\004\128\001\017\130l\178X\000\000\160\008 \000\029P\016(;\128\000\000\000\000\000\000\000\000\000\000\016\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\245\170\240\000\169\016\001 \208*\012\253\000\001\018\001\000\128\008H \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\020\128\000\144h\020\006v\128\000\137\000\128@\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\002\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\209\000\002\131\184\000\000\000\000\164\000\004\131@\1603\180\000\004H\004\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\002\144\000\018\013\002\128\206\208\000\017 \016\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\004\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\"\016M\132K\000\000\020\001\000\000\003\"\000\005\003p\000\000\000\001H\000\008\006\001@gh\000\024\144\008\000\000B\001\004\000\000\002@\000\136A6\017,\000\000P\004\000\000\012\136\000\020\013\192\000\000\000\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\137\000\128\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006$\002\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\001H\000\008\006\001@gh\000\024\144\008\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\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\137\000\128\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\000\200\128\001@\220\000\000\000\000R\000\002\001\128P\025\218\000\006$\002\000\000\016\128A\000\000\000\144\000\"\016M\132K\000\000\020\001\000\000\003\"\000\005\003p\000\000\000\001H\000\008\006\001@gh\000\024\144\008\000\000B\001\004\000\000\002@\000\136A6\017,\000\000P\004\000\000\012\136\000\020\013\192\000\000\000\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\0002 \000P7\000\000\000\000\020\128\000\144h\020\006v\128\000\137\000\128`\004 \016@\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\128P\025\218\000\006$\002\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\001H\000\008\006\001@gh\000\024\144\008\000\000B\001\004\000\000\002@\000\136A6\017,\000\000P\004\000\000\012\136\000\020\013\192\000\000\000\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\t\000\002!\004\216D\176\000\001@\016\000\0002 \000P7\000\000\000\000\020\128\000\128`\020\006v\128\001\137\000\128\000\004 \016@\000\000$\000\008\132\019a\018\192\000\005\000@\000\000\200\128\001@\221\235U\224\001R \002A\160T\025\218\000\002$\002\001\000\016\128A\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\005 \008$\026\005\001\157\160\000\"@ \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240yr$\002\001\140W\029\222\016\006\245\006\000#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\001H\000\t\006\129@gh\000\008\144\008\004\000B\001\004\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\144h\020\006v\128\000\137\000\128@\004 \016@\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\001\000\000\000\000@\000\000\000\000\000\001\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\255\235\248 \185\018\001\000\196+\142\239\008\003z\131\000\017\172@\160\159\253\127\004\023\"@$\026\133\241\221\225\000oP`\0185\138\020\019\255\175\224\242\228H\004\003\024\174;\188 \013\234\012\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\015\254\255\195\203\145 \016\012b\248\238\241\1287\1690\129\030\199\026\204\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\194\000\222\160\192\004k\016('\255_\193\005\200\144\t\006\161|wx@\027\212\024\004\141b\133\004\255\235\248 \185\018\001 \212+\142\239\008\003z\131\000\145\172A\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\008\140\019e\146\192\000\005\000A\000\000\238\128\137A\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\164\000\004\131@\1603\180\000\004H\004\002\000!\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\003\144 \016\012B\136\238\208\1287\1680\001\024\196\n\008\000\000\000@r\004\002\001\136Q\029\218\016\006\245\006\000#\024\129A\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\128\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\001\004\131@\1603\180\000\004H\004\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\002\144\004\018\013\002\128\206\208\000\017 \016\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\n@\000H4\n\003;@\000D\128@ \002\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 9\002\001\000\196(\142\237\008\003z\131\000\017\140@\160\128\000\000\004\007 @ \024\133\017\221\161\000oP`\0021\136\020\016\000\000\000\000\000\000\000\000\000\000\001\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\000D\000\000\000\000\000\000\000\000\000\000\000\000\004\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\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\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\005 \000$\026\005\001\157\160\000\"@ \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\001\001\130\012\146X\000\000\128\000 \000\012\208\017 #\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\t\006\129Pg\232\000\008\144\008\004\000BA\004\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\000oP`\0021\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\004\000\000\000\000\000\000\000\000\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\255\235\248 \185\018\001 \212+\142\239\008\003z\131\000\145\172@\160\128\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`\013\234L 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 \000\000\000\000\000\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\016\000\000\000\000\000\000\002E\012\000\000\000\000\000@ \004`\000\000\002\016\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\003\214\171\192\002\000@\000\002\000\008\192\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\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\016\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\002\000\000\128\000\000\000\000\000\005 \000$\026\133\001\189\160\000\"@ \016\001\008\004\016\000\000\000\000\164\000\004\0030\1603\180\000\012H\004\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\002\144\000\016\012\002\128\206\208\0001 \016\000\000\132\002\008\000\000\000\000R\000\002A\160P\025\218\000\002$\002\001\000\016\128A\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\245\170\240\000\169\016\001 \208*\012\237\000\001\018\001\000\128\008@ \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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\137\000\128\000\004 \016@\000\000\000\002\144\000\018\013\002\128\206\208\000\017 \016\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\n@\000@0\n\003;@\000\196\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)\000\001\000\192(\012\237\000\003\018\001\000\000\008@ \128\000\000\000\005 \000 \024\005\001\157\160\000b@ \000\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\008\008\016d\146\128\000\004\000\001\000\000B\128\136\000\024\000\000\000\000\000\000\000\000\000\000\000\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\007\173W\128\005H\128\t\006\129Pg\232\000\008\144\008\004\000BA\004\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\164\000\004\131@\1603\180\000\004H\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\129Pgh\000\008\144\008\004\000B\001\004\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 \024\005\001\157\160\000b@ \000\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\002\144\000\018\013\002\128\206\208\000\017 \016\008\000\132\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\000\n@\000H4\n\003;@\000D\128@ \002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0030\1603\180\000\012H\004\n\128!\004\130\000\000\000\002\020\128\000\128f\020\006v\128\001\137\000\129P\004 \144@\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\002A\168P\027\218\000\002$\002\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\004\000\000\000\000\000\000\000\000\n@\000@3\n\003;@\000\196\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@\000\000\000\000\000\000\000\005 \000 \025\133\001\157\160\000b@ D\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\004\000\000\000\000\000\000\000\001\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024\144\008\000\000B\001\004\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\137\000\128\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000@\128\008\000\024\000\000\000\000R\000\002\001\128P\025\218\000\006$\002\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\001H\000\008\006\001@gh\000\024\144\008\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\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\137\000\128\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000@\128\008\000\024\000\000\000\000R\000\002\001\128P\025\218\000\006$\002\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024\144\008\000\000B\001\004\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\004\008\000\128\001\128\000\000\000\005 \000 \024\005\001\157\160\000b@ \000\001\008\004\016\000\000\008\000\002\000\004\024\004\160\000\001\000\000\000\000\016 \002\000\006\000\000\000\000\020\128\000\128`\020\006v\128\001\137\000\128\000\004 \016@\000\000 \000\008\000\016`\018\128\000\004\000\000\000\000@\128\008\000\024\000\000\000\000R\000\002\001\128P\025\218\000\006$\002\000\000\016\128A\000\000\000\128\000 \000A\128J\000\000\016\000\000\000\001\002\000 \000`\000\000\000\001H\000\008\006\001@gh\000\024\144\008\000\000B\001\004\000\000\002\000\000\128\001\006\001(\000\000@\000\000\000\004\008\000\128\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\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\008\000\000\000\000\000\000R\000\002\001\152P\025\218\000\006$\002\005@\016\130A\000\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\024\144\008\021\000B\t\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\000\005 \000 \025\133\001\157\160\000b@ T\001\008$\016\000\000\000\000\164\000\004\0030\1603\180\000\012H\004\008\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\002\144\000\016\012\194\128\206\208\0001 \016*\000\132\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002\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\004\000\000\000\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\245\170\240\000\128\016\000\000\128\0020\000\000\000\000\000\000\128\000\008\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\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\002\144\000\018\013B\128\222\208\000\017 \016\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\016\000\000\000\000\000\000\000\000\000\000\000\000@\000H\000\000\000\000\000\000\000\002\000\000\128\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000@\000\016\000\000\000\000\000\000\000\000\000\001\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@\000\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\004\000\000\000\000\000\000)\000\001 \212(\013\237\000\001\018\001\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\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\016\000\004\000\000\000\000\000\000)\000\001 \212(\013\237\000\001\018\001\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\000\000\000\000\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$\002\001\140W\029\2220\006\245\006\000#X\129A\000\000\000\000\000\000\000\008\004\000\000\000\004\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\255\235\248 \185\018\001\000\198+\142\239\024\003z\131\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\000\000\000\001 \000D`\155,\150\000 (\002\t\000\007t\004\n\014\224\000\000\000\000\000\004\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$\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002\000\000\000\000\000\000\000\000\000\002\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\128\000\008\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\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\002\144\000\018\013B\128\222\208\000\017 \016\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\002\001\000\128\000\000\000\128\000\000\000D\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\003\255\175\224\130\228H\004\131P\174;\188`\013\234\012\"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\015\254\191\130\011\145 \016\012b\184\238\241\1287\1680\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\016\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\t\006\129Pg\232\000\008\144\008\004\000BA\004\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 \000\000\000\0020\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\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=j\188\000 \004\000\000 \000\140\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\008\000\002\000\000\000\000\000\000\020\128\000\144j\020\006\246\128\000\137\000\128@\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\016\000\000\000\000\000\000\000\000\000\000\000\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\002\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\001\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\137\000\128@\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\130\228H\004\131P\174;\188`\013\234\012\"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\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\007\255_\193\005\200\144\t\006\161\\wx\192\027\212\024\004\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\008\000\000\000\000\140\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@r\004\002\001\136Q\029\218\016\006\245\006\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\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\004\000\000\000@\000\000\000\000\000\000\000\000\001\000\001\255\223\248Ar4\002a\168_\029\2220\014\245&\019#\216\235Y\128\000\000\008\014@\128@1\n#\187B\000\222\160\192\004c\016( \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\003z\131\000\017\236q\160\128\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\016\000\000\000\003\255\175\224\130\228H\004\003\024\190;\188 \013\234\012\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\004\002\001\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?\250\254\008.D\128H5\011\227\187\194\000\222\160\192${\028h \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\003z\131\000\145\236q\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\002\000\003\255\175\224\130\228H\004\003\024\190;\188 \013\234\012\000F\177B\130\000\000\000\000\000\000\000\016\008\002\000\000\000\000\000\000\000@\000\008\000\015\254\191\130\011\145 \016\012b\248\238\240\1287\1680\001\026\197\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\000\000\000\000\000\000\000\000\000\000@ \016\004\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\003\255\175\224\130\228H\004\131P\190;\188 \013\234\012\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@\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\002\000\000\000 #\000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\008\0000\016\000\000\000\000\004\000\000\000\128\000\004\000_\253\127\004\023\"@ \024\197q\221\225\000oP`\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\000\000\000\000\000\004 \024\008\000\000\000\000\002\000\000\000@\000\002\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240Ar4\002a\168W\029\222\016\014\245\006\001#X\137A\191\250\254\008.D\128@1\138\227\187\194\000\222\160\192\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\031\253\127\004\023#@&\026\133q\221\225\000\239P`\0185\136\148\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\002\000\003\255\175\224\130\228H\004\131P\190;\188 \013\234\012\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@\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\128\000\000\000\000\000\000\000\000\000\000\000\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\016\000\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\189A\128H\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\007\191_\192\005H\144\008\006\001Pgx\000\024\144\008\000\001b\005\004\000\000\000\000)\000A \208(\012\237\000\001\018\001\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\000\000\000\000\000\000\000\000\000\000\000\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~\191\128\n\145 \016\012\002\160\206\240\0001 \016\000\002\196\n\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\002\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001\000\000\000\000\000\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$\002\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\004\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\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\000\000\000\000\000\000\000\000\004\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\001\000\000\016\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\016\000\000\000\000\000\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\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\000F\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\161@oh\000\008\144\008\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\001\214\171@\002\000@\000\000\000\008\000\000\000\000\008\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\004\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\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@\000H5\n\003{@\000D\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\128\000\000\000\000\000\000\000\000\002\000\003\223\175\224\002\164H\004\003\000\1683\188\000\012H\004\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$\000\008\012\016d\146\192\004\004\000\001 \000b\128\129\001\024\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\t\006\161@oh\000\008\144\008\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000F\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 \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\000R\000\002A\168P\027\218\000\002$\002\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000T\136\000\144h\021\006~\128\000\137\000\128@\004$\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\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\002\000\000\000\000#\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\020\128\000\144j\020\006\246\128\000\137\000\128@\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\029j\180\000 \004\000\000\000\000\128\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\004\131P\1607\180\000\004H\004\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\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\016\000\000\000\000\000\000\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@\000\000\000\000\000\000\000 \000\000\002\0020\000\000\001\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\002\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\001\255\215\240Ar$\002\001\140W\029\222\016\006\245\006\000#X\129A\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\005 \000$\026\005\001\157\160\000\"@ \016\001\008\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\189A\128H\2460\208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\001\127\245\252\016\\\137\000\128c\021\199w\132\001\189A\128\008\214 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240Ar$\002\001\140W\029\222\016\006\245\006\000#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\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\001\000\000\000\000\000\000\000\000\128\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\020\128\000\144h\020\006v\128\000\137\000\128\000\004 \016@\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\004\000\000\000\000R\000\002A\160P\025\218\000\002$\002\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\001H\000\t\006\129@gh\000\008\144\008\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\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\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@r\004\002\001\136Q\029\218\016\006\245\006\000#\024\129A\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\016\000\000\001\001\200\016\008\006!Dwh@\027\212\024\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\004\007 @ \024\133\017\221\161\000oP`\0021\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\000\000\000\000\016\000\000\000\000\000\000\000\008\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\001H\000\t\006\129@gh\000\008\144\008\000\000B\001\004\000\000\000\000\000\008\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\008\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\191\250\254\000 \004\000\000 \000\128\000\128\000\000\128\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\255\235\248\000\128\016\000\000\128\002\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\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\128\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\n@\000H4\n\003;@\000D\128@\000\002\016\008 \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\000z\213x@\225\008\137 B\001\000\000\018\000B\148$\000\t\128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\165\t\000\002`\000\003\214\171\192\007\008@\001\002\016\008\000\000\144\002\020\161 \000L\000\000\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\128\000\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\004\000\000\016\004\000\000\000\016\000\000\000\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\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\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\004\000\000\000\000\000\000\004\000\000\000\016\000\000@\016\000\000\000@\000\000\000\000\002\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\000\000\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000\008\000\000\002\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\214\171\192\007\008D\001\002\016\008\000\000\144\002\020\161 \000D\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\028!\000\004\008@ \000\002@\008R\132\128\001\016\000\000\000 \000\000\128 \000\000\000\128\000\000\000\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\004\000\000\000\016\000\000@\016\000\000\000@\000\000\000\000\002\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\002\000\000\000\000\000\000\000\000\000\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 \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\128\000\002\000\128\000\000\002\000\000\000\000\000\016\000@\000\000\000\000\000\016\000\000@\016\000\000\000@\000\000\128\000\002\000\008\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\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\004\000\016\000\000\000\000\000\004\000\000\016\004\000\000\002\016\000\000 \000\000\128\002\000\000 \000\000\000\128\000\002\000\128\000\000\002\000\000\000\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\002\000\000\008\002\000\000\000\008\000\000\000\000\000@\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\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\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\002\004\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\002\000\000\004\000\000\016\004\000\000\002\024\000\000\000\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\001 \000\000\000\000\000\000\002\000\000\008\002\000\000\000\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\001\000\000\004\001\000\000\000\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\016\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\016\000\000\000\000\000\000\000\000\000\017\128\000\002\004\016\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\004\001\000\000\000\004\000\000\000\000\000 \000\128\000\000\000\000\000 \000\000\128 \000\000\002\128\000\001\000\000\004\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000@\000\000\001\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\128 \000\000\000\128\000\000\000\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\016\000\000\000@\000\000\000\000\002\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\000\000\002\000\000\000\000\000\000\000\001\000\000\004\001\000\000\000\004\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\128\000\002\000\128\000\000\003\000\000\000\000\000\016\000@\000\000\000\000\000\016\000\000@\016\000\000\t@\000\000\128\000\002\000\008\000\000\128\000\000\002\000\000\008\002\000\000\000\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\008\000\000\008\000\000 \008\000\000\000 \000\000\000\000\001\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 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\016\000\000\000@\000\001\000@\000\000\001\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\016\000\000\008\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\008\000\000\000\000\000\000\008\000\000\000 \000\000\128 \000\000\000\128\000\000\000\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\004\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000 \008\000\000\000 \000\000\000\000\001\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\004\000\000\016\004\000\000\000\016\000\000\000\000\000\128\002\000\000\000\000\000\000\128\000\002\000\128\000\000\n\000\000\004\000\000\016\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\015[\175\000\012\001\000\000\008D \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\128\000\000\000\000\000\000\000\128\000\002\000\128\000\000\011\000\000\004\000\000\016\000@\000\004\000\000\000\016\000\000@\016\000\000\000@\000\000\000\000\002\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\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\007\173\215\128\006\000\128\000\004#\016\000\000\000\000\016\000@\000\000\000\000\000\016\000\000@\016\000\000\000@\000\000\000\000\002\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\008\000\000 \008\000\000\000 \000\000\000\000\001\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 \000\000\000\000\000\000\000\000\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\008@\000\000\000\000\002\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\000@\000\000\001\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000B\148$\000\t\128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\014\003;@\000D\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\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\n@\000H4\n\003;@\000D\128@ \002\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000b\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\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\137\000\128\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\001\004\000\000\000\000\000\n@\000H4\n\003;@\000D\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008.D\128H=\014\227\187\194\000\222\164\194$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\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\015\254\255\194\011\145 \018\015B\184\238\240\1287\1690\137\026\196\n\204\239\223\184\001\000 \000\000\000\004\000\000\000\000\000 \000\000\000\000\000\000\145C\000\000\000\000\000\000\008\000\000\000\000\000\004\000\000\000\000\000\003\191~\224\004\000\128\000\000\000\016\000\000\000\000\000\128\000\000\000\000\000w\239\220\000\128\016\000\000\000\002\000\000\000\000\000\016\000\000\000\000\000\000H\161\128\000\000\000\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\000\000\000\000\000\000\000\000$P\192\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\004\138\024\000\000\000\000\000\000\000\000\000\000\000\000 \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\018(`\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?\250\254\015.D\128@1\138\227\187\194\000\222\160\192\004k\016('\255_\193\005\200\144\008\0061\\wx@\027\212\024\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\031\253\127\004\023\"@ \024\197q\221\225\000oPa\0025\136\021\152\000\000\000\000\000\000\000\128@\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\128@ \000\000\000\000\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\007\255_\193\005\200\144\t\006\161\\wx@\027\212\024D\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\005 \000 \025\133\001\157\160\000b@ T\001\008\004\016\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\015\254\191\131\203\145 \016\012b\184\238\240\1287\1680\001\026\196\n\t\255\215\240Ar$\002\001\140W\029\222\016\006\245\006\000#X\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\007\255_\193\005\200\144\008\0061\\wx@\027\212\024@\141b\005f\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\000oP`\0025\136\020\019\255\175\224\130\228H\004\003\024\174;\188 \013\234\012\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000 \004\000\000 \000\128\000\000\000\000\132\000\000\000\000\000\000\018(`\000\000\000\000\002\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\001\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\192\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\004\000\017\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\017\000\003\214\171\192\002\000@\000\002\000\008\192\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\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\002\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001\016\000=j\188\000 \004\000\000 \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\001\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\137\000\144j\021\199w\132\001\189A\128H\214 \208@\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\145C\000\000\000\000\000\016\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\000\000\000\000D\000\000\000b\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\000oPa\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 \000\000\000\0020\000\000\001\000\004\000\000\000\006 \000\000\000\000\004\002\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\164\000\004\131@\2243\180\000\004H\004\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\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\001 \208(\012\237\000\001\018\001\000\128\008@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\127\247\254\016\\\137\000\144z\029\199w\132\001\189I\132H\214 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\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\031\253\255\132\023\"@$\030\133q\221\225\000oRa\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\127\247\254\016\\\137\000\128c\021\199w\132\001\189I\132\008\214 V`\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\136\000\000\000\197\255\223\248Ar$\002\001\140W\029\222\016\006\245&\016#X\129Y\128\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@\027\212\152D\141b\005f\255\239\252 \185\018\001\000\198+\142\239\008\003z\147\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\001\000\128@\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\015\254\255\194\011\145 \018\013B\184\238\240\1287\1690\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?\251\255\008.D\128H5\n\227\187\194\000\222\164\194$k\016+0\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\003z\147\008\145\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\016\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\003z\147\008\145\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\001\000\128@\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\015\254\255\194\011\145 \018\013B\184\238\240\1287\1690\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\016\000\000\000\001\024\000\000\000\128\002\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\128\000\000\000\000\000\000\000\000H\156\000\192\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\016 \000\000\000\000\000\000\004\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\016\000\000@\128\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\008\001\000\000\000\000\000\002\000\000\008\016\000\000\000\000\000\000\002\000\000\000\004\000\000\000\000\008\000\016\000\016\000\000\000\000\000\000\000\017\128\016\000 \020\000\000\000\000\000\008\000\000 @\000\000\000\000\000\000\008\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\001\000\001\000\000\000\000\000\000\000\001\024\001\000\000\001@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\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\156\000\192\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\000F\000`\000\000@\000\000\000\004\000\008\000\000\000\000\000\000\000\000\000\008\192\008\000\000\008\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 \004\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\002\000\000\000\000\000\000\000\000\000\0020\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\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\024\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\016\000\000\000\000\000\000\000\000\000\019\128\024\000\000\016\000\000\000\001\000\002\000\000\000\000\000\000\000\000\000\0020\003\000\000\002\000\000\000\000 \000@\000\000\000\000\000\000\000\000\000F\000@\000\000@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\008\192\008\000\000\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\001\024\000\000\000\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\004\000\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\017\128\024\000\000\016\000\000\000\001\000\002\000\000\000\000\000\000\000\000\000\0020\002\000\000\002\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000F\000@\000\000@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\008\192\000\000\000\008\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\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\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\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\0000\000\000\000\000\000\000\000\000\000\000\000\b\001\006\000\000\002\0040\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\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\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\003\252\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\tP\208\002\128\131T\0162\025@\134\0014\002!\222\004\128\001\014d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\012#\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000A\000\002\000\000 \128@\001\129\000\000\000\128\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\000z\246\175\000\001\000\002\000\000 \000@\001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\b\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\134\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\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\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\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\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\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\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0000 E\146J\000\000\000@\000\004\000\000j\128B0F\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\000\000A \134z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\134\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000@\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\000z\246\175\000\001\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\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\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\0000 A\146J\000\000\000@\000\004\000\000B\128B\004\006\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128BTw\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\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\00000A\146K\000\000\000@\000\004\000\000f\128BDF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\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\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000@3\138\001\1903\000\001\132\128@\"\000A\004\134\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\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\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\016\000\018\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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:\246\173\000\001\000\002\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\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\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\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\030Q\134\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\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\001\000\000\000\000@\000\000\000\000\000\000\001\002 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\nq\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\134z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\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\0001\016M\132K\000\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\134\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\144@1\139q\206?\024\001\158\164\192\001\030Q\198\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\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\134\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\006\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026C\144L5\011q\206?\024\003\158\164\192\029\030Q\214\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\016H4\n\001\1423\000\000\132\128@\b\000A\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\018@\016H4\n\001\1423\000\000\132\128@\b\000A\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\144@1\139q\206?\024\001\158\164\192\001\030Q\198\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\024\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\024\001\158\160\192\001\026Q\002\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\000\000\000\000\000\000\000\000\000\000$\000\00010M\182K\000\004\001P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\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\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\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\127\254\191\130\005\026B\144@1\138q\206?\024\001\158\160\192\001\026Q\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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:\246\173\000\001\000\002\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\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\255\194\005\026C\144L5\011q\206?\024\003\158\164\192\025\030Q\214\183\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\030Q\198\134\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\030Q\198\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\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\030Q\198\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\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\030Q\198\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\026QB\134\000\000\000\000\000\000\000\000\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\127\254\191\130\005\026B\144@1\139q\206?\b\001\158\160\192\001\026QB\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\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\016\0000\001\000\134\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\012\004\000\000\000\000\000\002\000\000\000\b\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\000\000\000\127\254\191\130\005\026C\144L5\nq\206?\b\003\158\160\192\t\026Q\018\135\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\144L5\nq\206?\b\003\158\160\192\t\026Q\018\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\191\130\005\026B\144H5\011q\206?\b\001\158\160\192\t\026QB\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\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\024\001\158\160\192\t\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\144@0\nA\142>\000\001\132\128@\000\002Q\002\134\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\144@0\nA\142>\000\001\132\128@\000\002Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\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\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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{\254\191\128\001\018B\144@0\nA\142>\000\001\132\128@\000\002Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00000A\178K\000\004\001@\000\004\128\000b\128@@F\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\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \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\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\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\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\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\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\016\0000\001\000\134\001\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\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\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\030Q\134\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\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\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\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\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\026@\144@1\n\017\2063\b\001\158\160\192\001\024Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000 \002\002\000\000\000\000\000\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\002\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\002\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\128\000\000\000\000\000\000\"\000\000\000\000\000\000 \002\002\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\003\128\130D\016!\000\192\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130F\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130@\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\004\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\164\000!\218\004\128\001\014\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\128\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\001\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\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\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\128\000\000\000\000\000\000\002\000\000\000\001\000\016\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\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\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\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\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\001\b\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000d\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\001\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\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\247\175\016\003\128\130D\016!\016@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\228\130D\016\002X\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\247\175\016\003\128\130D\016!\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\134\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\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\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H=\014q\206?\b\001\158\164\192\t\026Q\002\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\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\000\000\127\254\255\194\005\026B\144H=\nq\206?\b\001\158\164\192\t\026Q\002\183{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\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\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\183\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\002\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\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\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\127\254\191\131\197\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\127\254\191\130\005\026B\144@1\138q\206?\b\001\158\160\192\001\026Q\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\0000\000\000\134\001\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\134\001\000\000\000\128\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\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\006\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\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\127\254\191\130\005\026B\144H5\nq\206?\b\001\158\160\192\t\026Q\002\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\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\b\b\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H=\014q\206?\b\001\158\164\192\t\026Q\002\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\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\000\000\127\254\255\194\005\026B\144H=\nq\206?\b\001\158\164\192\t\026Q\002\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\127\254\255\194\005\026B\144@1\138q\206?\b\001\158\164\192\001\026Q\002\183\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\127\254\255\194\005\026B\144@1\138q\206?\b\001\158\164\192\001\026Q\002\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\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\183\127\254\255\194\005\026B\144@1\138q\206?\b\001\158\164\192\001\026Q\002\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\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\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\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\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\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\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\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\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\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\144H5\nq\206?\b\001\158\164\192\t\026Q\002\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\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\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\016\000\004\000\000\000\000\000\000\000\000\000@\145.\000`\000\000\016\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\128\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\016\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \004\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\006\000@\000\000\020\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\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\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\000\000\000\000\000\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\001\014\000`\000\000\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\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\001\006\000@\002\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\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\001\006\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\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\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\000\000\000\000\000\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\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\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\000\b\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\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\016\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\128\000\000\000\000\000\000\000\000\000\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, "\000\212\000\031\000\000\000\000\000\235\000\000\000\000\000\000\000\212\000\000\000\228\031D\000\000\000\129F\002\000\000\000\000\026v\000\000\031\210\000\000\000\000\000\000\000\000\000\000\000\000\027b\000\000 d\000\000\000\000\000\000\000\000\000\000!P\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000c\000\000\031D!\158G\168\000+GD\000\000\000\000\000\0000h\000rG\168\000\015G\168\000\000\000\156\000\000G\168\000\000\000k\003\250<J\000\000\000\000>\144\000\000@\182\000\000Ad<J<J\018~\018~@\182\018~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?:<J\000\000\000\000?:\000\000?:\000\000?:\000\000\000\000\000\000\020\246\000k\000\000\018~\000\0004^<J\027\176<J\000\000\000\000\000\000\000\000\000\000\000\000\"d<J\000\000#X<J$L<J%@<J\000\000<J\000\000<J&4<J'(<J(\028<J)\016<J*\004<J\000\230<J\000\000\000\000\000\000\000\000\000\000<J*\248<J+\236<J,\224<J\000\000\000\000<J\000\000\000\000\021\144.D\000\000\000\000\000\250\000\000\000\000\000\000\000\000\019F\000\129\000\000.:\000\000\000\160\018~\000\000<J\001\028\000\000\000\000\000k\000\000\000\000\000\000\000\000\001F\000\000\000\000\001\210\000\000\001\212@\182\000\000\000\000\000\000\000\000\000\000\000\000A\232<J\000\000A\232\000\000A\232A\232\000\000\000\0003\018\000k\000\000\018~\001\228\000\000<J\002D\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000FP<J\000\000<J\000\000\000\000\002\136\000\000\000=?\228\003\158<J\003p\000\000\000\000@\182\000=\000\000\000\000\000\000\000\000\000\000G\164@\182HT@\182H\210@\182I$@\182\000\000@\182\000\000@\182I\162@\182J\018@\182Jl@\182J\220@\182KZ<J\003*@\182\000\000@\182K\172@\182L*@\182L\154\003\016\000\000\003V\000\000\001\016<J\000\000\001\016\000\000\000\000\000\234\031D\000\000\000\234\000\000\000\000\003X<J\000\000\003\136\000\000\018~\003\150\000\000\000\000\004r\000\000\018~\003\238\000\000\000\000\004(\000\000\000\000\003\250\000\000\005\030\000\000.DM\030\005\008\005\012\000k\004\134\005BN\012\001\168\000\000\000\000\002$Oh\000\000\000\000\000\000\005^\005`\000k\005\146N\012\002nN\012\000\000\000\000\001\028\000\000\000\000\004\232\000\000\004\234\005\224N\012\005.\000\000\000\000\002$\000\000\005D\006\028\000\000O\150Nv\000\000\000k\0068\000\000\019F\000k\006l\000\000\000\000-\178G\168\005\150\000\000\006\018\000\000\005\156\000\000\000\029\031D\000\000\031D\000\000\005\138\000\000\000\029\000\000\015\238\0086\006\\N\012\005\168\006\130\000\000(\004\000\129\000\000\000|\001\208\031D\005\182\000\000\0009\000\000\000\023\000\000\006\140\000\000\000\000\023~\000\129\000\000\0009\000\000\000\000\000\000\000\000\000\000\006r<J\005\190\019<\006x<J\005\196\006v\000\138\005\240\006\162\000\000B0B\180\018~\005\206\000\000\005\208B\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000C^<J\000\000C^\000\000C^C^\000\000\000\000\024\204\000k\000\000\018~\005\214\000\000<J\005\214\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\184<J\000\000<J\000\000\005\222\000\000\001\016\000\000\000\000\000\000\000\000\000\0004\184B\1805\172B\1806DB\1806\220B\180\000\000B\180\000\000B\1807tB\1808\012B\1808\164B\1809<B\1809\212<J\006\008B\180\000\000B\180:lB\180;\004B\180;\156\018~\005\228\000\000\000\000<\244\000\000\006\190\000\000\001R\006\156<J\006n\000\000\006\170<J\006~\000\000\007(\000\000\006\162\006\162\001R\000\000\001R\000\000\015\238\006\162\006\162\000\000\000\000\000\000\023\216\000\000\000\000\000\000\000\000\006\206<J\006 \019<\020\016\000k\007\000\000\000\006\228=\158\007\n=\158\007\018<J\006@\019<\019<\002`\003\180\001p\000\000\000\000\000\000\003\180\000\000\004v\002`\000\000\000\000\006B\000\000\000\000\000\000\007\026\000\000\007 \000\000\000\000\007X\007\018<J\006^\0078\000\000@\134\007\026\018~\006j\019<\000\000\000\000\006\146\000\000\000\148\000\000\005N\000\000\001R\000\000\000\000\006\224\000\000$4\0086\007&N\012\006t\007L\000\000\000k\000\000\002p<J0\142\000\000C\226<J\006z\000\000\018~\006|\000\000\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\140<J\000\000D\140\000\000D\140D\140\000\000\000\000\029H\000k\000\000\018~\006\134\000\000<J\006\146\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018~\006\154E\016\000\000\000\000<J\001\004<J\006\158\000\000\000\0001</\016\007N<J\000\000\007\024\000\000\000\000\000k\000\000\000\000\006\2200\142\000\000\006\2200\142\000\000\001\250\000\000\000\000\017\172E\016\023^E\016\026\158E\016\029\240E\016\000\000E\016\000\000E\016\030rE\016\031\136E\0163vE\0164\200E\016C\016E\016D>E\016H\"E\016O\240\000\000\006\178\000\000\006\2241\234\000\0002\152\006\2402\1523\190\006\2442\152\000\000\000\000\000\000\000\000\000\000\006\232\000\000\007\198\000\000\000k\000\000\002p\007\204\000\000\007\174\007\158\000k\007\000\007\190N\012\007\018\000\232\000\000<J\007\236\000\000\000\127\003\226\004x\007\212N\012\007 \007\248\000\000\003\028<J\007\250\000\000\008\000\000\000\019F\000k\003$<J\008\006\000\000\008\n\000\000\011\242\001\028\000\000\011\242\000\000\000\000\021\234\003F<J\008\012\000\000\008\014\000\000\000\000\007\248\007\234\000k\007L\008\006N\012\007T\001\252\000\000<J\008.\000\000\001\028\000\000\000\000\007\246\000\000\011\242\000\000\008\022\018~\007b\008:\000\000\000>\000\000\008\"N\012\007t\008T\000\000\003\248<J\008X\000\000\008^\000\000\019F\000k\004\166<J\008d\000\000\008f\000\000\000\000\000\000\007\246\000\000\000\000\001\028\000\000\006\162\000\000\000>\000\000\000\000\001\254\020\016\000\000\001\254\000\000\000\000\007\150\000\000\003\024\000\003\019<\000\000\003\250\000%\003\250\000\000\000\148\000\000\006\162\000\000\006\162\000\000\000\000\000\000\007\144\000\000\000\000\007\154\000\000\003:\005N\000%\003\250\000\000\000\000\000\000\000\148\000\000\006\162\000\000\003:\000\000\000\000\000\234\000\015\015\238\000\000\020\016\000\000\tJ\015\238\000\000\000\000\tJ\000\000\000\000\007\156\000\000\000\000\007\174\000\000\004z\006\162\000\000\004z\000\000\000\000\008&\000\000\001\028\000\000\006\162\000\000\000\000\000\000\0176>H\000\000\008\140\000\000\0176\008\142\000\000\008\148\000\000$4\000k\002*\000\000<J\008\150\000\000\008x\008h\000k\007\200\008\128N\012\007\204\002\180\000\000<J\008\166\000\000\000\127\003\174\000\000<J\008\168\000\000\019F\000k\004:\000\000<J\008\172\000\000\004\174\0176\000\000\021\234\005d\000\000<J\008\174\000\000\000\000\000\000\008\144\008\132\000k\007\236\008\164N\012\007\242\005\198\000\000<J\008\204\000\000\005\026\000\000\008\174\018~\007\250\008\210\000\000\004\018\000\000\005\248\000\000<J\008\218\000\000\019F\000k\005\254\000\000<J\008\224\000\000\004\174\000\000\000\000\008*\000\000\005\026\008\226\008\158\000\000\000\000\000\000\008\174\000\000\000\027\002r\000\000\015\238\t\000\000\000\000\000<J\008f\006\162\000\000\008<\000\000\000\138\000\000\000\000\000\025\015\238\000\000\015\238\000\000\008.\000\000\000\025\000\000@\182\002\154@\182\000\000@\182\000\000\0080\000\000\002\154\000\000\019<\004\220\019<\000\000\019<\000\000\0082\000\000\004\220\000\000@\182\002\154\0086\000\000#@\000k\0058#@\000\000#@\000\000\008H\000\000\0058\000\000@\182\002\154\008J\000\000\000\000\023\006\000\000\000\000\000\000\000\000\000\000\025\232\029\004\000\000\005\136\000\000\0008\000\000\000\000\008\150\000\127\000\000\000\000\000\000\000\000\000\230\0008\000\000\004\016\002\020\0008\000\000\000P\0008\000\000\008n\000\000\000\000\000\000\000\000\000\000\000\000\008\240\000\000\0304\000\000\031D\0008\000\000\003\240\0008\000\000\008\242\000\000\0008\008\244\000\000\007z\0008\008\252\000\000\t\002\000\000\n\194\0008\0008\008\140\0008\t\018\000\000\t\022\000\000\t\024\000\000\031D\000\000\001\164\031D\000\000\008\156\006\220\000\000\002\236\0008\000\000\004|\0008\000\000\005\012\001<\000\127\000\000\t\230\000\127\000\000\008\158\000\000\000\000\000\000\000\000\t \000\000\012\022\018\"\t$\000\000\t,\000\000\0008\t.\000\000\0008\t0\000\000\0008\t8\000\000\t\022\0008\tJ\000\000\0080\016\218\0008\008\208\0008\tN\000\000\tP\000\000\000\000\004\204\0008\000\000\005d\002\220\002\220\000\000\000\000\000\000\004\138\002\220\000\000\008\214\000\000\000\000\000\000\000\000\0008\000\000\005\136\0008\000\000\005\220\005\024\000\127\008\216\000\000\000\000\000\000\000\000\tZ\000\000\t\\\000\000\0008\t`\000\000\012,\018\"\tb\000\000\tj\000\000F\006\t \tL\017l\0008\t~\000\000\000\000\t\130\000\000\tbF\006\0008\t\146\000\000\0008\t\148\000\000\t\150\000\000\n\216\t\028\0008\t\156\000\000\t\158\000\000\000\127\t\024\000\000\000\000\023\006\000\000\000\000\002F\n\002\000\000\000\000\001\027\000\000\000\000\000\000<J\000z\nB\tj\t\240@\182\000\000\0036@\182\000\000\tB\000\000\000\000\000\000\000\000\000\000\002\166\000\000\003\170\000\000\000\000\000\000\003\250&\028\003\202&\028&\028\003\202\000\000\000\000\0028\0028\0028\0028\000\000\000\000\000\000\000\000\000\000\000\000\001R\015\238\n\012\013F\001\028\000\000\000\000\001\028\000\000\007\246\000\0000\142\tH\000\000\001R\015\238\tV\014\154\000\000\001R\013F\000\000\000\000\000\000$4\t\156\000\000\000z\000\000\000\000\t\190\000\030\nHN\186\000\000\005\022P&\000\000\000\000\nJ\n:\000k\000\000\000k\000\000\005\022\000\000\005JN\186\000\000\000\000\t\152\nJ\006\162\t\152\000\000\nn\001\028\000\000\007\246\000\000\003\128\001\174\000\000\000\000\n8\000\000\000\000\002F\000\000\004\198\000\000\000\000\000\000<J\000z\000\000\002\166\000\000\005\n\000\000\000\000\000\000\005N\000\000\n\158\002b\n\158\000\000\006\162\n\158\000\000\003\196\000\000\006\162\000\000\006\162\000\000\006\162\000\000\000\000\000\000\000\000\000\000\000z\000\000\006\162\000\000\003\196\000\000\006\162\000\000\004\212\000\000\000\000\tJ\t\202\000\127\002\148\nt\002\142\000\000\002\142\n\160\000\000\n\162\000\000\n\166\000\000\000\000\003R\002\142\016\134\002\142\000\000\000\000\005>\t\180\000\000\tJ\n\170\000\000\006,\003^\n\186\011\194\n\186\000\000\000\000\002\030\000\127\000\000\002F\n\012\000\000\000\000\000\000\005\206\000\000\t\190\000\000\000\000\000\000\000\000\tJ\006,\003^\002\030\002F\005\206\t\192\000\000\006,\003^\002\030\002F\005\206\t\196\000\000\000\127\000\000\n\192\n\188\n\000\000\127\n\\\000\000"), (16, "\n\237\n\237\n\237\n\237\n\237\n\237\n\237\n\237\n\237\n\237\n\237\000:\n\237\n\237\n\237\n\237\n\237\n\237\n\237\n\237\n\237\n\237\000\n\001^\020\131\020\135\n\237\012\022\001j\020\139\006\025\006\002\n\237\016\130\n\237\n\237\n\237\000\158\007y\n\237\017r\008J\000\014\n\237\n\237\005\129\n\237\002\150\000\023\000\027\008~\005\129\008J\007y\000\218\n\237\000\162\000\194\n\237\n\237\004\t\008~\017v\000\250\n\237\n\237\000\162\n\237\006j\n\237\000\198\000J\017z\000N\n\237\000V\n\237\n\237\n\237\n\237\n\237\013\006\000Z\000\158\n\237\n\237\n\237\ny\n\237\n\237\n\237\005\129\n\237\n\237\n\237\n\237\006\n\0182\016\138\n\237\n\237\001^\017\134\007y\005Z\001f\001j\003\198\000\162\n\237\n\237\n\237\000\162\n\237\n\237\n\237\n\237\001^\n\237\t\158\n\237\012\022\001j\n\237\t\146\n\029\n\237\n\237\006\025\000\242\t\158\013~\n\237\008J\000\162\013\174\n\237\000\006\004\t\n\237\016B\000^\008~\n\237\n\237\n\237\n\237\000\162\n\237\n\237\000\162\007y\004\t\n\237\n\237\n\237\005\193\n\237\005\217\n\237\n\237\017\138\n\237\007y\n\237\n\237\012\002\013\006\n\237\n\237\006!\006!\006!\006!\006!\006!\006!\006!\006!\006!\006!\n\029\006!\006!\006!\006!\006!\006!\006!\006!\006!\006!\t\146\017\178\020\150\004\162\006!\008N\008^\008n\n\161\008J\006!\001^\006!\006!\006!\012\022\001j\006!\008~\t\158\n\209\006!\004\138\006\194\006!\000.\006\"\016\162\016\202\016\242\017\002\017.\016Z\006!\0069\0069\018\150\005\145\004\t\0069\000\158\002\206\006!\006!\000\162\003\137\001\006\006!\006!\000n\011\145\000r\006!\000z\006!\006!\006!\006!\006!\012\006\000~\002J\006!\006!\006!\022+\006!\006!\006!\000\162\006!\006!\006!\006!\022/\n\174\017\150\006!\006!\005\185\005\185\005\233\000\158\011\145\0222\000\162\005\129\t\158\006!\006!\002\166\006!\006!\006!\006!\000\218\006!\n\186\006!\006\142\005\241\006!\006\146\007e\006!\006!\021\n\007e\006\150\002\222\006!\000\162\012\194\006\154\021\014\011\145\011\145\006!\017z\000\130\011\145\006!\006!\006!\006!\0061\006!\006!\002\254\t\n\n\166\006!\006!\006!\006A\014\230\006A\006!\006!\006A\006!\013\138\006!\006!\017\166\023\146\006!\006!\006A\006A\006A\006A\006A\006A\006A\006A\006A\006A\006A\008r\006A\006A\006A\006A\006A\006A\006A\006A\006A\006A\n\137\018b\008J\002a\006A\020r\006A\002a\n\129\023\018\006A\008~\006A\006A\006A\006A\016\170\006A\006A\006A\006A\006A\006A\006A\006A\006A\005\169\012\198\003\n\003\018\n\222\023\022\000\158\006A\015\022\0061\006A\003f\023\026\0061\0061\006A\006A\006A\006A\006A\003\213\006A\006A\006\017\014\234\023\134\006A\020r\006A\023\154\006A\006A\006A\003\161\023\158\000\162\006A\006A\006A\005>\006A\006A\006A\005\161\006A\006A\006A\006A\019N\0061\008Y\014\170\006A\t\002\t\158\016\178\014\174\006A\t\146\t\218\n\137\003r\006A\006A\n\137\006A\006A\006A\006A\003\161\006A\023\"\006A\003\017\023n\006A\005f\011\206\006A\006A\002\141\n\137\008Y\008Y\006A\023\n\004\138\008Y\006A\006)\019R\006A\016.\015\026\003\190\006A\006A\000\162\006A\023:\006A\006A\023*\013\254\005\129\006A\0081\005\129\0035\018z\013\006\005\129\006A\005\129\006A\005\209\006A\006A\005\129\005\129\006A\006A\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\015.\000\146\020\234\000\150\006\150\000\154\000\174\000\178\000\182\006\154\020\242\t\146\0126\001^\003\206\006\158\012V\012\022\001j\003\214\008J\000\186\004V\001\030\006\174\006\202\004\193\004z\006\206\008~\011\206\005\241\000\190\012\138\011\206\008:\006)\n\137\005\137\002\150\006)\006)\004%\020\174\001*\004\193\000\162\021.\005\249\n\145\015\214\011\206\006)\008\146\006\214\021Z\021f\001\026\008\150\013\186\007=\023J\004\130\001R\004\186\001V\003\229\000\206\t\154\008\158\015J\017\162\023B\006\234\001^\008\162\006)\006\238\008\166\001j\n\177\006\242\006\246\008\170\006\250\0152\001^\004\198\005\129\008\174\012\022\001j\007=\007=\008Y\004\210\006i\007=\t\158\006\254\007\002\004\189\008\178\008\182\007\006\008\186\t\006\000\162\004\222\008\206\005\177\004\193\003\193\020\219\020\223\008\218\007\014\004!\020\227\000\162\004\189\006I\013\"\005\137\n\137\021z\008Y\008Y\008\250\004\193\014~\008Y\008\254\t:\003\229\t\166\017\246\007\018\t>\004\234\011\206\005\137\007\022\003\229\003\229\005\137\016\210\013\006\003\229\tF\n\193\007\026\006i\006I\006I\015N\015^\001\154\006I\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\004\246\000\146\020\234\000\150\006\150\000\154\000\174\000\178\000\182\006\154\020\242\0039\015\186\001^\005\n\006\158\004\189\012\022\001j\005\026\n\185\000\186\017\014\001\030\006\174\006\202\0039\018\146\006\206\0085\005\030\019\154\000\190\t\"\004\189\008:\018\134\003\021\006\001\013B\004\138\016\218\023:\019b\001*\005&\000\162\008J\005*\015n\n\153\0085\006Y\008\146\006\214\021Z\008~\011\206\008\150\014\002\008\145\0085\005R\001R\006\t\001V\003\245\000\206\t\154\008\158\017j\019J\005V\006\234\001^\008\162\019>\006\238\008\166\001j\000\162\006\242\006\246\008\170\006\250\022K\022O\017\022\005^\008\174\022S\0085\008\145\008\145\005\130\005\138\006Q\008\145\015\166\006\254\007\002\005\225\008\178\008\182\007\006\008\186\0039\000\162\006Y\008\206\0039\0039\003\193\021\190\n\201\008\218\007\014\005\153\005\241\022o\022s\006q\0039\015\222\022w\t\158\015\250\005\142\008\250\005\150\0035\019\150\008\254\t:\015r\t\166\0085\007\018\t>\021\238\005\170\005\174\007\022\002\129\003\245\0035\0039\005\201\023B\tF\0085\007\026\006Q\006q\006q\005\198\006a\001\154\006q\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\019\138\000\146\020\234\000\150\006\150\000\154\000\174\000\178\000\182\006\154\020\242\005\214\023\166\015\170\005\234\006\158\005\242\005\250\006\023\006.\0066\000\186\006:\001\030\006\174\006\202\006Z\006r\006\206\005\129\006\162\006\170\000\190\006\178\006\186\008:\006\190\006\198\015\226\006\222\006\230\015\254\006a\007>\001*\007J\007\146\008J\005%\008\n\0082\005\129\008F\008z\006\214\0035\008~\008R\008\150\0035\0035\005\129\008Z\001R\008b\001V\004\017\000\206\008\154\008\158\008j\0035\023\n\006\234\001^\008\162\008\190\006\238\008\166\001j\008\198\006\242\006\246\008\170\006\250\008\214\005\129\008\222\011\153\008\174\008\230\005\129\002\150\008r\008\238\0035\008\246\t2\tB\006\254\007\002\tJ\008\178\008\182\007\006\008\186\tV\000\162\018\022\008\206\tZ\tb\003\193\tf\tr\008\218\007\014\tz\t\138\t\174\t\190\008a\t\198\t\202\t\242\t\158\t\254\008v\008\250\n\006\017v\nZ\008\254\t:\004\017\t\166\005\129\007\018\t>\nf\017z\n\154\007\022\004\017\004\017\n\182\n\202\n\214\004\017\tF\005\129\007\026\n\238\008a\008a\n\250\011\130\001\154\008a\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\017\134\000\146\011\138\000\150\006\150\000\154\000\174\000\178\000\182\006\154\011\154\014\170\011\166\011\194\011\202\006\158\014\174\011\222\011\230\011\234\014\178\000\186\011\242\001\030\006\174\006\202\011\246\005\129\006\206\019\022\005\129\011\254\000\190\012\014\005\129\008:\005\129\012\"\012*\012.\012>\005\129\005\129\012F\001*\000\162\012^\008J\012f\012\146\012\154\017v\016.\008z\006\214\012\166\008~\012\170\008\150\017\138\012\178\017z\012\182\001R\012\190\001V\012\206\000\206\008\154\008\158\012\242\012\250\012\254\006\234\001^\008\162\013\014\006\238\008\166\001j\013\022\006\242\006\246\008\170\006\250\013\026\005\129\013*\011\153\008\174\0132\017\134\000:\013J\013R\000\218\013\162\013\234\013\246\006\254\007\002\014j\008\178\008\182\007\006\008\186\001^\000\162\014v\008\206\001f\001j\014\150\014\194\014\206\008\218\007\014\014\214\014\242\014\250\014\254\011\153\015\006\015\n\015\018\t\158\015\"\015:\008\250\015V\015z\015\138\008\254\t:\015\142\t\166\000\162\007\018\t>\000\162\015\150\015\154\007\022\015\162\005\129\015\178\015\194\015\202\015\206\tF\017\138\007\026\015\234\011\153\011\153\016\006\015\214\001\154\011\153\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\016\026\000\146\016*\000\150\006\150\000\154\000\174\000\178\000\182\006\154\016:\016R\016b\016n\004\162\006\158\016\151\016\191\016\231\003\173\016\255\000\186\001^\001\030\006\174\006\202\012\022\001j\006\206\017#\017;\022\254\000\190\007\129\003\173\008:\006\142\017~\017\190\006\146\017\219\018\003\018\015\021\n\001*\006\150\018\031\008J\007\129\018'\006\154\021\014\018:\008z\006\214\000\162\008~\018C\008\150\018K\018S\018n\018\174\001R\018\195\001V\018\211\000\206\008\154\008\158\018\219\018\231\018\243\006\234\001^\008\162\018\255\006\238\008\166\001j\019\006\006\242\006\246\008\170\006\250\019\015\019\"\019+\0193\008\174\019n\019\162\005\233\019\183\019\191\011\230\019\203\019\219\007\129\006\254\007\002\019\227\008\178\008\182\007\006\008\186\019\238\000\162\019\242\008\206\023Z\019\255\n\169\020\011\003\173\008\218\007\014\023^\003\173\003\173\020\018\020\031\020+\0203\020>\t\158\020G\020O\008\250\020[\003\173\003\173\008\254\t:\020v\t\166\020\154\007\018\t>\020\158\020\162\006\142\007\022\020\186\006\146\021:\007\129\021b\021\n\tF\006\150\007\026\021r\003\213\003\173\006\154\021\014\001\154\007\129\0002\006&\000F\000b\006>\000f\006\142\000j\000\134\006\146\000\138\021\170\000\146\020\234\000\150\006\150\000\154\000\174\000\178\000\182\006\154\020\242\021\178\021\206\021\210\021\254\006\158\022\002\022\n\018.\0227\023\002\000\186\n\169\001\030\006\174\006\202\n\169\n\169\006\206\017r\012\166\023\014\000\190\023\030\023&\008:\023.\023W\023b\023r\017v\023\150\023\175\023\219\001*\023\247\024\006\024\n\024\014\018\162\017z\017v\024\023\008\146\006\214\000\000\n\169\000\000\008\150\022\134\000\000\017z\n\169\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\017\134\006\242\006\246\008\170\006\250\000\000\020:\000\000\003\213\008\174\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\254\007\002\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\003\193\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\008E\000\000\000\000\000\000\000\162\000\000\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\162\007\018\t>\017\138\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\017\138\007\026\000\000\008E\008E\000\000\000\000\001\154\008E\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\nq\000\000\000\000\000\000\000\000\006\158\000\000\000\000\017r\000\000\000\000\000\186\000\000\001\030\006\174\006\202\000\000\000\000\006\206\017r\000\000\000\000\000\190\000\000\000\000\008:\000\000\000\000\000\000\000\000\017v\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\017z\017v\000\000\008\146\006\214\000\000\000\000\000\000\008\150\012n\000\000\017z\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\018\202\006\242\006\246\008\170\006\250\000\000\000\000\000\000\011u\008\174\nq\019\210\000\000\000\000\nq\nq\000\000\000\000\000\000\006\254\007\002\000\000\008\178\008\182\007\006\008\186\nq\000\162\000\000\008\206\000\000\000\000\000\000\000\000\000\000\008\218\007\014\023v\000\000\000\000\000\000\011u\000\000\000\000\000\000\000\162\000\000\000\000\008\250\000\000\nq\000\000\008\254\t:\000\000\t\166\000\162\007\018\t>\017\138\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\017\138\007\026\000\000\011u\011u\000\000\000\000\001\154\011u\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\021>\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\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\011\193\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\193\011\193\000\000\000\000\001\154\011\193\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\021>\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\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\011\189\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\189\011\189\000\000\000\000\001\154\011\189\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\0031\000\000\000\000\000\000\006\254\007\002\000\000\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\0031\000\000\000\000\000\000\000\000\008\218\007\014\000\000\017r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0031\000\000\008\250\000\000\000\000\000\000\008\254\t:\000\000\t\166\000\000\007\018\t>\000\000\017v\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\tF\017z\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\019\026\000\000\000\000\n\029\000\000\017\134\000\000\000\000\000\000\000\000\000\186\000\000\001\030\000\000\006\202\0031\004\169\006\206\000\000\0031\0031\000\190\000\000\000\000\014\182\000\000\000\000\000\000\n\029\000\000\000\000\0031\000\000\001*\000\000\000\000\000\000\000\000\004\169\000\000\000\000\000\000\014\198\006\214\000\000\000\000\0031\000\000\004\169\000\000\000\162\000\000\001R\000\000\001V\0031\000\206\023B\000\000\011\018\000\000\000\000\006\234\001^\017\138\000\000\006\238\001f\001j\000\000\006\242\006\246\008\170\006\250\000\000\000\000\n\017\011\026\004\169\004\169\000\000\000\000\000\000\000\000\n\029\000\000\000\000\000\000\006\254\007\002\000\000\000\000\011\"\007\006\000\000\000\000\000\162\000\000\011b\011j\000\000\n\017\000\000\000\000\000\000\007\014\000\000\017r\011B\000\000\000\000\011*\000\000\011:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\169\t\166\000\000\007\018\014\202\000\000\017v\000\000\007\022\000\000\000\000\011J\000\000\000\000\004\169\014\210\017z\007\026\000\000\0002\0006\000F\000b\001\154\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\n\017\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\n)\000\000\017\134\011R\000\000\000\000\000\000\000\186\000\000\001\030\0112\001\"\000\000\000\000\001&\000\000\000\000\000\000\000\190\000\000\000\000\000\000\004\253\000\000\000\000\n)\000\000\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\000\000\011r\011Z\001F\001B\000\000\001J\000\000\000\000\000\000\000\000\000\162\000\000\001R\000\000\001V\000\000\000\206\000\000\000\000\000\000\000\000\000\000\001Z\001^\017\138\000\000\001b\001f\001j\001\190\001n\001r\000\000\001v\000\000\000\000\000\000\000\000\000\000\002\186\000F\000b\000\000\000f\n)\000j\000\134\000\000\000\138\001z\000\146\000\000\000\150\001~\000\154\000\174\000\162\000\182\000\000\006\158\000\000\000\000\000\000\000\000\000\000\001\134\000\000\001\030\006\174\006\202\000\186\000\000\006\206\000\000\001\138\000\000\000\000\000\000\000\000\008:\000\000\000\190\000\000\000\000\000\000\000\000\001\142\000\000\001*\000\000\000\000\001\146\000\000\000\000\003\133\000\000\000\000\008\202\006\214\000\000\001\150\000\000\008\150\000\000\000\000\000\000\001\154\001R\000\000\001V\000\000\000\000\000\000\008\158\000\000\000\000\000\206\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\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\008\178\008\182\007\006\008\186\000\000\000\162\000\000\008\206\000\000\000\000\000\162\000\000\000\000\008\218\007\014\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\000\008\250\001\030\006\174\006\202\008\254\t:\006\206\000\000\000\000\007\018\t>\007y\000\000\008:\007\022\000\000\t\146\000\000\000\000\000\000\000\000\tF\001*\007\026\000\000\008J\007y\000\000\000\000\001\154\000\000\006\210\006\214\000\000\008~\000\000\008\150\000\000\000\000\000\000\000\000\001R\000\000\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\000\000\000\000\000\000\008\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007y\006\254\007\002\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\t\158\011\213\000\000\008\250\011\213\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\213\000\000\007y\000\000\011\213\tF\000\000\007\026\001\178\011\213\000\000\000\000\000\000\001\154\007y\011\213\000\000\000\000\011\213\011\213\000\000\011\213\011\213\000\000\000\000\001\186\000\000\011\213\002\214\000\000\000\000\011\213\000\000\000\000\011\213\000\000\011\213\011\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\213\000\000\011\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\213\005\129\000\000\000\000\000\000\000\000\002\226\000\000\000\000\000\000\000\000\005\129\005\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\213\011\213\011\213\000\000\011\213\011\213\002\230\000\000\011\213\000\000\000\000\000\000\004!\005\129\000\000\004!\002\238\000\000\005\129\002\150\011\213\000\000\005\129\011\213\011\213\011\213\011\213\000\000\000\000\000\000\004!\011\213\011\213\011\213\004!\011\213\011\213\011\213\004!\004!\000\000\000\000\000\000\000\000\000\000\004!\000\000\000\000\004!\004!\000\000\004!\004!\000\000\005\129\004!\000\000\004!\004!\000\000\000\000\004!\000\000\005\129\004!\000\000\004!\004!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\129\000\000\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\005\129\000\000\004!\005\129\005\129\000\000\000\000\005\129\004!\000\000\000\000\000\162\000\000\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!\004!\004!\000\000\004!\004\189\004!\000\000\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\000\004!\004!\004!\017F\004!\004!\004!\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\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\000\000\000\000\001=\000\000\000\000\000\000\006~\006J\000b\001=\000f\000\181\006N\000\134\001=\000\138\000\000\000\146\000\000\000\150\000\000\000\154\000\174\001=\000\182\000\000\000\000\000\000\000\000\011\026\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\001=\011\"\000\000\001=\000\000\000\190\000\000\000\181\000\181\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\011B\000\000\001=\011*\001=\011:\000\000\001=\000\000\001=\000\000\000\000\004%\000\000\001=\004%\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\011J\000\000\000\000\000\000\004%\000\000\001=\000\000\004%\001=\001=\000\000\004%\004%\000\000\000\000\000\000\000\000\000\000\004%\017N\000\000\004%\004%\000\000\004%\004%\000\000\000\000\004%\000\000\004%\004%\000\000\000\000\004%\011R\000\000\004%\000\000\004%\004%\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\181\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\181\011Z\000\000\004%\000\000\000\000\000\000\000\000\000\000\004%\000\000\000\000\000\000\000\000\000\000\000\000\000\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%\000\000\004%\000\000\000\000\000\000\012)\000\000\000\000\012)\004%\000\000\000\000\000\000\004%\000\000\000\000\004%\000\000\004%\000\000\000\000\000\000\000\000\012)\004%\004%\004%\012)\004%\004%\004%\007.\012)\000\000\000\000\000\000\000\000\000\000\012)\000\000\000\000\012)\012)\000\000\012)\012)\000\000\000\000\0076\000\000\012)\007B\000\000\000\000\012)\000\000\000\000\012)\000\000\012)\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\012)\000\000\012)\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\007N\000\000\000\000\000\000\000\000\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)\012)\012)\000\000\012)\000\000\007R\000\000\012)\000\000\n\013\n\013\n\013\n\013\000\000\n\013\007Z\n\013\n\013\000\000\n\013\000\000\n\013\012)\n\013\012)\n\013\n\013\n\013\n\013\000\000\012)\012)\012)\000\000\012)\012)\012)\000\000\000\000\000\000\n\013\n\013\n\013\000\000\000\000\000\000\000\000\n\013\000\000\000\000\000\000\000\000\n\013\000\000\000\000\000\000\017^\000\000\000\000\000\000\017f\000\000\000\000\000\000\000\000\000\000\n\013\000\000\000\000\000\000\000\000\000\000\000\000\n\013\000\000\000\000\000\000\000\000\n\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\n\013\000J\004E\000N\004E\000V\004E\000\000\004E\000\000\000\000\000\000\000Z\004E\004E\000\000\000\000\000\000\000\000\000\000\n\013\000\000\000\000\n\013\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\013\000\157\004E\004E\000\000\n\013\000\000\n\013\004E\000\000\n\013\000\000\n\013\000\000\000\000\000\000\000\000\n\013\000\000\000\157\n\013\000\000\000\000\000\000\004E\000\000\000\000\004E\000\000\000\000\000\000\000\000\004E\004E\011\"\n\013\004E\000^\017\222\n\013\000\157\000\157\000\000\000\000\004E\000\000\000\000\000\000\004E\004E\000\157\000\000\000\000\011*\000\000\011:\000\000\000\000\004E\000\000\000\000\000\000\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\000\157\004E\000\000\000\000\000\000\000\000\004E\004I\000\000\000n\004I\000r\004I\000z\004I\004E\004I\000\000\000\000\000\000\000~\004I\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004I\004E\000\157\000\000\004E\004E\000\000\000\000\004E\0112\004I\004I\000\000\004E\004E\000\000\004I\000\000\004E\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\004I\000\000\000\000\004I\000\157\000\157\000\000\000\000\004I\004I\000\000\000\000\004I\000\130\001\137\000\000\000\000\000\000\001\137\000\000\004I\000\000\000\000\001\137\004I\004I\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\004I\001\137\001\137\000\000\000\000\000\000\000\000\001\137\000\000\000\000\004I\001\137\000\000\000\000\001\137\000\000\001\137\001\137\000\000\004I\000\000\000\000\000\000\000\000\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004I\000\000\000\000\000\000\001\137\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\004I\000\000\000\000\004I\004I\000\000\000\000\004I\000\000\000\000\000\000\000\000\004I\004I\000\000\000\000\000\000\004I\000\000\001\137\001\137\001\206\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\002z\001\137\001\137\000\000\001\137\001\137\001\137\t\253\t\253\t\253\t\253\000\000\t\253\000\000\t\253\t\253\000\000\t\253\000\000\t\253\000\000\t\253\000\000\t\253\t\253\t\253\t\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\253\t\253\t\253\000\000\000\000\000\000\000\000\t\253\000\000\000\000\000\000\000\000\t\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\241\t\253\000\000\000\000\000\000\000\000\000\000\000\000\t\253\000\000\000\000\000\000\000\000\t\253\000\000\000\000\000\000\000\000\011\241\000\000\000\000\000\000\t\253\000\000\000\000\000\000\nJ\000\000\000\000\000\000\000\000\000\000\000\000\011\241\000\000\000\000\000\000\000\000\000\000\011\241\011\241\000\000\t\253\nR\000\000\t\253\n^\000\000\000\000\011\241\000\000\000\000\011\241\000\000\011\241\000\000\t\253\000\000\000\000\000\000\000\000\t\253\000\000\t\253\000\000\000\000\t\253\000\000\t\253\000\000\000\000\000\000\000\000\t\253\000\000\011\241\t\253\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\t\253\000\000\nj\017b\t\253\n\001\n\001\n\001\n\001\000\000\n\001\000\149\n\001\n\001\000\000\n\001\000\000\n\001\000\000\n\001\011\241\n\001\n\001\n\001\n\001\nn\000\149\011\241\000\000\000\000\000\000\000\000\000\149\000\149\000\000\nv\n\001\n\001\n\001\011\241\000\000\000\000\000\149\n\001\000\000\011*\000\000\000\149\n\001\000\000\000\000\000\000\017\226\000\000\011\241\011\241\000\000\000\000\000\153\000\000\000\000\000\000\n\001\000\000\000\000\000\000\000\000\000\000\000\149\n\001\000\000\000\000\000\000\000\000\n\001\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\n\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\n\001\000\149\000\000\n\001\000\153\000\000\000\000\011*\0112\000\153\000\000\000\000\000\000\000\000\n\001\000\000\000\000\000\000\000\000\n\001\000\149\n\001\000\000\000\000\n\001\000\000\n\001\000\000\000\000\000\000\000\153\n\001\000\000\000\000\n\001\000\149\000\149\000\000\0002\0006\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\n\001\000\146\000\000\000\150\n\001\000\154\000\174\000\178\000\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\017\234\000\186\018\006\000\000\0112\000\000\000\000\018\018\000\000\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\169\018*\000\000\000\000\000\000\000\000\000\153\000\153\000\202\000\000\000\000\000\000\000\000\018V\000\000\000\000\000\000\000\000\011\026\000\000\000\000\004}\000\206\000\000\004}\000R\004}\000\000\004}\000\000\004}\000\000\000\000\011\"\000\000\004}\004}\000\000\000\000\000\169\000\169\000\000\018v\000\000\000\000\018\198\000\000\000\000\004}\000\169\000\000\000\000\011*\000\000\011:\000\000\018\222\000\000\004}\004}\000\000\018\234\000\000\008-\004}\000\000\018\246\000\000\019\002\000\000\000\000\000\000\000\000\019\018\000\000\011J\019\194\000\000\000\000\000\000\004}\000\000\000\000\004}\000\000\000\000\000\000\000\000\004}\004}\000\000\019\206\004}\004}\004\129\019\230\000\000\004\129\000v\004\129\004}\004\129\000\000\004\129\004}\004}\000\000\000\000\004\129\004\129\000\000\000\169\000\000\000\000\004}\000\000\000\000\000\000\0112\000\000\000\000\004\129\000\000\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\169\004\129\004\129\004}\000\000\000\000\000\000\004\129\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\169\004}\000\000\000\000\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\000\000\004\129\004\129\004}\000\000\000\000\004}\004}\000\000\004\129\004}\000\000\000\000\004\129\004\129\004}\004}\000\000\000\000\000\000\004}\000\000\000\000\004\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\129\000\000\000\000\000\000\000\000\004\129\004\133\000\000\000\000\004\133\000\142\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\133\004\129\000\000\000\000\004\129\004\129\000\000\000\000\004\129\000\000\004\133\004\133\004\185\004\129\004\129\004\185\004\133\004\185\004\129\004\185\000\000\004\185\000\000\000\000\000\000\000\000\004\185\004\185\000\000\000\000\000\000\000\000\004\133\000\000\000\000\004\133\000\000\000\000\000\000\004\185\004\133\004\133\000\000\000\000\004\133\004\133\000\000\000\000\000\000\004\185\004\185\000\000\004\133\000\000\000\000\004\185\004\133\004\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\133\000\000\000\000\000\000\000\000\004\185\000\000\000\000\004\185\000\210\004\133\000\000\000\000\004\185\004\185\000\000\000\000\004\185\004\185\004\133\000\000\000\000\000\000\000\000\004\133\004\185\000\000\000\000\000\000\004\185\004\185\000\000\000\000\004\133\000\000\000\000\000\000\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\185\000\000\000\000\000\000\004\133\000\000\000\000\004\133\004\133\004\185\000\000\004\133\001\238\000\000\004\185\002B\004\133\004\133\000\000\000\000\000\000\004\133\000\000\004\185\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\004\185\000\000\002\002\004\185\004\185\002\001\002\001\004\185\002b\002j\000\000\000\000\004\185\004\185\002\001\000\000\000\000\004\185\002\"\000\000\000\000\002\n\000\000\002\026\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\000\000\000\000\002*\000\000\002\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\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\002\001\0022\000\000\000\000\002\001\002\001\000\000\000\000\002\018\000\000\000\186\000\000\000}\000\000\000\000\000}\000\000\000\000\000\000\000\000\002\001\000\190\000\000\002\001\002\001\002\001\002\001\000\000\000\000\000\000\001\250\000\000\002\001\002\001\000}\002r\002:\002\001\000\000\000}\000\000\000\000\000\202\000\000\000\000\002\002\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\206\000}\000\000\000\000\000\000\002\"\000\000\000\000\002\n\000\000\002\026\000}\000\000\000\000\000\000\000\000\008\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\162\000\000\000\000\000}\0002\t\182\000F\000b\000\000\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\020\234\000\150\006\150\000\154\000\174\000\178\000\182\006\154\020\242\000}\0022\t\166\000\000\000}\000}\000\000\000\000\002\018\000\000\000\186\000\000\000e\000\000\000\000\000e\000\000\000\000\000\000\000\000\000}\000\190\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000e\000\000\000}\000}\000e\000}\002:\000}\000\000\000e\000\000\000\000\000\202\000\000\000\000\002\002\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\206\000e\000\000\000\000\000\000\000e\000\000\000\000\002\n\000\000\002\026\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\000e\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\162\000\000\000\000\000e\000\000\003\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018\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\n\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\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\238\000F\000b\000\000\000f\006\142\000j\000\134\006\146\000\138\000\000\000\146\020\234\000\150\006\150\000\154\000\174\000\000\000\182\006\154\020\242\000]\000]\000\000\000\000\000]\000]\000\000\000\000\002\018\000\000\000\186\000\000\000a\000\000\000\000\000a\000\000\000\000\000\000\000\000\000]\000\190\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000a\000\000\000]\000]\000a\000]\000]\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\206\000a\000\000\000\000\000\000\000a\000\000\000\000\002\n\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\003\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018\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\250\000\000\000a\000a\000q\000a\000a\000a\000\000\000q\000\000\000\000\000\000\000\000\000\000\002\002\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\n\000\000\002\026\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\000\000\002*\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\0002\006B\006J\000b\000\000\000f\000\000\006N\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\000q\000q\000\000\000\000\000q\000q\000\000\000\000\002\018\000\000\000\186\000\000\000i\000\000\000\000\000i\000\000\000\000\000\000\000\000\000q\000\190\000\000\000q\000q\000q\000q\000\000\000\000\000\000\001\250\000\000\000q\000q\000i\000q\000q\000q\000\000\000i\000\000\000\000\006R\000\000\000\000\002\002\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\206\000i\000\000\000\000\000\000\000i\000\000\000\000\002\n\000\000\002\026\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000i\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\000\000\000\000\000\000\000\000\000\000\000\000\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\018\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\250\000\000\000i\000i\000m\000i\000i\000i\000\000\000m\000\000\000\000\000\000\000\000\000\000\002\002\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\n\000\000\002\026\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\000\000\002*\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000m\000\000\000\000\000m\000m\000\000\000\000\002\018\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\001\250\000\000\000m\000m\000u\000m\000m\000m\000\000\000u\000\000\000\000\000\000\000\000\000\000\002\002\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\"\000\000\000\000\002\n\000\000\002\026\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\002*\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\0022\000\000\000\000\000u\000u\000\000\000\000\002\018\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\250\000\000\000u\000u\000\133\000u\000u\000u\000\000\000\133\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\133\000\133\000\000\000\133\002j\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\"\000\000\000\000\002\n\000\000\002\026\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\000\000\002*\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0022\000\000\000\000\000\133\000\133\000\000\000\000\002\018\000\000\000\000\000\000\001\238\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\001\250\000\000\000\133\000\133\000y\002r\002:\000\133\000\000\000y\000\000\000\000\000\000\000\000\000\000\002\002\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\"\000\000\000\000\002\n\000\000\002\026\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\000\000\000\000\002*\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\0022\000\000\000\000\000y\000y\000\000\000\000\002\018\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\250\000\000\000y\000y\000\129\000y\002:\000y\000\000\000\129\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\129\000\129\000\000\000\129\002j\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\"\000\000\000\000\002\n\000\000\002\026\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\004\153\000\000\000\000\004\153\000\000\004\153\000\000\004\153\000\000\004\153\000\000\000\000\000\000\000\000\004\153\004\153\000\000\000\000\000\000\000\000\000\000\000\129\0022\000\000\000\000\000\129\000\129\004\153\000\000\002\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\153\004\153\000\000\000\000\000\129\000\000\004\153\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\002:\000\129\004\153\000\000\000\000\004\153\005\226\000\000\000\000\000\000\004\153\004\153\000\000\000\000\004\153\004\153\005\129\000\000\000\000\005\129\000\000\005\129\004\153\005\129\000\000\005\129\004\153\004\153\000\000\000\000\005\129\005\129\000\000\000\000\000\000\000\000\004\153\000\000\005\129\000\000\000\000\000\000\000\000\005\129\000\000\000\000\004\153\000\000\005\129\005\129\000\000\000\000\000\000\005\129\005\129\004\153\000\000\000\000\000\000\005\129\004\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\153\000\000\000\000\000\000\005\129\000\000\005\129\000\000\000\000\005\129\002\150\000\000\000\000\005\129\005\129\002\150\000\000\000\000\005\129\005\129\004\153\005\129\000\000\004\153\004\153\005\129\005\129\004\153\000\000\000\000\005\129\005\129\004\153\004\153\000\000\005\129\000\000\004\153\000\000\000\000\005\129\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\005\129\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\005\129\000\000\000\000\000\000\n\198\005\129\000\000\000\000\000\000\003i\000\000\003i\000\000\000\000\003i\000\000\000\000\000\000\000\000\000\000\005\129\000\000\000\000\005\129\005\129\005\129\000\000\005\129\005\129\005\129\003i\000\000\005\129\005\129\000\000\000\000\000\000\005\129\005\129\003i\003i\000\000\005\129\003i\003i\000\000\000\000\000\000\000\000\003i\000\000\003i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003i\003i\000\000\000\000\003i\003i\003i\000\000\003i\003i\000\000\003i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\003i\003i\000\000\000\000\000\000\003i\000\000\000\000\003i\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\003i\001\161\000\000\000\000\000\000\000\000\001\161\003i\000\000\003i\000\000\003i\001\161\000\000\000\000\001\161\001\161\000\000\001\161\001\161\000\000\003i\000\000\000\000\001\161\000\000\003i\000\000\001\161\000\000\000\000\001\161\003i\001\161\001\161\003i\000\000\000\000\000\000\000\000\000\000\003i\000\000\000\000\000\000\003q\003q\003q\003q\000\000\003q\000\000\003q\003q\001\161\003q\001\161\003q\000\000\003q\000\000\003q\003q\003q\003q\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\000\003q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003q\001\161\001\161\007~\000\000\001\161\000\000\000\000\000\000\001\161\001\030\000\000\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\000\000\003q\000\000\000\000\001\161\000\000\001\161\003q\000\000\000\000\000\000\001*\007\134\001\161\001\161\003q\001\161\001\161\001\161\000\000\t\234\n\146\000\000\000\000\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\003q\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\n\"\000\000\000\000\000\162\000\000\000\000\001\030\000\000\t\226\000\000\000\000\t\230\n*\000\000\000\000\000\000\000\000\000\000\000\000\005\169\000\000\n\194\000\000\n\222\000\000\003q\000\000\001*\000\000\000\000\000\000\000\000\000\000\n.\000\000\000\000\t\234\n\146\n2\000\000\n\166\n\190\000\000\000\000\011\186\000\000\001R\n6\001V\000\000\000\000\000\000\000\000\001\154\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\n\"\000\000\000\000\000\162\000\000\000\000\001\030\000\000\t\226\000\000\000\000\t\230\n*\000\000\000\000\000\000\000\000\000\000\000\000\005\169\000\000\n\194\000\000\n\222\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\n.\000\000\000\000\t\234\n\146\n2\000\000\n\166\n\190\000\000\000\000\n\230\000\000\001R\n6\001V\000\000\000\000\000\000\000\000\001\154\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\n\"\000\000\000\000\000\162\000\000\000\000\001\030\000\000\t\226\000\000\000\000\t\230\n*\000\000\000\000\000\000\000\000\000\000\000\000\005\169\000\000\n\194\000\000\n\222\000\000\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\n.\000\000\000\000\t\234\n\146\n2\000\000\n\166\n\190\000\000\000\000\005\021\000\000\001R\n6\001V\000\000\000\000\000\000\000\000\001\154\000\000\012\013\n\n\001^\012\013\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\012\013\000\000\000\000\000\000\012\013\000\000\000\000\000\000\003V\006\254\n\030\000\000\000\000\000\000\n\"\012\013\000\000\000\162\000\000\012\013\000\000\012\013\012\013\000\000\000\000\003^\n*\000\000\003j\000\000\000\000\012\013\000\161\005\169\012\013\n\194\012\013\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n.\000\000\000\000\011\026\000\000\n2\000\000\000\000\000\000\000\000\012\013\001\189\000\000\000\000\n6\000\000\000\000\000\000\011\"\000\000\001\154\000\000\012\013\000\000\000\161\000\161\000\000\000\000\003v\000\000\000\000\000\000\000\000\001\030\000\161\t\226\000\000\011*\t\230\011:\000\000\000\000\000\000\000\000\000\000\000\000\012\013\012\013\000\000\012\013\000\000\003z\000\000\012\013\001*\000\000\000\000\000\000\000\000\000\000\000\161\003\130\000\000\t\234\n\146\012\013\000\000\n\166\n\190\000\000\012\013\012\013\000\000\001R\000\000\001V\012\013\000\000\000\000\000\000\012\013\012\013\012\013\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\161\000\000\000\000\000\000\000\000\001\137\000\000\0112\001\137\000\000\000\000\000\000\000\000\006\254\n\030\000\000\000\000\000\000\n\"\000\161\000\000\000\162\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\n*\000\000\001\137\000\000\000\161\000\161\000\000\005\169\001\137\000\000\000\000\n\222\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\007\178\n.\000\000\008\002\001\137\000\000\n2\001\137\000\165\001\137\001\137\000\000\001\201\000\000\000\000\n6\000\000\000\000\007\186\000\000\000\000\001\154\002\017\000\000\000\000\000\000\011\026\002\017\000\000\000\000\001\137\000\000\001\137\007\194\000\000\000\000\002\017\002\017\000\000\008\018\008\026\011\"\000\000\000\000\000\000\002\017\000\000\000\165\000\165\007\226\000\000\000\000\007\202\000\000\007\218\002\017\000\000\000\165\000\000\000\000\011*\000\000\011:\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\017\000\000\000\000\000\000\000\000\000\000\011J\000\000\001\137\000\000\002\017\001\137\001\137\000\000\001\137\000\000\000\000\000\000\000\000\002\134\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\002\017\007\242\000\000\000\000\002\017\000\000\000\000\000\000\007\210\000\165\000\000\000\000\001%\000\000\000\000\001%\0112\000\000\000\000\000\000\000\000\000\000\000\000\002\017\000\000\002\017\000\000\000\000\000\165\000\000\007\186\000\000\002\017\002\017\001%\008\"\007\250\002\017\000\000\001%\000\000\000\000\000\000\000\165\000\165\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%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\234\001\013\001%\000\000\001\013\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\001\013\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\007\194\001%\007\242\001\013\001\013\001%\001\013\001\013\000\000\007\210\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\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\007\250\001%\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\001\005\001\013\001\013\001\005\001\005\001\013\001\005\001\005\000\000\007\210\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\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\000\000\001\005\001\t\001\005\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\001\005\001\005\001\t\001\t\001\005\001\t\001\t\000\000\007\210\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\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\000\000\000\000\000\000\001\t\001\025\001\t\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\000\000\000\000\007\194\001\t\001\t\001\025\001\025\001\t\001\025\001\025\000\000\007\210\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\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\000\000\007\234\001\017\001\025\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\007\194\001\025\001\025\001\017\001\017\001\025\001\017\001\017\000\000\007\210\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\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\007\194\001\017\001\017\001\021\001\021\001\017\001\021\001\021\000\000\007\210\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\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\007\234\001\029\001\021\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\007\194\001\021\001\021\001\029\001\029\001\021\001\029\001\029\000\000\007\210\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\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\000\000\000\000\000\000\007\234\007\178\001\029\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\001-\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\000\000\000\000\007\194\001\029\007\242\001-\001-\001\029\001-\008\026\000\000\007\210\000\000\000\000\001-\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001-\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\007\234\007\178\001-\000\000\001!\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\007\186\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\007\194\001-\007\242\001!\001!\001-\001!\001!\000\000\007\210\000\000\000\000\001!\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001!\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\008\"\007\250\001-\000\000\000\000\000\000\007\234\007\178\001!\000\000\001)\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\007\186\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\007\194\001!\007\242\001)\001)\001!\001)\008\026\000\000\007\210\000\000\000\000\001)\000\000\000\000\000\000\007\226\000\000\000\000\007\202\000\000\007\218\001)\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\007\250\001!\000\000\000\000\000\000\007\234\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\001\030\000\000\001\"\000\000\000\000\001&\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\001*\000\000\000\000\001.\000\000\000\000\000\000\000\000\000\000\001>\001B\000\000\001J\001)\t\222\001)\000\000\000\000\000\000\001R\000\000\001V\001)\001)\000\000\001)\007\250\001)\000\000\001Z\001^\000\000\n\206\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\001~\000\000\000\000\000\162\001\030\000\000\001\"\000\000\000\000\001&\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\008>\000\000\001\138\008=\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\000\000\000\000\001\142\001>\001B\000\000\001J\001\146\000\000\000\000\008=\000\000\008=\001R\000\000\001V\001\150\000\000\000\000\000\000\000\000\000\000\001\154\001Z\001^\000\000\000\000\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\001~\000\000\000\000\000\162\001\030\000\000\001\"\000\000\000\000\001&\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\008=\000\000\001\138\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\000\000\000\000\001\142\001>\001B\000\000\001J\001\146\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\001\150\000\000\000\000\000\000\000\000\000\000\001\154\001Z\001^\000\000\000\000\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\001~\000\000\000\000\000\162\001\030\000\000\001\"\000\000\000\000\001&\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\014\186\000\000\001\138\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\000\000\000\000\001\142\001>\001B\000\000\001J\001\146\000\000\001\030\000\000\001\"\000\000\001R\001&\001V\001\150\000\000\000\000\000\000\000\000\000\000\001\154\001Z\001^\000\000\000\000\001b\001f\001j\001*\001n\001r\001.\001v\000\000\000\000\000\000\000\000\001>\004\226\000\000\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\001z\001V\000\000\000\000\001~\000\000\000\000\000\162\000\000\001Z\001^\000\000\000\000\001b\001f\001j\001\134\001n\001r\000\000\001v\000\000\000\000\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001z\001\142\000\000\000\000\001~\000\000\001\146\000\162\001\030\000\000\001\"\000\000\000\000\001&\000\000\001\150\001\134\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\001\138\000\000\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\000\000\000\000\001\142\001>\001\130\000\000\001J\001\146\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\001\150\000\000\000\000\000\000\000\000\000\000\001\154\001Z\001^\000\000\000\000\001b\001f\001j\000\000\001n\001r\000\000\001v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001z\000\000\000\000\003\202\001~\000\000\000\000\000\162\003a\000\000\003a\000\000\000\000\003a\000\000\000\000\001\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\000\000\000\003a\000\000\000\000\003a\000\000\000\000\000\000\000\000\001\142\003a\003a\000\000\003a\001\146\000\000\000\000\000\000\000\000\000\000\003a\000\000\003a\001\150\000\000\000\000\000\000\000\000\000\000\001\154\003a\003a\000\000\000\000\003a\003a\003a\000\000\003a\003a\000\000\003a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!\000\000\000\000\004!\000\000\000\000\000\000\000\000\003a\000\000\000\000\000\000\003a\000\000\000\000\003a\000\000\000\000\004!\000\000\000\000\000\000\000\000\000\000\003a\000\000\004!\004!\000\000\000\000\000\000\000\000\000\000\004!\000\000\000\000\001\030\000\000\0012\004!\004!\0016\000\000\004!\000\000\003a\004!\000\000\000\000\004!\003a\000\000\004!\000\000\004!\004!\000\000\001*\000\000\003a\001.\000\000\000\000\000\000\000\000\003a\001:\001N\000\000\001J\000\000\000\000\000\000\000\000\000\000\004!\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\022\001^\000\000\000\000\003\026\001f\001j\004!\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\004!\004!\003*\000\000\004\189\004!\003.\004!\000\000\000\162\000\000\000\000\001\030\000\000\0012\004!\000\000\0016\0036\004!\000\000\000\000\004!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!\000\000\000\000\001*\004!\004!\001.\000\000\000\000\003:\000\000\000\000\001:\004\202\003>\001J\000\000\000\000\000\000\000\000\000\000\000\000\001R\003B\001V\000\000\000\000\000\000\000\000\001\154\000\000\000\000\003\022\001^\000\000\000\000\003\026\001f\001j\000\000\003\030\003\"\000\000\003&\000\000\000\000\000\000\000\000\001\030\000\000\0012\000\000\000\000\0016\000\000\000\000\000\000\000\000\000\000\003*\000\000\000\000\000\000\003.\000\000\000\000\000\162\000\000\000\000\001*\000\000\000\000\001.\000\000\000\000\0036\000\000\000\000\001:\0032\000\000\001J\000\000\000\000\001\030\000\000\006\202\000\000\001R\006\206\001V\000\000\000\000\000\000\000\000\000\000\003:\000\000\003\022\001^\000\000\003>\003\026\001f\001j\001*\003\030\003\"\000\000\003&\003B\000\000\000\000\000\000\006\210\008*\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001R\003*\001V\000\000\000\000\003.\000\000\000\000\000\162\000\000\006\234\001^\000\000\000\000\006\238\001f\001j\0036\006\242\006\246\000\000\006\250\000\000\000\000\000\000\000\000\001\030\000\000\006\202\000\000\000\000\006\206\000\000\000\000\000\000\000\000\006\254\007\002\003:\000\000\000\000\007\006\000\000\003>\000\162\000\000\000\000\001*\000\000\000\000\000\000\000\000\003B\007\014\000\000\000\000\006\210\006\214\001\154\000\000\000\173\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\007\018\000\000\006\234\001^\011\026\007\022\006\238\001f\001j\000\000\006\242\006\246\000\000\006\250\007\026\000\000\000\000\000\000\000\000\011\"\001\154\000\000\000\000\000\000\000\000\000\173\000\173\000\000\006\254\007\002\000\000\000\000\000\000\007\006\000\000\011B\000\162\001\030\011*\006\202\011:\000\000\006\206\000\000\000\000\007\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\011J\000\000\000\000\000\000\000\000\007\018\006\210\007\n\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\007\026\000\000\000\000\000\000\000\000\000\000\001\154\006\234\001^\000\000\000\000\006\238\001f\001j\000\000\006\242\006\246\011R\006\250\000\000\000\000\000\000\000\000\001\030\0112\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\006\254\007\002\000\000\000\173\000\000\007\006\000\000\000\000\000\162\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\007\014\000\173\000\173\t\234\t\246\000\000\000\000\011\018\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\000\000\000\000\000\000\000\000\000\000\007\018\000\000\n\n\001^\011\026\007\022\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\007\026\000\000\000\000\000\000\000\000\011\"\001\154\000\000\000\000\000\000\000\000\000\189\011j\000\000\006\254\n\030\000\000\000\000\000\000\n\"\000\000\011B\000\162\001\030\011*\t\226\011:\000\000\t\230\000\000\000\000\n*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\000\000\000\000\011J\000\000\000\000\000\000\000\000\n.\t\234\n&\000\000\000\000\n2\000\000\000\000\000\000\000\000\000\000\001R\000\000\001V\n6\000\000\000\000\000\000\000\000\000\000\001\154\n\n\001^\000\000\000\000\n\014\001f\001j\000\000\n\018\n\022\011R\n\026\000\000\000\000\000\000\000\000\001\030\0112\t\226\000\000\000\000\t\230\000\000\000\000\000\000\000\000\006\254\n\030\000\000\000\189\000\000\n\"\000\000\000\000\000\162\000\000\000\000\001*\000\000\000\000\000\000\000\000\000\000\n*\011r\011Z\t\234\n\146\000\000\000\000\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\n.\000\000\n\n\001^\000\000\n2\n\014\001f\001j\000\000\n\018\n\022\000\000\n\026\n6\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\006\254\n\030\000\000\000\000\000\000\n\"\000\000\000\000\000\162\000\000\000\000\000\000\000\000\0002\0006\000F\000b\n*\000f\000\000\000j\000\134\007\169\000\138\017r\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\n.\000\000\000\000\000\000\000\000\n2\007\169\000\186\017v\000\000\000\000\000\000\000\000\000\000\n6\000\000\007\169\007\169\019\234\000\000\001\154\000\000\007\169\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\001\153\000\000\000\202\000\000\007\169\000\000\000\000\018V\000\000\007\169\000:\017\134\000:\007\169\007\169\001\153\000\206\000\000\000\000\001\153\000\000\007\169\000\000\000\000\000\000\007\169\007\169\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\007\169\001\153\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\169\001\153\000\000\000\000\001\153\000\000\001\153\000\000\000\000\007\169\000\000\000\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\169\000\000\017\138\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\001\153\000\000\000\000\000\000\007\169\000\000\000\000\007\169\007\169\000\000\000\000\007\169\000\000\000\000\000\000\000\000\007\169\007\169\000\000\005\129\000\000\007\169\005\129\000\000\001\153\003\166\005\129\001\153\005\129\000\000\000\000\001\153\000\000\005\129\005\129\000\000\000\000\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\000\000\000\000\003\174\000\000\000\000\000\000\001\153\001\153\001\153\000\000\007\169\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\005\129\000\154\000\174\000\178\000\182\003\254\000\000\000\000\004N\000\218\000\000\000\000\007\169\000\000\000\000\000\000\000\000\000\186\000\000\000\000\007\169\000\000\000\000\004\006\007\169\007\169\000\000\002\t\000\190\000\000\000\000\000\000\000\000\000\000\007\169\000\000\000\000\000\000\004\014\000\000\000\000\000\000\002\t\000\000\004^\004f\000\000\000\000\000\000\000\202\000\000\000\000\000\000\007\169\004.\000\230\000\000\004\022\005\129\004&\000\000\000\000\000\000\000\206\000\000\000\000\000\000\007\169\011\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\000\000\000\000\000\000\000\000\000\000\011\026\007\169\000\000\000\000\007\169\007\169\002\t\000\237\000\000\000\000\000\237\000\000\000\000\007\169\007\169\011\"\000\000\000\162\007\169\000\000\000\000\000\177\000\177\000\000\000\000\004\006\000\000\000\000\000\000\000\237\004>\011B\000\000\002\t\011*\000\234\011:\004\030\000\000\000\000\004\014\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\002\t\000\000\000\000\000\000\000\000\002\t\002\t\004.\011J\011Y\004\022\000\000\004&\000\000\000\000\004n\004F\002\t\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0046\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\011R\000\237\000\000\000\000\000\000\000\000\000\000\0112\000\000\000\000\004\014\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\205\000\177\000\000\000\205\000\000\000\000\000\000\004>\000\213\000\000\000\237\004\022\000\000\004&\004\030\000\000\000\177\011Z\000\205\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\237\000\237\000\205\000\213\000\000\000\000\000\205\000\000\000\205\000\205\000\237\004F\000\237\000\000\000\000\000\213\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\209\000\000\000\000\000\209\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\209\000\000\000\000\000\000\000\209\000\000\000\205\000\000\000\213\000\000\000\000\000\000\000\000\000\213\000\213\000\209\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\213\000\213\000\213\000\000\000\000\000\000\000\000\000\205\000\209\000\000\000\205\004\022\000\000\000\209\004\030\000\225\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\205\000\205\004\006\000\209\000\000\000\000\000\225\000\000\000\000\000\000\000\205\000\205\000\205\000\000\000\000\000\209\000\000\004\014\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\225\000\000\000\000\004\022\000\000\004&\000\209\000\000\000\000\000\209\000\000\000\000\000\000\004\030\004\006\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\209\0046\000\000\000\000\004\014\000\209\000\209\000\000\000\217\000\000\000\217\000\217\000\000\000\225\000\000\000\209\000\209\000\209\000\000\000\000\000\217\000\000\000\000\004\022\000\000\004&\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\004\030\004\006\000\217\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\217\000\000\004\014\000\225\000\225\000\000\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\225\000\225\000\225\000\000\000\000\000\221\000\000\000\000\004\022\000\000\004&\000\217\000\000\000\000\000\217\000\000\000\000\000\000\004\030\000\229\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\0046\000\000\000\000\000\000\000\217\000\217\004\006\000\000\000\000\000\000\000\229\000\000\000\221\000\000\000\217\000\217\000\217\000\000\000\000\000\000\000\000\004\014\000\000\000\000\000\000\000\229\000\000\000\229\000\229\003\254\000\000\000\000\000\245\000\000\000\000\000\000\000\221\004.\000\000\000\221\004\022\000\000\004&\004\030\000\000\000\000\000\000\004\006\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\221\000\221\004\014\0046\000\000\000\000\000\245\000\000\000\245\004f\000\221\000\221\000\221\000\000\000\000\000\229\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\003\254\000\000\000\000\000\233\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\004\006\000\000\000\000\000\000\000\233\000\000\000\245\000\000\000\229\000\000\000\000\000\000\000\000\000\229\000\229\004\014\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\229\000\229\000\229\000\000\000\000\000\000\000\000\004>\004.\000\000\000\245\004\022\000\000\004&\004\030\003\254\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\245\000\245\004\006\0046\000\000\000\000\000\241\000\000\000\000\000\000\004n\004F\000\245\000\000\000\000\000\233\000\000\004\014\000\000\000\000\000\000\000\241\000\000\000\241\004f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004.\003\185\000\000\004\022\003\185\004&\004>\000\000\003\185\000\233\003\185\000\000\000\000\004\030\000\000\003\185\003\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\0046\000\000\000\000\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\233\004F\000\233\000\000\002-\000\000\000\000\000\000\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\185\000\000\004>\000\000\000\000\000\241\000\000\000\000\000\000\004\030\000\000\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\241\000\000\000\000\002-\002-\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\241\004F\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\0002\005.\000F\000b\003\185\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\002-\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\000\000\000\000\000\000\000\000\000\186\002-\000\000\000\000\002-\002-\000\000\000\000\000\000\000\000\000\000\000\190\000\000\002-\002-\000\000\000\000\000\000\002-\000\000\000\000\0002\000\214\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\0052\0056\000\000\000\186\000\000\0002\005.\000F\000b\000\000\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\000\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\230\000\000\000\000\000\000\000\000\000\000\000\000\000\190\000\206\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\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\002y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\021\182\0056\000\162\000\000\000\000\0002\005.\000F\000b\000\000\000f\000\000\000j\000\134\000\000\000\138\000\000\000\146\000\000\000\150\000\234\000\154\000\174\000\178\000\182\000\000\000\000\000\000\0002\000\214\000F\000b\000\000\000f\000\000\000j\000\134\000\186\000\138\000\000\000\146\000\000\000\150\002)\000\154\000\174\000\178\000\182\000\190\000\000\000\000\000\000\000\000\000\000\021\186\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\000\202\000\000\000\190\000\000\000\000\002q\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\000\000\000\000\000\000\000\202\000\000\000\000\011\018\000\000\000\000\000\230\000\000\0002\005.\000F\000b\000\000\000f\000\206\000j\000\134\000\000\000\138\000\000\000\146\011\026\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\011\"\000\000\000\000\000\000\000\186\000\000\000\185\011j\000\000\000\000\000\000\000\000\000\000\005B\000\000\000\190\011B\000\000\000\162\011*\000\000\011:\000\000\000\000\000\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\011J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\021\182\0056\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\011R\000\000\000\000\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\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\021\194\000\000\000\000\000\000\000\185\011Z"))
+ ((16, "\002f\000\161\000\000\000\000\020<\000\161\000\000\000\000\001\202\000\000\000\000\000\000\001A\000\000\000\000\000\000\002f\000\000\000\005/Z\000\000\021d\021\248\000\000\000\000E\226\021d\000\000\021d\021d\000\000\000\000\021d\000\000\021d\000\000\000\179\000\133\021d\000\000\021d\000\000\000\000\000\000\021d\000\000\021d\000\000Fl\021d\000\000[\156\021d\000\000\000\000\021d\000\000\021d\000\000\000\135\000<\021d\000\000\021d\000\000\021d\000\000\021d\000\000[\200\021d\000\000\000\000\021d\000\000\021d\000\000\000m\000\017\000\017\000\000\000\000\000\000\000~\000\000\000\000\0016\000\017\000\000\0016\000\000\000\000\000\017\000\138\001V\000\017\0016\000\000\000\005\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\027\000\017\000\000\001\132\004\202\000\017\000\000\002@\001b\000\000\000\000\000\000\001\138\021d\000\000[\156\000\017\001\174\021d\000\000\000\000\021d\000\000\000\000\021d\000\000\021d\000\000\002\006\002J\021d\000\000/Z\\.2h\000\000\000\000\000\000\000\0000\130\002\2122h\000\017\000\0002h\000\000\000\000\002\028\021d\000\0002h\000\000\000\017\002.I.\000\000\000\000KfK\234\000\000]\006\000\000L\130G\178\029f\029f]\006G\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000M\006G\178\000\000\000\000M\006M\006M\006\000\000M\006\000m\000\000\000\000G\178M\006\000\000\000\000#Z\000\017\000\000\023v\029fG\178\000\000$\166G\178-\174G\178-\204G\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\002G\178\000\000;\138G\178/\148G\1780\158G\178\000\000G\178\000\000G\1781\168G\1782\178G\1783\188G\1784\198G\1785\208G\1786\218G\178\002\134G\178\000\000\000\000\000\000\000\000\000\000G\178<\148G\178=\028G\178>&G\178>\174G\1787\228G\1788\238G\1789\248G\178?\184G\178@@G\178\000\000G\178AJG\178A\210G\178B\220G\178\000\000G\178CdG\178DnG\178\000\000\000\000G\178\000\000\002\246\000\000\000\000\000\017\000\000\000\000\000\000\003h\000\000\003\148\000\000\0001G\178\000\000\0001\000\000\000\000\002\176/Z\000\000\023\166\021d\000\000\000.\021d\000\000[\216\021d\000\000\000\000\021d\000\000\021d\000\000\003\206\004\n\021d\000\000\021d\000\000\021d\000\000\021d\000\000\003^\021d\000\000\\\142\021d\000\000\000\000\021d\000\000\021d\000\000\0048\004z\021d\000\000\021d\000\000\021d\000\000\021d\000\000\\\216\021d\000\000\000\000\021d\000\000\021d\000\000\000c\000\017\004B\021d\000\000\\\216\000\017\004\208\021d\000\000\000\000\021d\000\000\021d\000\000\021d\000\000\005\030\005T\021d\000\000]\2202h\005R\021d\000\0005\1343\160\000\000\000.\006\030\000\017\005\140\006\\6\1906\190\000\000\000\000\000\000\001\\c\2466\190\002Z8\210\000\000\000\000\000\000\003\\\006\192\006T\007*6\190\000\000\000\000\006\142\000\000\006\156\007l6\190\006\186\000\000\001R\000\000\002.\000\000\000\000\003\254El\000\000\000\000\000\000\006\224\007\208\000\000\007\224\000\000\023\166\001b2h\006\246\021d\000\000]\2322h\007\024\021d\000\000\000\000\000\000\000\017\b\016\000\000\000\000\000\000\002\176\000\000\000\000\029f\007&\000\000\007,]\006\000\000\000\000\000\000\000\000\000\000\000\000M\006\000\000\000\000M\006\000\000\000\000M\006\000\000\000m\000\000]\006\000\000\000\000\030\030\000\017\000\000\023v\023v\000\000\004p\027\234\023v\031TG\178\000\000G\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000h\012G\178hnG\178\007^G\178\000\000G\178h\210G\178ixG\178i\218G\178j>G\178j\228G\178kFG\178\000\000G\178k\170G\178lPG\178l\178G\178\000\000G\178m\022G\178m\188\004\236\024\242\000\000\000\000\005\014\026n\000\000\000\000\000\000\000\000\0076\000\000G\178\0076\000\000\000\000\000\017\000\000\000\000\000\000\000\000\007<\000\000\000\000\000\000\000\000\000\000\000\000\007>\000\000\000\000\000\000\007>\000\000\001(M\178\b\bG\178\007\200\000\000\000\000]\006\001(\000\000\007N\000\000\007RG\178\000\000\029f\007T\000\000\000\000\b8\000\000\029f\007d\000\000\000\000\029f\007h\000\000\000\000\007f\000\000\000\000\bb\000\000^ 2h\007r\021d\000\000\000\000\007\252\000\000\007|\021d\000\000\000\000\000\204/Z\000\000/Z\000\000\007\146\000\000\000\204\000\000\019d'\174\021\174\000\000\004\150\021\174\000\000\021\174\021\174\000\000\000\000\021\174\000\000\021\174\000\000\007\234\b\024\021\174\000\000\021\174\000\000\021\174\000\000\021\174\000\000\005\194\021\174\000\000\021\216\021\174\000\000\000\000\021\174\000\000\021\174\000\000\007\244\b\"\021\174\000\000\021\174\000\000\021\174\000\000\021\174\000\000\021\248\021\174\000\000\000\000\021\174\000\000\021\174\000\000\001\192\000\017\007\202\021\174\000\000\021\216\000\017\007\212\021\174\000\000\000\000\021\174\000\000\021\174\000\000\021\174\000\000\b\n\bH\021\174\000\000/Z\000\000\007\250\000\000\002\242/Z\000\000\000\000\002\242\000\000\000\000\021\2482h\007\246\021\174\000\000\000\000\000\000\001\144\000\000\000\000\001\214\001\144\000\000\000\000\000\000\b\240\000\000\004\2022h\b\002\021\174\000\000\022\0182h\b\004\021\174\000\000\000\000\025\"\021\174\000\000\b\190\021\174\000\000G\018\021\174\000\000\000\000\021\174\000\000\021\174\000\000\b6\bf\021\174\000\000\021\174\000\000\021\174\000\000\021\174\000\000\t6\021\174\000\000Nn\021\174\000\000\000\000\021\174\000\000\021\174\000\000\b<\bn\021\174\000\000\021\174\000\000\021\174\000\000\021\174\000\000N\128\021\174\000\000\000\000\021\174\000\000\021\174\000\000\002 \000\017\b\022\021\174\000\000G\018\000\017\b\024\021\174\000\000\000\000\021\174\000\000\021\174\000\000\021\174\000\000\bN\b\132\021\174\000\000Nn2h\b,\021\174\000\000\000\000\007Z2h\b.\021\174\000\000N\1282h\b2\021\174\000\000\000\000\000\000\000\000\000\000\000\000\t\020G\178\bH \204\b\200\000\000\t G\178\bT\t\"El\000\000\000\000\000\000/Z\000\017\000\000\000\174G\178+\026\000\000OJ\029f\b^\000\000\000\000G\178\bb\000\000\029f\bn\000\000\bpc\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000M\006\000\000\000\000M\006\000\000\000\000M\006\000\000\000m\000\000c\208\000\000\000\000\028z\000\017\000\000\023v\br\000\000G\178\bv\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000G\178\0048G\178\bx\000\000\000\000+\026+\026\000\000\000\000(\154\001\012\t@G\178\000\000\b\254\000\000\000\000\000\017\000\000%\194\000\000\b\172+\026\b\182+\026\000\000\000\027\000\000\000\000`\190G\178m\222G\178m\244G\178nJG\178n\230G\178o>G\178o\162G\178o\170G\178\000\000G\178p\020G\178p\128G\178p\180G\178\000\000G\178q\022G\178q8\000\000\002\162,\004\000\000\004\224.\246+\026\000\000\005\004,\238\000\000\000\000\000\000\b\130\000\000\000\000\b\132\000\000\t~\000\000\000\017\000\000\000\174\t\128\000\000\003X\tX\000\017\b\160\tr6\190\b\166\000\031\000\000G\178\t\152\000\000\000\000\000\000\tz6\190\b\178\t\162\000\000\007h\001`G\178\t\164\000\000\t\166\000\000\023\166\000\017\002,G\178\t\168\000\000\t\170\000\000\000\017\002\212G\178\t\172\000\000\t\176\000\000\000\012\b\238\b\242\000\000O\206\029f\b\200\000\000\000\000I\178\000\000\t\184\000\000\002\250\t\144G\178\tN\000\000\t\148G\178\tZ\000\000\005\246\000\000\b\242\b\242\029f\b\222\000\000\b\226d`d`\000\000\000\000\000\000\000\000\000\000\000\000M\006\000\000\000\000M\006\000\000\000\000M\006\000\000\000m\000\000d`\000\000\000\000*\024\000\017\000\000\023v\b\230\000\000G\178\b\228\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000HlG\178\000\000G\178\000\000\b\236\000\000\0001\000\000\000\000\000\000\000\000\000\000P\136G\178P\254G\178\t\028G\178\000\000G\178R\bG\178R~G\178S\136G\178S\254G\178U\bG\178U~G\178\000\000G\178V\136G\178V\254G\178X\bG\178\000\000G\178X~G\178Y\136\000\000\002\250\000\000\002\250\000\000\019d\b\242\b\242\000\000\000\000\000\000\000\003\000\000\000\000\000\000\t\194G\178\b\246 \204!\222\000\017\t\234\000\000\t\212JJ\n\028JJ\n.G\178\tB \204 \204\004\014\000i\005$\004\204\000i\000\000\000\000\005\134\007Z\000\000\005\138\t\196\000\000\000\000\000\000\000\000\000\000\tD\000\000\000\000\n4\000\000\n8\000\000\000\000\nt\n\028G\178\tT\nF\000\000\nN\000\000\t\144\000\000\n8\023v\tl \204\000\000\000\000\000\000\007t\000\000\000\000\002\250\000\000\t\240\000\000\014\234\0012\000\000\014\234\000\000\000\000%\194\000\000\002\190\000\000\000\000\011\238\000\000\014\234\000\000\nL\023v\t\128\nr\000\000\002\184\000\000\nB\000\017\t\136\nX6\190\t\140\000\154\000\000G\178\n~\000\000\n`6\190\t\154\n\138\000\000\002\246G\178\n\140\000\000\n\146\000\000\023\166\000\017\003\224G\178\n\156\000\000\n\158\000\000\000\000\000\000\011\238\000\000\000\000\002\190\000\000\b\242\000\000\002\184\000\000\000\000\004.!\222\000\000\004.\000\000\000\000\t\180\000\000\0001\001| \204\000\000\005\246\0007\005\246\000\000\0007\000\000\b\242\000\000\b\242\000\000\000\000\000\000\t\176\000\000\000\000\t\188\000\000\005$\007t\0007\005\246\000\000\000\000\000\000\0007\000\000\b\242\000\000\005$\000\000\000\000\r<\000\184\019d\000\000\000\184\000\000\np\019d\000\000\000\000\np\000\000\000\000\t\186\000\000\000\000\t\200\000\000\0058\b\242\000\000\0058\000\000\000\000\nF\000\000\002\190\000\000\b\242\000\000\000\000\000\000\020\224J\206\000\000\n\190\000\000\020\224\000\000\n\192\000\000\n\200\000\000/Z\000\017\003\n\000\000G\178\n\202\000\000\007\152\n\154\000\017\t\238\n\1906\190\t\242\006\004\000\000G\178\n\228\000\000\006\164\000\000G\178\n\230\000\000\023\166\000\017\006\166\000\000G\178\n\232\000\000\006z\020\224\000\000%\194\006\220\000\000G\178\n\234\000\000\n\236\000\000\000\000\000\000\n\206\023v\n\002\n\242\000\000\003\030\000\000\n\194\000\017\n\016\n\2326\190\n\030\006\228\000\000G\178\011\018\000\000\006\230\000\000G\178\011\020\000\000\023\166\000\017\0074\000\000G\178\011\022\000\000\006z\000\000\000\000\n4\000\000\014\186\n\184\000\000\000\000\000\000\n\186\000\000\000\216\000D\000\000\019d\011\024\000\000\000\000G\178\nj\b\242\000\000\n<\000\000\000\012\000\000El\000\000\000\000\002h\019d\000\000\019d\000\000\n,\000\000\002h\000\000G\178\002vG\178\000\000G\178\000\000\n.\000\000\002v\000\000G\178\002v\n2\000\000 \204\002\208 \204\000\000 \204\000\000\n<\000\000\002\208\000\000G\178\002v\n@\000\000El\003\218El\000\000El\000\000\nB\000\000\003\218\000\000G\178\002v\nF\000\000\000\000\030\226\000\000\000\000\n\186=\028\000\000\000\000\000\000\000\000\000\000\n\142\005\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\248=\028\000\000\004\n\006\128\n\144\000\161\000\000\000\000\n\148\000\161\000\000\000\000\000\000\000\000\000A\006\128\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000#Z'@\000\000;\138\000\000=\028\000\000\003\004=\028\000\000\004\132\004\240\004\240\000\000\005\026\004\240\000\000\nj\000\000\000\000\000\000\000\000\n\248\000\000(\154\000\000*\024=\028\000\000\005^=\028\000\000\n\250\000\000=\028\n\254\000\000@@Z\254\011\002\000\000\011\004\000\000A\210_\170=\028\000\000\000\000\n\128=\028\011,\000\000\0110\000\000\011@\000\000/Z\000\000\005D/Z\000\000\n\184\021\174\000\000=\028\011D\000\000\006\208=\028\000\000\006P=\028\000\000\004\142\011\202\000\000\011\208\000\000=\028=\028\n\196\000\000\000\000\000\000\000\000\000\000\000\000\011P\000\000CdZ\b\011R\000\000\011Z\000\000e\254`\160=\028\n\214=\028\011`\000\000\011b\000\000\011h\000\000=\028\011\018\000\161\000\000\000\000\006Z=\028\000\000\004\142\000\000\011r\000\000=\028\011t\000\000f~`\242=\028\n\238=\028\011x\000\000\011|\000\000\011\128\000\000_X\021\174\000\000\021\174\000\000Z\254=\028\n\250=\028\011\134\000\000\011\136\000\000\021\174\000\000ex\000\000\000\000\006\212=\028\000\000\006V\006F\004\240\011\000\000\000\000\000\000\252\000\252\000\000\000\000\000\000\006\138\000\252\000\000\011\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\028\000\000\007\016=\028\000\000\007t\000\026\000\161\011\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\146\000\000\011\148\000\000=\028\011\152\000\000f\250Z\b\011\154\000\000\011\156\000\000=\028\011\158\000\000 B\011JgtG\018>\174\011\"\000\000=\028\011\174\000\000\011\176\000\000\011\128 B=\028\011\180\000\000=\028\011\184\000\000\011\188\000\000=\028\011\190\000\000\000\161\0110\000\000\000\000\030\226\000\000\000\000\004(\012*\000\000\000\000\002\170\000\000\000\000\000\000G\178\000\000\000\000\000\000\004x\000\000\004(\000\000\000\000\000\000\005\246ElElEl\000\000\002N\002N\002N\002N\000\000\000\000\000\000\000\000\000\000\000\000\002\250\019d\012 \016h\0012\000\000\000\000\002\190\000\000\011\238\000\000+\026\011H\000\000\002\250\019d\011N\017\230\000\000\002\250\016h\000\000\000\000\000\000El\025\212\000\000\000\000\000\000\011\162\002\184\012(bNbN\000\000\006\222etbN\007\nb~\000\000\000\000\005\200\012\024\000\017\000\000\007\020c:\000\000\000\000\000\000\000\000\000\000\011j\0122\b\242\011h\000\000\000\000\002\190\000\000\011\238\000\000\026\022\004\144\000\000\000\000\012 \000\000\000\000\004(\000\000\004>\000\000\000\000\000\000G\178\000\000\004x\000\000\004R\000\000\000\000\000\000\007t\000\000\rl\004D\rl\000\000\b\242\rl\000\000\004D\000\000\b\242\000\000\b\242\000\000\b\242\000\000\019\190\000\000\000\000\000\000\000\000\000\000\b\242\000\000\004D\000\000\b\242\000\000\026\242\000\000\000\000\np\011\160\000\161\003R\012J\001d\000\000\001d\012r\000\000\012t\000\000\012v\000\000\000\000\002\178\001d\b\024\001d\000\000\000\000\t\150\003R\011n\000\000\011p\000\000\011\174\000\161\003R\011t\000\000\000\152\012\132\000\000\006\144\011\n\012\150\b\014\012\150\000\000\000\000\000\246\000\161\000\000\005\012\000\000\000\000\006\028\000\000\011\134\000\000\000\000\000\000\011\198\000\161\003R\011\142\000\000\000\000\000\152\006\144\011\n\000\246\005\012\006\028\011\144\000\000\006\144\011\n\000\246\005\012\006\028\011\146\000\000\000{\007|\011\174\000\161\011\168\004\206\004\006\011\214\000\161\000\000\011\216\000\161\000\000\0126\000\000\011\188\007\164\011\182\004\206\012<\000\000\011\186\004\206\012@\000\000\000\000\004\206\000\000\012B\000\000"), (16, "\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241 2\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\r\241\001:\0007\000;\018\130\r\241\005\194\002f\n]\001\190\004\250\n]\r\241\005\002\r\241\005\018\tI\016n\r\241\r\241\015\182\r\241\005\026\001\150\r\241\001B\018\002\001\146\001\150\r\241\r\241\r\241\000\n\001\154\r\241\001F\005\185\001\158\001\162\004\202\r\241\014F\001>\r\241\r\241\000\150\000\154\002j\001r\r\241\r\241\000\n\r\241\005\"\r\241\001\166\r\221\016\150\000\n\r\241\000\n\r\241\r\241\000\n\r\241\r\241\r\241\000\242\027\202\001B\r\241\r\241\r\241\001>\0066\r\241\r\241\r\241\001z\001F\018\134\r\241\r\241\r\241\r\241\r\241\r\241\005Y\0052\005\021\r\241\r\241\000N\t\230\023^\023\134\023\150\023\190\023\206\023\246\001B\r\241\r\241\r\241\000\n\0192\r\241\r\241\r\241\r\241\001F\r\241\019\182\r\241\024\202\015\186\r\241\006\213\r\221\r\241\r\241\014\142\r}\b\213\001v\000\n\005\185\n]\001\142\007\029\r\241\r\241\bE\t\198\r\241\000\n\016n\b\213\r\241\r\241\r\241\r\241\000\246\014v\r\241\018\002\r\241\016>\005\021\tM\r\241\r\241\r\241\021f\r\241\005\021\r\241\r\241\023\014\r\241\021j\r\241\r\241\006\197\r\241\r\241\r\241\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\027r\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\r\253\002f\007M\b\213\005Y\r\253\016n\022\226\rm\031\134\005Y\005Y\r\253\t\206\r\253\018\002\019\186\031\026\r\253\r\253\r}\r\253\005Y\005Y\r\253\001R\rr\001^\004\201\r\253\r\253\r\253\002\146\0192\r\253\004\201\001>\001~\031\030\027v\r\253\006\246\001r\r\253\r\253\031\"\015\130\000\n\005Y\r\253\r\253\007m\r\253\014\185\r\253\001\134\b\213\007m\007m\r\253\000&\r\253\r\253\001B\r\253\r\253\r\253\022\246\b\213\031\174\r\253\r\253\r\253\001F\011^\r\253\r\253\r\253\006\229\r\213\000*\r\253\r\253\r\253\r\253\r\253\r\253\r\026\n\194\t\014\r\253\r\253\r\030\004\209\0192\007m\011b\029\014\000\n\r\"\004\209\r\253\r\253\r\253\r&\029\018\r\253\r\253\r\253\r\253\001\150\r\253\007M\r\253\031*\015\234\r\253\007\021\001v\r\253\r\253\000\n\r}\006\189\014\185\014\185\000\006\000\"\006\189\014\185\020j\r\253\006\189\006^\r\253\015\130\012\134\t\173\r\253\r\253\r\253\r\253\002\146\002q\r\253\000\n\r\253\0312\023>\r\197\r\253\r\253\r\253\001\202\r\253\023f\r\253\r\253\001\150\r\253\tY\r\253\r\253\001\238\r\253\r\253\r\253\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\002\002\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\019\150\000\n\011j\n]\007U\016r\016\130\016\146\023\158\031B\002.\007U\016n\007U\r}\001>\019\154\007U\007U\024\142\007U\018\002\0022\007U\004\226\016\n\006\189\023F\007U\005\133\007U\r}\000.\007U\023n\005N\002^\015\198\005V\007U\005f\021\166\001B\015\202\002z\015\130\006\189\005n\007U\007U\006\189\022b\001F\007U\007U\001\218\020:\011&\007U\014\185\007U\007U\002m\007U\007U\007U\001>\022f\006j\007U\007U\007U\t\157\003\238\007U\007U\007U\000\n\005v\023\166\007U\007U\007U\007U\007U\007U\006\221\006\221\015\198\007U\007U\r\205\006\253\001B\015\202\001>\015\154\001>\006~\006\245\0192\007U\007U\001F\015:\007U\007U\007U\007U\016&\007U\te\007U\005\134\007\r\007U\031R\015\198\007U\007U\028\195\028\199\001B\015\202\001B\028\203\019\222\031J\000\n\015\130\014\185\014\185\001F\007U\001F\014\185\021\170\007U\007U\007U\007U\023\214 J\007U\007\005\007U\015\130\0075\r}\007U\007U\007U\004\158\025\018\000\n\007U\007U\000\n\007U\000\n\007U\007U V\007U\007U\007U\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\031\018\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\t\250\018\130\007u\n\002\007u\n\018\003\229\n]\007u\007u\003\229\007u\n\026\007u\004\145\004\186\016n\007u\007u\028\178\007u\023\222\001B\007u\020F\018\002\026\026\026\"\007u\007u\007u\012\209\001F\007u\007u\007u\007u\004\194\0307\007u\007u\007u\007u\n\"\007u\007u\030;\005&\007u\007u\007u\007u\019\254\007u\002f\005*\030>\000\n\007u\028\178\007u\025\030\007u\007u\007u\007u\026*\007u F\007u\007u\007u\015\130\024\154\007u\007u\007u\018\134\n2\007u\007u\007u\007u\007u\007u\007u\006\237\006\202\0242\001>\007u\002\157\007\133\012\209\011\134\001\206\018\142\nq\014N\004\241\005z\007u\007u\007u\0192\007u\007u\007u\007u\007u\007u\005~\007u\025\"\007E\007u\001B\001B\007u\007u\028\235\028\239\014Z\007u\007u\028\243\001F\001F\005\202 \155\007u\030W\030[\007u\n\141\n\141\030_\007u\007u\n\141\007u\030w\030{\007u\007\190\007u\030\127\020\186\t!\007u\nN\000\n\000\n\nV\007\133\nf\007u\021:\007u\nq\007u\007u\nn\007u\007u\007u\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\024\030\001&\028\250\001.\r\"\0016\002\014\002\022\002\026\r&\028\254\031\186\024\"\nv\tA\r*\t]\005=\031\190\005\222\015F\r\157\r:\024&\002\"\024*\b\134\tu\002\150\rB\t\017\016F\016\150\024.\016J\006\006\001>\029\222\015V\002*\006\n\016^\024:\b\150\nY\002}\024>\002M\n\134\025.\002\166\021\214\024B\0292\018\138\005=\r\141\007%\t=\018\022\016\162\029^\029j\001B\018\026\020v\016\154\007-\024F\002\202\025\222\002\206\005\149\001F\002>\019*\018\"\ru\027Z\0242\016\186\002\214\018&\025j\006\030\016\190\014n\002\222\024\158\006:\r\157\016\194\016\198\rV\rZ\016\202\018*\004\145\000\n\024J\024\170\018.\024N\018\158\027^\018\170\001>\t-\024\174\002]\006B\006F\r\198\016\206\027n\024R\0182\0186\016\210\018:\024V\000\n\024Z\018N\024^\024b\005q\024f\021f\018Z\016\218\021\234\022\006\001B\024j\021j\003\229\024n\022\026\021n\003\229\029~\r\181\001F\018z\na\021\218\r\189\018~\018\202\005\149\r^\024r\031\198\016\222\024\186\018\206\024v\024z\022*\016\230\005\149\005\149\022\130\022\150\024\190\005\149\018\214\000\n\016\234\006\130\007}\007}\022\226\016\242\003\"\007}\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\006U\001&\028\250\001.\r\"\0016\002\014\002\022\002\026\r&\028\254\002f\022\178\026\014\004\145\r*\na\r\165\026\178\006\134\004\145\004\145\r:\006\138\002\" 6\026\026\026\"\002\150\rB\027Z\016F\004\145\031\018\016J\021\238\022\n\007=\006\189\002*\nE\016^\027\134\026\002\nY r\001>\r\173\006\154\r\133\002\166\012\242\018\130\016n\005e\006\162\006\166\002\146\004\145\018\022\016\162\029^\018\002\022.\018\026\020\190\027\198\022\134\022\154\002\202\006\174\002\206\005\165\001B\002>\019*\018\"\001>\021\186\027N\016\186\002\214\018&\001F\029\194\016\190\014n\002\222\t\145\006\222\006\226\016\194\016\198\rV\rZ\016\202\018*\ni\006\234\015\198\019.\018.\004\141\006\254\001B\015\202\029\206\022\182\000\n\027\186\t\129\029\238\r\198\016\206\001F\002\141\0182\0186\016\210\018:\007\018\000\n\007*\018N\007J\000\n\005q\007R\018\134\018Z\016\218\b\018\b\174\006\189\b\186\b\218\b\246\t\006\004\141\000\n\t\022\0192\t\030\t6\018z\000\n\t>\tN\018~\018\202\t1\r^\tZ\006\189\016\222\tf\018\206\tv\t\130\ni\016\230\011\190\005\165\t\142\011\198\t\158\011\214\018\214\t\174\016\234\t\182\007\141\007\141\011\222\016\242\003\"\007\141\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\t\219\001&\028\250\001.\r\"\0016\002\014\002\022\002\026\r&\028\254\n&\n*\011\230\re\r*\nz\n~\n\202\004\141\re\re\r:\n\222\002\"\004\141\004\141\011\006\002\150\rB\012\018\016F\re\012\026\016J\012*\011\n\004\141\011\030\002*\011J\016^\0122\011~\nY\031\158\011\142\011\162\011\246\011\234\002\166\011\238\012>\016n\004\141\012B\012\142\012\162\re\016\158\016\162\012\202\018\002\004\141\018\026\031J\012\206\012\226\012\250\002\202\r\014\002\206\005\193\012:\002>\018\030\018\"\r.\r6\r>\016\186\002\214\018&\rF\rN\016\190\014n\002\222\rR\r\138\r\154\016\194\016\198\rV\rZ\016\202\018*\r\166\r\174\014\022\014\193\018.\004\149\014\"\014V\014z\014\134\014\162\012J\014\170\015j\015v\r\198\016\206\015~\015\146\0182\0186\016\210\018:\015\158\000\n\015\166\018N\015\170\015\178\005q\015\194\015\210\018Z\016\218\015\218\015\222\015\242\015\250\016\018\016\026\016.\031B\0166\016B\0192\016V\016j\018z\016v\016~\016\134\018~\018\202\005\193\r^\016\142\016\170\016\222\016\178\018\206\017\026\017&\017^\016\230\005\193\005\193\017\142\018>\018F\005\193\018\214\018V\016\234\018\130\n\149\n\149\018^\016\242\003\"\n\149\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\001B\001&\018f\001.\r\"\0016\002\014\002\022\002\026\r&\001F\018n\018v\018\198\018\210\r*\018\218\018\230\018\234\004\149\005Y\018\242\r:\018\246\002\"\004\149\004\149\018\254\002\150\rB\019\006\016F\019\014\019\022\016J\000\n\019>\004\149\031\006\002*\b\221\016^\019\130\019\138\nY\019\142\019\158\019\166\019\170\019\178\002\166\019\194\019\202\016n\b\221\018\134\019\210\019\214\019\230\016\158\016\162\019\238\018\002\004\149\018\026\031J\020\006\020\014\020^\002\202\020\166\002\206\020\178\021&\002>\018\030\018\"\002a\0212\021R\016\186\002\214\018&\021~\021\142\016\190\014n\002\222\021\150\021\178\021\190\016\194\016\198\rV\rZ\016\202\018*\031\150\021\198\021\202\021\210\018.\021\226\021\246\022\018\0226\022>\022N\022V\022Z\022j\b\221\r\198\016\206\031n\022r\0182\0186\016\210\018:\022v\000\n\022~\018N\031\130\022\142\022\162\022\190\005Y\018Z\016\218\031\218\022\210\031\134\005Y\005Y\022\222\022\238\023\006\023\022\023\"\0192\023S\023{\018z\023\147\005Y\005Y\018~\018\202\023\179\r^\023\203\023\235\016\222\024\003\018\206\024\026\0246\024\162\016\230\024\178\024\227\025:\b\221\025O\025w\018\214\025\131\016\234\025\147\025\155\005Y\025\182\016\242\003\"\b\221\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\025\191\001&\025\199\001.\r\"\0016\002\014\002\022\002\026\r&\025\207\025\234\025\251\026\030\007e\r*\026&\0266\026S\026c\007e\007e\r:\026k\002\"\026~\026\135\026\143\002\150\rB\026\151\016F\007e\026\162\016J\026\199\026\211\026\230\026\239\002*\026\247\016^\026\255\027\"\nY\027+\0273\027f\027\146\027\210\002\166\027\243\027\251\016n\028\007\028\023\028\031\028+\007e\016\158\016\162\0286\018\002\028F\018\026\028S\028[\028b\028o\002\202\028{\002\206\028\131\028\143\002>\018\030\018\"\028\155\028\182\029>\016\186\002\214\018&\029f\029v\016\190\014n\002\222\029\170\029\178\029\226\016\194\016\198\rV\rZ\016\202\018*\030\n\030\014\030\022\014\193\018.\030C\031\n\031\022\031&\031.\0316\031c\031k\031r\031\127\r\198\016\206\031\138\031\154\0182\0186\016\210\018:\031\207\000\n\031\222\018N\031\235 \015 + : B\018Z\016\218 N Z g n v \127 \134 \143 \163\000\000\0192\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\r^\000\000\000\000\016\222\000\000\018\206\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\016\234\000\000\014\193\014\193\000\000\016\242\003\"\014\193\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\000\000\001&\028\250\001.\r\"\0016\002\014\002\022\002\026\r&\028\254\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\019\150\000\000\r:\000\000\002\"\000\000\000\000\000\000\002\150\rB\000\000\016F\000\000\000\000\016J\001>\019\154\000\000\000\000\002*\000\000\016^\000\000\000\000\nY\000\000\000\000\000\000\004\226\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\015\198\000\000\018\022\016\162\000\000\001B\015\202\018\026\030\142\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\019*\018\"\000\000\000\000\000\000\016\186\002\214\018&\000\000\000\000\016\190\014n\002\222\000\000\000\000\000\000\016\194\016\198\rV\rZ\016\202\018*\000\n\000\000\000\000\000\000\018.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\206\000\000\000\000\0182\0186\016\210\018:\000\000\000\n\000\000\018N\000\000\000\000\005q\000\000\000\000\018Z\016\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\r\000\000\000\000\000\000\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\r^\000\000\000\000\016\222\000\000\018\206\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\016\234\000\000\ny\ny\000\000\016\242\003\"\ny\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\000\000\001&\000\000\001.\r\"\0016\002\014\002\022\002\026\r&\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\022b\000\000\r:\000\000\002\"\000\000\000\000\000\000\002\150\rB\000\000\016F\000\000\000\000\016J\001>\022f\000\000\000\000\002*\000\000\016^\000\000\000\000\nY\000\000\000\000\000\000\004\226\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\015\198\000\000\018\022\016\162\000\000\001B\015\202\018\026\019F\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\019*\018\"\000\000\000\000\000\000\016\186\002\214\018&\000\000\000\000\016\190\014n\002\222\000\000\000\000\000\000\016\194\016\198\rV\rZ\016\202\018*\000\n\000\000\000\000\014\157\018.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\206\000\000\000\000\0182\0186\016\210\018:\000\000\000\n\000\000\018N\000\000\000\000\000\000\000\000\000\000\018Z\016\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\r\000\000\000\000\000\000\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\r^\000\000\000\000\016\222\000\000\018\206\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\016\234\000\000\014\157\014\157\000\000\016\242\003\"\014\157\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\000\000\001&\000\000\001.\r\"\0016\002\014\002\022\002\026\r&\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\000\000\r:\000\000\002\"\000\000\000\000\000\000\002\150\rB\000\000\016F\000\000\000\000\016J\000\000\000\000\000\000\000\000\002*\000\000\016^\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\022\016\162\000\000\000\000\000\000\018\026\029B\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019*\018\"\000\000\000\000\000\000\016\186\002\214\018&\000\000\000\000\016\190\014n\002\222\000\000\000\000\000\000\016\194\016\198\rV\rZ\016\202\018*\000\000\000\000\000\000\000\000\018.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\206\000\000\000\000\0182\0186\016\210\018:\000\000\000\n\000\000\018N\000\000\000\000\000\000\000\000\000\000\018Z\016\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\r^\000\000\000\000\016\222\000\000\018\206\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\016\234\000\000\014\233\014\233\000\000\016\242\003\"\014\233\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\000\000\001&\000\000\001.\r\"\0016\002\014\002\022\002\026\r&\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\000\000\r:\000\000\002\"\000\000\000\000\000\000\002\150\rB\000\000\016F\000\000\000\000\016J\000\000\000\000\000\000\000\000\002*\000\000\016^\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\022\016\162\000\000\000\000\000\000\018\026\029B\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019*\018\"\000\000\000\000\000\000\016\186\002\214\018&\000\000\000\000\016\190\014n\002\222\000\000\000\000\000\000\016\194\016\198\rV\rZ\016\202\018*\000\000\000\000\000\000\000\000\018.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\206\000\000\000\000\0182\0186\016\210\018:\000\000\000\n\000\000\018N\000\000\000\000\000\000\000\000\000\000\018Z\016\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\r^\000\000\000\000\016\222\000\000\018\206\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\016\234\000\000\014\229\014\229\000\000\016\242\003\"\014\229\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\000\000\001&\000\000\001.\r\"\0016\002\014\002\022\002\026\r&\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\000\000\r:\000\000\002\"\000\000\000\000\000\000\002\150\rB\000\000\016F\000\000\000\000\016J\000\000\000\000\r\026\000\000\002*\000\000\016^\r\030\000\000\nY\000\000\000\000\029\014\000\000\r\"\002\166\000\000\000\000\000\000\r&\029\018\000\000\000\000\000\000\018\022\016\162\000\000\000\000\000\000\018\026\020\242\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019*\018\"\000\000\000\000\000\000\016\186\002\214\018&\000\000\000\000\016\190\014n\002\222\000\000\019\150\000\000\016\194\016\198\rV\rZ\016\202\018*\000\000\000\000\000\000\000\000\018.\000\000\000\000\001>\019\154\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\206\000\000\000\000\0182\0186\016\210\018:\000\000\000\n\000\000\018N\000\000\000\000\015\198\r\149\r\149\018Z\016\218\001B\015\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\r^\000\000\000\000\016\222\000\000\018\206\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\n\018\214\000\000\016\234\000\000\005\133\000\000\000\000\016\242\003\"\000R\000V\000f\000\170\000\000\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\000\000\001&\000\000\001.\r\"\0016\002\014\002\022\002\026\r&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\002\150\000\000\000\000\016F\000\000\000\000\016J\r\149\000\000\000\000\000\000\002*\000\000\021r\000\000\000\000\nY\000\000\r\149\000\000\000\000\000\000\002\166\000\000\r\149\r\149\000\000\000\000\000\000\000\000\006\181\021\130\016\162\000\000\000\000\006\181\000\000\000v\000\000\000\000\006\181\002\202\006\181\002\206\000\000\000\000\002>\006\181\006\181\000\022\000\000\000\000\016\186\002\214\000\000\000\000\r\149\016\190\001\150\002\222\000\000\r\149\r\149\016\194\016\198\rV\021\134\016\202\000\000\000\000\000\000\000\000\000\000\000\000\n\006\006\181\000\000\000\000\006\181\000\000\000\000\000\000\006\181\000\000\r\198\016\206\000\000\006\181\000\000\000\000\016\210\000\000\000\000\000\n\000\000\nZ\006\181\006\181\006\181\000\000\006\181\000\000\016\218\000\000\006\181\000\000\000\000\000Z\006\181\006\181\006\181\n\162\006\181\000\000\006\181\000\000\006\181\006\181\000\000\006\181\000\000\006\181\006\181\r^\006\181\006\181\016\222\006\181\021\138\006\181\000\000\000\000\016\230\000\000\006\181\006\181\000\000\006\181\006\181\021\146\000\000\016\234\006\181\006\181\000Z\006\181\016\242\003\"\006\181\006\181\006\181\006\181\006\181\000\000\006\181\000\000\006\181\000\000\006\181\006\181\n\214\000\000\000\000\000\000\006\181\000Z\000\000\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\006\181\011B\006\181\000\000\000\000\006\181\000Z\000\000\000\000\006\181\000\000\006\181\000\000\006\181\011\154\006\181\000\000\006\181\006\181\000Z\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\000\000\000\000\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\006\181\000\000\006\181\006\181\006\181\006\181\006\181\000\000\000\000\000\000\000\000\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\000\000\000\000\006\181\000\000\000\000\006\181\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\006\181\006\181\000\000\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\000\000\006\181\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\004\238\004\246\000\170\000\000\000\174\000\000\005:\005B\005J\005\142\000\000\005\150\005\158\002\"\005\174\000\000\005\182\002\150\005\190\005\234\002\174\005\242\000\000\002\178\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\005\250\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003F\007B\000\000\002\194\006\002\000\000\007\178\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007V\002\214\000\000\000\000\000\000\007Z\001\150\002\222\000\000\000\000\007\182\007^\007b\000\000\000\000\007f\002\238\000\000\006\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007j\000\000\000\000\000\000\000\000\007n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007v\000\000\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\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\000\000\000\000\000\000\007\130\000\000\000\000\004\233\000\000\000\000\000\000\000\000\000\000\007\134\000\000\000\000\000\000\000\000\007\142\003\"\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\011\178\011\186\000\170\000\000\000\174\000\000\011\254\012\006\012\014\012R\000\000\012Z\012b\002\"\012r\000\000\012z\002\150\012\130\012\174\002\174\012\182\000\000\002\178\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\012\190\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003F\007B\000\000\002\194\012\198\000\000\007\178\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007V\002\214\000\000\000\000\000\000\007Z\001\150\002\222\000\000\000\000\007\182\007^\007b\000\000\000\000\007f\002\238\000\000\012\214\000\000\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\r\030\000\000\000\000\007j\000\000\029\014\000\000\r\"\007n\000\000\000\000\000\n\r&\029\018\000\000\000\000\000\000\000\000\000\000\000\000\007v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\007\186\000\000\r\030\000\000\000\000\000\000\000\000\029\014\000\000\r\"\000\000\000\000\000\000\007z\r&\029\018\000\000\000\000\000\000\007\130\000\000\000\000\t\021\000\000\000\000\000\000\000\000\000\000\007\134\000\000\000\000\001>\015\154\007\142\003\"\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\019\150\001&\000\000\001.\015\198\0016\002\014\002\022\002\026\001B\015\202\000\000\000\000\000\000\000\000\001>\019\154\000\000\000\000\001F\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\015\198\000\000\002*\000\000\000\000\001B\015\202\000\n\000\000\000\000\000\000\000\000\005\133\002\166\000\000\001F\002\170\000\000\000\000\000\000\000\000\r\026\003F\007B\000\000\002\194\r\030\000\000\007\178\000\000\000\000\029\014\002\202\r\"\002\206\000\000\000\000\002>\r&\029\018\000\n\000\000\000\000\007V\002\214\005\133\000\000\000\000\007Z\001\150\002\222\000\000\000\000\007\182\007^\007b\000\000\000\000\007f\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\150\000\000\000\000\007j\000\000\000\000\000\000\000\000\007n\000\000\000\000\000\n\000\000\000\000\000\000\001>\019\154\b\149\b\149\000\000\007v\000\000\b\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\186\000\000\000\000\000\000\000\000\000\000\015\198\000\000\000\000\000\000\000\000\001B\015\202\007z\000\000\000\000\000\000\000\000\000\000\007\130\000\000\001F\002Q\000\000\000\000\000\000\000\000\000\000\007\134\000\000\000\000\000\000\000\000\007\142\003\"\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\n\001\014\001\022\000\000\001&\005\133\001.\000\000\0016\002\014\002\022\002\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\000\000\002\"\000\000\000\000\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\197\n\197\000\000\002\166\000\000\n\197\002\170\000\000\000\000\000\000\000\000\000\000\003F\007B\000\000\002\194\000\000\000\000\007\194\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007V\002\214\000\000\016E\000\000\007Z\001\150\002\222\000\000\000\000\007\182\007^\007b\000\000\000\000\007f\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016E\016E\000\000\000\000\000\000\000\000\007j\000\000\014\006\000\000\000\000\007n\000\000\000\000\000\n\016E\000\000\000\000\000\000\000\000\000\000\016E\016E\007v\000\000\014\014\000\000\000\000\014\026\000\000\000\000\016E\000\000\000\000\016E\000\000\016E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\000\000\000\000\000\000\007\130\000\000\000\000\t%\000\000\000\000\000\000\000\000\000\000\007\134\016E\000\000\000\000\000\000\007\142\003\"\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\014&\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016E\000\000\000\000\000\000\002\"\014*\000\000\016E\002\150\000\000\000\000\002\154\000\000\000\000\002\158\000\000\0142\000\000\000\000\002*\000\000\016E\000\000\000\000\000\000\000\000\000\000\000\000\016E\000\000\002\166\000\000\000\000\002\170\000\000\000\000\016E\016E\000\000\002\190\002\186\000\000\002\194\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\016a\000\000\000\000\016a\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\016a\016a\000\000\002\254\000\000\000\000\000\000\000\000\007\166\000\000\000\000\000\000\000\000\000\000\003\002\016a\000\000\000\000\000\000\016a\000\000\016a\016a\000\000\000\000\007\174\000\000\003\006\b\178\000\000\000\000\016a\000\000\003\018\016a\000\000\016a\000\000\000\000\000\000\000\000\000\000\003*\000\000\000\000\000\000\000\000\003\026\003\"\001\133\001\133\001\133\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\001\133\001\133\016a\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\b\190\000\000\000\000\001\133\001\133\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\001\133\016a\016a\001\133\016a\000\000\b\194\001\133\016a\000\000\024\018\000\000\000\000\001\133\000\000\000\000\000\000\b\202\000\000\000\000\001\133\000\000\016a\000\000\000\000\001\133\016a\016a\000\000\001\225\000\000\000\000\001\225\016a\001\133\001\133\000\000\016a\016a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\001\133\000\000\000\000\000\000\000\000\001\133\000\000\001\133\001\225\000\000\001\133\001\225\024\022\001\225\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\000\000\001\225\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\238\t\246\000\170\000\000\000\174\024\230\n:\nB\nJ\n\142\000\000\n\150\n\158\024\030\n\174\000\000\n\182\000\000\n\190\n\234\002\022\n\242\000\000\000\000\000\000\024\"\000\000\000\000\000\000\000\000\000\000\000\000\001\225\007\202\000\000\001\225\024&\n\250\024*\001\225\000\000\000\000\000\000\000\000\000\000\000\000\024.\000\000\000\000\000\000\000\000\000\000\0282\001\225\000\000\024:\000\000\001\225\001\225\024>\000\000\000\000\000\000\000\000\007\210\024B\000\000\000\000\001\225\001\225\000\000\000\000\011\018\000\000\000\000\000\000\000\000\025\210\000\000\000\000\000\000\024F\027>\000\000\000\000\000\000\000\000\011>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\000\000\r:\000\000\000\000\000\000\000\000\011V\002\150\rB\024J\016F\000\000\024N\016J\000\000\000\000\000\000\000\000\000\000\000\000\016^\000\000\000\000\nY\000\000\024R\000\000\000\000\000\000\002\166\024V\000\n\024Z\000\000\024^\024b\000\000\024f\018J\016\162\000\000\000\000\000\000\018\026\024j\000\000\000\000\024n\002\202\000\000\002\206\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\016\186\002\214\018&\024r\000\000\016\190\014n\002\222\024v\024z\000\000\016\194\016\198\000\000\000\000\016\202\018*\000\000\000\000\000\000\000\000\018.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\206\000\000\000\000\0182\0186\016\210\018:\000\000\000\n\000\000\018N\000\000\000\000\000\000\000\000\000\000\018Z\016\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\000\000\r*\000\000\016\222\000\000\018\206\000\000\000\000\r:\016\230\000\000\000\000\000\000\000\000\002\150\rB\018\214\016F\016\234\000\000\016J\000\000\000\000\016\242\003\"\000\000\000\000\016^\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\182\016\162\000\000\000\000\000\000\018\026\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\016\186\002\214\018&\000\000\000\000\016\190\014n\002\222\000\000\000\000\000\000\016\194\016\198\000\000\000\000\016\202\018*\000\000\000\000\000\000\000\000\018.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\206\000\000\000\000\0182\0186\016\210\018:\000\000\000\n\000\000\018N\000\000\000\000\000\000\000\000\000\000\018Z\016\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018z\000\000\000\000\000\000\018~\018\202\000\000\000\000\000\000\000\000\016\222\000\000\018\206\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\016\234\000\000\000\000\000\000\000\000\016\242\003\"\012Q\012Q\012Q\012Q\000\000\012Q\000\000\012Q\012Q\012Q\012Q\000\000\012Q\012Q\000\000\012Q\000\000\012Q\000\000\012Q\012Q\012Q\012Q\000\000\000\000\016\153\000\000\000\000\016\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012Q\012Q\012Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012Q\000\000\016\153\016\153\000\000\000\000\012Q\016\153\000\000\024\246\003:\016\153\000\000\024\254\000\000\000\000\000\000\016\153\000\000\012Q\016\153\016\153\000\000\016\153\016\153\000\000\012Q\003B\000\000\016\153\003V\012Q\000\000\016\153\000\000\000\000\016\153\000\000\016\153\016\153\012Q\012Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012Q\000\000\016\153\012Q\016\153\000\000\012Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\153\000\000\000\000\000\000\012Q\000\000\000\000\004\162\000\000\012Q\000\000\012Q\000\000\000\000\012Q\000\000\000\000\000\000\000\000\000\000\000\000\012Q\000\000\012Q\000\000\000\000\012Q\016\153\016\153\000\000\016\153\016\153\004\166\000\000\016\153\000\000\000\000\000\000\000\000\000\000\000\000\012Q\012Q\004\174\000\000\000\000\025R\012Q\016\153\000\000\000\000\016\153\016\153\016\153\016\153\016\153\000\000\000\000\000\000\016\153\016\153\016\153\000\000\016\153\016\153\016\153\016)\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\016)\016)\000\000\000\000\000\000\016)\000\000\000\000\003:\016)\000\000\000\000\000\000\000\000\000\000\016)\000\000\000\000\016)\016)\000\000\016)\016)\000\000\000\000\003B\000\000\016)\003V\000\000\000\000\016)\000\000\000\000\016)\000\000\016)\016)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016)\000\000\016)\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\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\000\000\000\000\000\000\000\000\000\000\016)\016)\000\000\016)\016)\004\166\000\000\016)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\004\174\000\000\005\233\000\000\000\000\016)\000\000\000\000\016)\016)\016)\016)\016)\000\000\000\000\000\000\016)\016)\016)\000\000\016)\016)\016)\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\005\233\005\233\000\000\001>\005\233\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\bA\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\000\000\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\012A\012A\012A\012A\000\000\012A\000\000\012A\012A\012A\012A\000\000\012A\012A\000\000\012A\000\000\012A\000\000\012A\012A\012A\012A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012A\012A\012A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012A\000\000\000\000\000\000\000\000\000\000\012A\000\000\000R\t\238\t\246\000\170\000\000\000\174\000\000\n:\nB\nJ\n\142\012A\n\150\n\158\000\000\n\174\000\000\n\182\012A\n\190\n\234\002\022\n\242\012A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012A\012A\000\000\000\000\000\000\000\000\n\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\002\000\000\012A\000\000\000\000\012A\000\000\000\000\012A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\018\012A\000\000\000\000\000\000\000\000\012A\000\000\012A\000\000\000\000\012A\000\000\000\000\000\000\011>\000\000\000\000\012A\000\000\012A\000\000\000\000\012A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011V\012A\012A\000\000\000\000\000\000\024\250\012A\012E\012E\012E\012E\000\000\012E\000\000\012E\012E\012E\012E\000\000\012E\012E\000\000\012E\000\000\012E\000\000\012E\012E\012E\012E\000\000\000\000\005\237\000\000\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012E\012E\012E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012E\000\000\005\237\005\237\000\000\000\000\012E\005\237\000\000\025V\005\237\005\237\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012E\005\237\005\237\000\000\005\237\005\237\000\000\012E\005\237\000\000\005\237\005\237\012E\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\237\012E\012E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012E\000\000\005\237\012E\005\237\000\000\012E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\000\000\000\000\000\000\012E\000\000\000\000\005\237\000\000\012E\000\000\012E\000\000\000\000\012E\000\000\000\000\000\000\000\000\000\000\000\000\012E\000\000\012E\000\000\000\000\012E\005\237\005\237\000\000\005\237\bI\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\012E\012E\005\237\000\000\000\000\000\000\012E\005\237\000\000\000\000\005\237\000\000\005\237\000\000\005\237\000\000\000\000\000\000\005\237\005\237\005\237\000\000\005\237\005\237\005\237\000R\t\238\t\246\000\170\000\000\000\174\000\000\n:\nB\nJ\n\142\000\000\n\150\n\158\000\000\n\174\000\000\n\182\000\000\n\190\n\234\002\022\n\242\000\000\000\000\016}\000\000\000\000\016}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025^\n\250\025z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\134\000\000\016}\016}\000\000\000\000\011\002\016}\000\000\000\000\017\n\016}\000\000\000\000\000\000\000\000\000\000\016}\000\000\025\158\016}\016}\000\000\016}\016}\000\000\011\018\017\018\000\000\016}\017\030\025\210\000\000\016}\000\000\000\000\016}\000\000\016}\016}\025\242\011>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011V\000\000\016}\025\254\016}\000\000\026V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016}\000\000\000\000\000\000\026n\000\000\000\000\017*\000\000\026\154\000\000\nA\000\000\000\000\026\202\000\000\000\000\000\000\000\000\000\000\000\000\026\214\000\000\027\002\000\000\000\000\027\254\016}\016}\000\000\016}\000\000\017.\000\000\016}\000\000\000\000\000\000\000\000\000\000\000\000\028\n\028\"\0176\000\000\000\000\002\150\028.\000\000\rz\000\000\016}\r~\016}\000\000\000\000\000\000\000\000\000\000\016}\016}\016}\000\000\016}\016}\016}\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\146\r\158\000\000\000\000\014F\014^\014b\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\178\002\214\000\000\014f\014j\r\182\014n\002\222\000\000\000\000\000\000\r\186\r\190\000\000\000\000\r\194\001F\000\000\000\000\000\000\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\198\r\202\000\000\000\000\000\000\000\000\r\206\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\213\000\000\014r\000\000\014\142\000\000\002\150\000\000\000\000\rz\000\000\000\000\r~\000\000\000\000\r\218\000\000\000\000\000\000\000\000\000\000\r\226\000\000\000\000\000\000\000\000\000\000\004\249\002\166\000\000\r\230\000\000\000\000\000\000\000\000\r\238\003\"\r\146\r\158\000\000\000\000\014F\014^\014b\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\178\002\214\000\000\014f\014j\r\182\014n\002\222\000\000\000\000\000\000\r\186\r\190\000\000\000\000\r\194\001F\000\000\000\000\000\000\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\198\r\202\000\000\000\000\000\000\000\000\r\206\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\213\000\000\014r\000\000\014\142\000\000\002\150\000\000\000\000\rz\000\000\000\000\r~\000\000\000\000\r\218\000\000\000\000\000\000\000\000\000\000\r\226\000\000\000\000\000\000\000\000\000\000\ti\002\166\000\000\r\230\000\000\000\000\000\000\000\000\r\238\003\"\r\146\r\158\000\000\000\000\014F\014^\014b\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\178\002\214\000\000\014f\014j\r\182\014n\002\222\000\000\000\000\000\000\r\186\r\190\000\000\000\000\r\194\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\r\198\r\202\000\000\000\000\000\000\000\000\r\206\000\000\000\000\000\n\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\r\214\001\209\001\209\000\000\000\000\000\000\001\209\000\000\000\000\006\213\001\209\014r\000\000\014\142\000\000\000\000\001\209\001\209\000\000\001\209\001\209\001\209\001\209\001\209\r\218\001\209\000\000\000\000\001\209\000\000\r\226\001\209\001\209\000\000\001\209\001\209\002\129\001\209\001\209\r\230\000\000\000\000\000\000\001\209\r\238\003\"\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003^\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003f\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004\146\001\209\001\209\000\000\001\209\001\209\001\209\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004\134\001\209\001\209\000\000\001\209\001\209\001\209\002\150\000\000\000\000\rz\000\000\000\000\r~\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\166\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\r\146\r\158\000\000\000\000\014F\014^\015J\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\r\178\002\214\000\000\014f\014j\r\182\014n\002\222\000\000\002*\001Y\r\186\r\190\001Y\000\000\r\194\001F\000\000\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\r\198\r\202\001Y\001Y\000\000\000\000\r\206\001Y\000\000\000\n\000\000\001Y\002>\000\000\000\000\000\000\000\000\003\158\r\214\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\006\213\000\000\001Y\000\000\014\142\000\000\001Y\011\022\000\000\003\166\000\000\003\182\001Y\000\000\000\000\r\218\000\000\000\000\000\000\000\000\000\000\r\226\000\000\000\000\000\000\000\000\000\000\ty\000\000\000\000\r\230\000\000\000\n\000\000\000\000\r\238\003\"\000\000\001Y\000\000\001Y\000\000\000\000\000\000\000\000\004\217\004\217\004\217\004\217\000\000\004\217\001Y\004\217\004\217\004\217\004\217\000\000\004\217\004\217\000\000\004\217\000\000\004\217\000\000\004\217\004\217\004\217\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002Z\001Y\000\000\000\000\001Y\001Y\004\217\001M\003\174\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\001Y\000\000\000\000\001Y\001Y\001Y\001Y\001Y\000\000\001M\001M\000\000\001Y\001Y\001M\001Y\001Y\001Y\001M\004\217\000\000\000\000\000\000\000\000\001M\004\217\000\000\001M\001M\000\000\001M\001M\000\000\000\000\004\217\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003\166\000\000\001M\001M\000\000\004\217\004\217\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\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\001M\000\000\000\000\001M\001M\000\000\001Q\003\174\000\000\001Q\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\000\000\000\000\001Q\000\000\000\000\000\000\001Q\000\000\000\000\003\166\000\000\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\001Q\001.\001Q\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001U\003\174\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\001Q\000\000\002F\001Q\001Q\001Q\001Q\001Q\000\000\001U\001U\002>\001Q\001Q\001U\001Q\001Q\001Q\001U\000\000\000\000\000\000\000\000\000\000\003\158\002J\002N\001U\001U\000\000\001U\001U\000\000\002R\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003\166\000\000\003\182\001U\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\001U\000\000\000\000\000\000\002V\000R\000V\000f\000\170\000\000\000\174\001U\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\014]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\002\"\001e\003\174\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001U\000\000\000\000\001U\001U\001U\001U\001U\000\000\003\150\003\190\000\000\001U\001U\001e\001U\001U\001U\001e\002:\000\000\000\000\000\000\000\000\003\158\002F\000\000\001e\001e\000\000\001e\001e\000\000\000\000\002>\000\000\001e\000\000\000\000\000\000\001e\000\000\000\000\003\166\000\000\003\182\001e\000\000\002J\002N\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001e\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\000\000\001]\003\174\000\000\001]\000\000\000\000\000\000\000\000\002\181\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\001e\001e\001e\000\000\003\150\003\190\000\000\001e\001e\001]\001e\001e\001e\001]\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\166\000\000\003\182\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\001]\001.\001]\0016\002\014\002\022\002\026\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\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\001a\003\174\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\001]\000\000\002F\001]\001]\001]\001]\001]\000\000\003\150\003\190\002>\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003\158\002J\002N\001a\001a\000\000\001a\001a\000\000\002R\000\000\000\000\001a\000\000\000\000\000\000\001a\000\000\000\000\003\166\000\000\003\182\001a\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\000\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\206\000\000\001a\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001a\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\002\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\002\"\001i\003\174\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001a\000\000\000\000\001a\001a\001a\001a\001a\000\000\003\150\003\190\000\000\001a\001a\001i\001a\001a\001a\001i\002:\000\000\000\000\000\000\000\000\003\158\006J\000\000\001i\001i\000\000\001i\001i\000\000\000\000\002>\000\000\001i\000\000\006N\006R\003\198\000\000\000\000\003\166\000\000\003\182\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\001i\001i\000\000\001q\003\174\000\000\001q\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003\150\003\190\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\000\000\000\000\001q\000\000\000\000\000\000\003\198\000\000\000\000\003\166\000\000\003\182\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\206\000\000\001q\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001q\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\001q\001q\002\"\004&\003\174\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001q\000\000\000\000\001q\001q\001q\001q\001q\000\000\003\150\003\190\000\000\001q\001q\001m\001q\003\222\001q\001m\002:\000\000\000\000\000\000\000\000\003\158\006J\000\000\001m\001m\000\000\001m\001m\000\000\000\000\002>\000\000\001m\000\000\006N\006R\003\198\000\000\000\000\003\166\000\000\003\182\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\001m\001m\000\000\004&\003\174\000\000\001u\000\000\t\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003\150\003\190\000\000\001m\001m\001u\001m\003\222\001m\001u\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\001u\001u\000\000\001u\004.\000\000\000\000\000\000\000\000\001u\000\000\000\000\000\000\003\198\000\000\000\000\003\166\000\000\003\182\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\206\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\001u\001u\000\000\003\138\003\174\000\000\003\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\001u\001u\001u\001u\001u\000\000\004\006\004\014\000\000\001u\001u\002-\001u\003\222\001u\002-\000\000\000\000\000\000\000\000\000\000\004\022\000\000\000\000\002-\002-\000\000\004\030\004>\000\000\000\000\000\000\000\000\002-\000\000\000\000\000\000\004F\000\000\nI\004N\000\000\004V\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\129\nI\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\nI\000\000\000\000\000\000\000\000\004^\000\000\002-\nI\000\000\003\150\003\190\000\000\000\000\nI\000\129\000\000\nI\002-\000\129\000\000\nI\025\002\000\000\000\000\003\158\000\000\nI\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\003\198\000\000\nI\003\166\004f\003\182\000\129\002-\002-\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\002-\000\000\000\000\002-\002-\002-\002-\003\206\nI\000\129\000\000\nI\002-\002-\000\000\004v\004~\002-\000\000\000\000\000\129\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\nI\nI\000\000\nI\nI\000\000\nI\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\nI\003\214\000\000\000\000\000\129\000\129\000\000\000i\003\174\000\000\000i\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\nI\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000i\000i\000\000\000\129\000\129\000i\000\129\003\222\000\129\000i\000\000\000\000\000\000\000\000\000\000\003\158\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\024\030\003\166\000\000\003\182\000i\000\000\000\000\000\000\000\000\000\000\000\000\000e\024\"\000\000\000e\000\000\000\000\000\000\000\000\026\158\000\000\000\000\000\000\024&\000\000\024*\000\000\000\000\000\000\000\000\000i\000\000\000i\024.\000\000\000e\000e\000\000\000\000\0242\000e\000\000\024:\000i\000e\000\000\024>\000\000\000\000\000\000\003\158\000\000\024B\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\026.\000\000\000e\000\000\024F\003\166\000i\003\182\000e\000i\000i\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000e\024J\000e\000\000\024N\000i\000i\000\000\000i\000i\000i\000\000\000\000\000e\000\000\025\170\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\000e\000\000\000\000\000e\000e\000\000\000]\003\174\000\000\000]\000\000\000\000\000\000\000\000\024r\000\000\000\000\000\000\000\000\024v\024z\000e\000\000\000\000\000e\000e\000e\000e\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\007\157\003\166\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\004&\007\157\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\157\000\000\007\157\000\000\000\000\000\000\000\000\000]\000\000\000]\007\157\000\000\003\150\003\190\000\000\000\000\007\157\000\137\000\000\007\157\000]\000\137\000\000\007\157\000\000\000\000\000\000\003\158\000\000\007\157\000\137\000\137\000\000\000\137\004.\000\000\000\000\000\000\000\000\000\137\028B\000\000\000\000\003\198\000\000\007\157\003\166\000]\003\182\000\137\000]\000]\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\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\206\007\157\000\137\000\000\007\157\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\137\000\000\000\000\000\000\007\157\000\000\000\000\000\000\000\000\007\157\007\157\007\157\000\000\007\157\007\157\000\000\007\157\000\000\000\000\000\000\000\000\000\000\000\000\007\157\000\000\000\000\007\157\003\214\000\000\000\000\000\137\000\137\000\000\004&\003\174\000\000\000}\000\000\000\000\000\000\000\000\007\157\000\000\000\000\000\000\000\000\007\157\007\157\000\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\003\150\003\190\000\000\000\137\000\137\000}\0046\003\222\000\137\000}\000\000\000\000\000\000\000\000\000\000\003\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\003\198\000\000\025\138\003\166\000\000\003\182\000}\000\000\000\000\000\000\000\000\000\000\000\000\000u\024\"\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\000\000\000\000\000\000\000\000\003\206\000\000\000}\024.\000\000\003\150\003\190\000\000\000\000\0242\000u\000\000\024:\000}\000u\000\000\024>\000\000\000\000\000\000\003\158\000\000\024B\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\024F\003\166\003\214\003\182\000u\000}\000}\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\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\206\024J\000u\000\000\024N\000}\000}\000\000\000}\003\222\000}\000\000\000\000\000u\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\000u\000\000\000\000\000u\000u\000\000\000a\003\174\000\000\000a\000\000\000\000\000\000\000\000\024r\000\000\000\000\000\000\000\000\024v\024z\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000a\000a\000\000\000u\000u\000a\000u\000u\000u\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\025\162\003\166\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000m\024\"\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\000\000\000\000\000\000\000\000\000a\000\000\000a\024.\000\000\003\150\003\190\000\000\000\000\0242\000m\000\000\024:\000a\000m\000\000\024>\000\000\000\000\000\000\003\158\000\000\024B\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\024F\003\166\000a\003\182\000m\000a\000a\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000m\024J\000m\000\000\024N\000a\000a\000\000\000a\000a\000a\000\000\000\000\000m\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\000m\000\000\000\000\000m\000m\000\000\000q\003\174\000\000\000q\000\000\000\000\000\000\000\000\024r\000\000\000\000\000\000\000\000\024v\024z\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\003\150\003\190\000\000\000m\000m\000q\000m\000m\000m\000q\000\000\000\000\000\000\000\000\000\000\003\158\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\024\030\003\166\000\000\003\182\000q\000\000\000\000\000\000\000\000\000\000\000\000\004&\024\"\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\000\000\000\000\000\000\000\000\003\206\000\000\000q\024.\000\000\003\150\003\190\000\000\000\000\0242\000\133\000\000\024:\000q\000\133\000\000\024>\000\000\000\000\000\000\003\158\000\000\024B\000\133\000\133\000\000\000\133\004.\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\003\198\000\000\026Z\003\166\000q\003\182\000\133\000q\000q\000\000\000\000\003\174\000\000\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\000q\000q\003\206\024J\000\133\000\000\024N\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\133\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\003\214\000\000\000\000\000\133\000\133\000\000\000y\003\174\000\000\000y\000\000\000\000\000\000\000\000\024r\000\000\000\000\000\000\000\000\024v\024z\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\003\150\003\190\000\000\000\133\000\133\000y\000\133\003\222\000\133\000y\000\000\000\000\000\000\000\000\000\000\003\158\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\003\198\000\000\000\000\003\166\000\000\003\182\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000R\000V\000f\000\170\t\234\000\174\r\026\000\178\000\186\000\194\001\006\r\030\001\014\001\022\000\000\001&\028\250\001.\r\"\0016\002\014\002\022\002\026\r&\028\254\003\214\000\000\000\000\000y\000y\000\000\000\000\003\174\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\000y\000\000\000\000\000y\000y\000y\000y\002*\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\003\213\000\000\000\000\000\000\000j\003\213\000\000\000r\002:\000\130\003\213\000\000\003\213\000\000\006J\000\000\000\138\003\213\003\213\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\006N\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rV\rZ\000\000\006V\000\000\000\146\003\213\000\000\000\000\000\000\003\213\000\000\000\000\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\213\003\213\003\209\000\n\000\000\000\000\000\198\003\209\005q\000\206\000\000\000\222\003\209\003\213\003\209\000\162\000\000\000\000\000\230\003\209\003\209\000\000\003\213\006Z\000\000\000\000\000\000\003\213\003\213\000\000\000\000\000\000\006\205\r^\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\213\000\000\006\205\000\000\002\161\000\000\000\000\006\205\000\238\003\209\000\000\003\213\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\213\000\000\003\209\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\003\209\011\202\006\181\000\000\000\000\003\209\003\209\000\000\000\000\003\213\000\000\000\000\003\213\003\213\006\181\003\209\003\213\000\000\000\000\003\209\000\000\003\213\003\213\000\000\000\000\006\181\003\213\006\181\012U\012U\003\209\000\000\012U\000\000\000\000\006\181\000\000\000\000\000\000\000\000\003\209\006\181\000\000\000\000\006\181\003\209\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\012\154\000\000\012U\000\000\006\181\000Z\000\000\000\000\000\000\000\000\006\181\000\000\003\209\000\000\000\000\003\209\003\209\000\000\000\000\003\209\000\000\000\000\000\000\000\000\003\209\003\209\000\000\000\000\000\000\003\209\000\000\000\000\006\181\012U\000\000\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\154\000\000\000\000\002\158\006\181\000\000\000\000\000\000\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\000\000\000\000\002\166\000\000\000\000\002\170\006\181\000\000\000\000\006\181\000\000\002\182\002\186\000\000\002\194\000\000\rv\000\000\000\000\000\000\000\000\002\202\000\000\002\206\006\181\000\000\000\000\000\000\000\000\006\181\006\181\012U\002\210\002\214\000\000\000\000\014~\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\001\233\001\233\002\254\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\000\000\003\002\nQ\001\233\000\000\000\000\001\233\001\233\000\000\001\233\001\233\000\000\000\000\000\000\003\006\001\233\000\000\000\000\000\000\001\233\003\018\000\000\001\233\nQ\001\233\001\233\000\000\000\000\000\000\003*\000\000\000\000\000\000\000\000\003\026\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\001\233\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\001\233\017J\000\000\001\233\000\000\000\000\000\000\001\233\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\000\000\001\233\000\000\001\233\000\000\002\202\000\000\002\206\000\000\017R\001\233\001\233\000\000\001\233\001\233\001\233\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\002\150\002\234\002\238\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016b\000\000\000\000\002\242\000\000\000\000\002\166\000\000\002\246\002\170\000\000\000\n\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\006\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\nQ\000\000\000\000\000\000\003*\002\150\000\000\000\000\002\154\003\026\003\"\002\158\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\nQ\000\n\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\002\254\000\000\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\000\000\003\002\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\003\006\000\000\002\210\002\214\000\000\000\000\003\018\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\003*\002\150\002\234\002\238\002\154\003\026\003\"\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\002\242\000\000\000\000\002\166\000\000\002\246\002\170\000\000\000\n\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\006\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\003*\002\150\000\000\000\000\002\154\003\026\003\"\002\162\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\002\254\000\000\000\000\000\000\000\000\002\182\tn\000\000\002\194\000\000\000\000\003\002\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\003\006\000\000\002\210\002\214\000\000\000\000\003\018\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\003*\002\150\002\234\002\238\002\154\003\026\003\"\002\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\002\242\000\000\000\000\002\166\000\000\003\n\002\170\000\000\000\n\000\000\000\000\000\000\002\182\t^\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\014\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\003\022\002\150\000\000\000\000\002\154\003\026\003\"\002\162\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\002\254\000\000\000\000\000\000\000\000\002\182\tF\000\000\002\194\000\000\000\000\003\002\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\002\210\002\214\000\000\000\000\003\018\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\003\022\002\150\002\234\002\238\002\154\003\026\003\"\002\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\002\242\000\000\000\000\002\166\000\000\003\n\002\170\000\000\000\n\000\000\000\000\000\000\002\182\002\250\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\014\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\003\022\t\018\000\000\000\000\000\000\003\026\003\"\000\000\000\000\000\000\002\242\004\193\000\000\000\000\004\193\003\n\000\000\004\193\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\004\193\000\000\000\000\004\193\000\000\003\002\000\000\000\000\000\000\004\193\004\193\000\000\004\193\000\000\000\000\000\000\000\000\000\000\003\014\004\193\000\000\004\193\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\004\193\004\193\000\000\003\022\000\000\004\193\004\193\004\193\003\026\003\"\000\000\004\193\004\193\012\030\006\181\004\193\004\193\000\000\000\000\000\000\000\000\000\000\012f\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\006\181\000\000\006\181\004\193\006\181\000\000\004\193\000\000\000\000\000\000\000\000\006\181\006\181\006\181\000\000\004\193\000\000\000\000\006\181\000\000\000\000\006\181\000\000\000\000\000\000\006\181\000\000\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\004\193\006\181\000\000\006\181\012\218\000\000\004\193\000\000\006\181\000Z\000\000\000\000\006\181\r\006\006\181\004\193\000\000\006\181\000Z\000\000\004\193\004\193\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\002\150\000\000\000\000\002\154\000\000\006\181\002\162\000\000\006\181\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\002\166\006\181\000\000\002\170\000\000\000\000\006\181\006\181\000\000\002\182\r\130\000\000\002\194\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\002\150\002\234\002\238\002\154\000\000\000\000\002\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\002\242\000\000\000\000\002\166\000\000\003\n\002\170\000\000\000\n\000\000\000\000\000\000\002\182\016N\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\014\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\003\022\017~\000\000\000\000\017\134\003\026\003\"\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\017\150\017\158\002\254\000\000\000\000\002=\000\000\000\000\000\000\002=\000\000\000\000\000\000\003\002\000\000\017\166\000\000\000\000\002=\002=\000\000\017\174\017\182\000\000\000\000\000\000\003\014\002=\000\000\000\000\000\000\017\190\003\018\000\000\017\198\0015\017\206\002=\0015\000\000\000\000\003\022\000\000\000\000\000\000\000\000\003\026\003\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\003\190\000\000\000\000\017\214\0015\002=\000\000\000\000\0015\000\000\000\000\000\000\000\000\000\000\003\158\000\000\002=\0015\0015\000\000\0015\0015\000\000\000\000\000\000\000\000\0015\000\000\000\000\000\000\003\198\000\000\000\000\003\166\000\000\003\182\0015\000\000\000\000\000\000\000\000\000\000\000\000\017\222\000\000\000\000\002=\000\000\000\000\000\000\017\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\0015\000\000\000\000\002=\000\000\002=\000\000\000\000\000\000\000\000\000\000\0015\002=\002=\000\000\017\238\017\246\002=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\0015\000\000\000\000\001\029\003\174\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\0015\000\000\0015\000\000\000\000\000\000\001\029\001\029\000\000\0015\0015\001\029\0015\003\222\0015\001\029\000\000\000\000\000\000\000\000\000\000\003\158\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\001\029\000\000\000\000\003\166\001\025\003\182\001\029\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\000\000\000\000\001\025\001\025\000\000\000\000\001\029\001\025\001\029\000\000\000\000\001\025\000\000\000\000\000\000\000\000\000\000\003\158\000\000\001\029\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\003\166\000\000\003\182\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\001\025\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\001\017\003\174\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\001\025\000\000\001\025\000\000\000\000\000\000\001\017\001\017\000\000\001\025\001\025\001\017\001\025\001\025\001\025\001\017\000\000\000\000\000\000\000\000\000\000\001\017\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\003\166\004&\001\017\001\017\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\150\003\190\000\000\000\000\001\017\001=\001\017\000\000\000\000\001=\000\000\000\000\000\000\000\000\000\000\003\158\000\000\001\017\001=\001=\000\000\001=\004.\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\003\198\000\000\000\000\003\166\000\000\003\182\001=\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\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\001=\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\001=\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\001=\000\000\000\000\004&\003\174\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\003\150\003\190\000\000\001=\001=\0011\0046\003\222\001=\0011\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\000\000\000\000\0011\000\000\000\000\000\000\003\198\000\000\000\000\003\166\001)\003\182\0011\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\150\003\190\000\000\000\000\003\206\001)\0011\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\003\158\000\000\0011\001)\001)\000\000\001)\001)\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\166\000\000\003\182\001)\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\0011\000\000\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\001)\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\001)\0011\0011\000\000\0011\003\222\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\001\021\003\174\000\000\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\001)\000\000\001)\000\000\000\000\000\000\001\021\001\021\000\000\001)\001)\001\021\001)\001)\001)\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\003\166\001!\001\021\001\021\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\150\003\190\000\000\000\000\001\021\001!\001\021\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\003\158\000\000\001\021\001!\001!\000\000\001!\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\166\000\000\003\182\001!\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\003\174\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\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001!\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\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\001%\003\174\000\000\001%\000\000\000\000\000\000\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\000\000\000\003\150\003\190\000\000\001!\001!\001%\001!\001!\001!\001%\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\003\166\004&\003\182\001%\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\150\003\190\000\000\000\000\003\206\0019\001%\000\000\000\000\0019\000\000\000\000\000\000\000\000\000\000\003\158\000\000\001%\0019\0019\000\000\0019\004.\000\000\000\000\000\000\000\000\0019\000\000\000\000\000\000\003\198\000\000\000\000\003\166\000\000\003\182\0019\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\0019\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\0019\001%\001%\000\000\001%\001%\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\0019\000\000\000\000\001-\003\174\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\0019\000\000\000\000\000\000\003\150\003\190\000\000\0019\0019\001-\0019\003\222\0019\001-\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\001-\001-\000\000\001-\001-\000\000\000\000\000\000\000\000\001-\000\000\024\030\000\000\003\198\000\000\000\000\003\166\000\000\003\182\001-\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\024&\000\000\024*\012\169\012\169\000\000\000\000\000\000\000\000\000\000\024.\003\206\000\000\001-\000\000\000\000\0242\000\000\000\000\024:\000\000\000\000\000\000\024>\001-\000\000\000\000\000\000\000\000\024B\000\000\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\169\000\000\024F\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\001-\000\000\000\000\000\000\003\174\000\000\000\000\000\000\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\169\001-\024J\001-\000\000\024N\000\000\000\000\000\000\000\000\001-\001-\000\000\001-\001-\001-\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\024\030\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\024\"\000\000\024n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\000\000\000\000\000\000\024r\012}\000\000\000\000\024.\024v\024z\012\169\000\000\000\000\0242\000\000\000\000\024:\000\000\000\000\000\000\024>\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\026\000\000\000\000\012}\000\000\024F\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\000\000\000\210\000\000\000\000\006\181\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\012}\006\181\024J\001\026\006\181\024N\006\181\000\000\006\181\006\181\000\000\005\006\000\000\006\181\006\181\000\000\006\181\000\000\024R\000\000\000\000\006\181\006\181\024V\000\n\024Z\006\181\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\006\181\006\181\000\000\006\181\000\000\001\250\006\181\006\181\000\000\000\000\000Z\006\181\000\000\006\181\024r\006\181\006\181\000\000\006\181\024v\024z\012}\006\181\006\181\006\181\000\000\000\000\006\181\006\181\000\000\006\181\006\181\000Z\000\000\000\000\006\181\000\000\006\181\000\000\000\000\000Z\006\181\000\000\006\181\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\006\181\000\000\000\000\006\181\006\181\006\181\000\000\005Z\006\181\006\181\006\181\000\000\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\006\181\000\000\000\000\000\000\002B\000\000\000\000\000\000\006\181\000Z\006\181\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\000\000\000\000\006\181\006\181\006\181\005\162\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\006\181\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\006\181\000Z\000\000\006\181\006\181\006\181\000\000\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\006\181\006\181\000\000\000\000\006\181\005\214\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006\181\002\166\006\181\000\000\002\170\006\181\006\181\000\000\000\000\006\181\002\198\007B\006\181\002\194\006\181\006\181\000\000\006\181\000\000\006\181\002\202\000\000\002\206\000\000\006\181\000\000\000\000\000\000\006\181\000\000\000\000\007V\002\214\000\000\000\000\000\000\007Z\001\150\002\222\006\181\000\000\000\000\007^\007b\000\000\000\000\007f\002\238\000\000\006\181\006\181\000\000\000\000\006\181\006\181\006\181\006\181\006\181\000\000\000\000\006\181\006\181\006\181\006\181\007j\000\000\006\181\006\181\006\181\007n\000\000\000\000\000\n\006\181\006\181\000\000\000\000\000\000\000\000\000\000\000\000\007v\000\000\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\000\000\006\181\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\007z\000\000\000\000\006\181\000\000\000\000\007\130\000\000\000\000\000\000\000\000\000\000\006\181\006\181\000\000\007\134\000\000\006\022\006\181\006\181\007\142\003\"\000Z\007\n\000\000\006\181\000\000\006\181\000Z\000\000\000\000\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\000\000\006\181\006\181\006\181\000\000\006\181\000\000\t\150\000\000\006\181\000\000\006\181\000Z\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\006\181\000\000\006\181\000\000\000\000\006\181\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\006\181\000\000\006\181\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\027\006\000\000\027\014\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\022\000\000\000\000\006\181\000\000\0276\006\181\006\181\000\000\000\000\006\181\000\000\024\"\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\024&\000\000\024*\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\0242\000\000\024\030\024:\000\000\000\000\000\000\024>\000\000\000\000\000\000\000\000\000\000\024B\024\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\000\000\024F\027>\000\000\000\000\000\000\000\000\024.\000\000\000\000\000\000\000\000\000\000\0242\000\000\000\000\024:\000\000\000\000\000\000\024>\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000\000\025\166\000\000\000\000\000\000\000\000\024F\000\000\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\012}\000\000\024J\000\000\000\000\024N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024r\000\000\000\000\000\000\024R\024v\024z\000\000\000\000\024V\000\n\024Z\024\030\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\024\"\000\000\024n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\014\194\000\000\000\000\024r\000\000\000\000\000\000\024.\024v\024z\012}\000\000\000\000\0242\000\000\024\030\024:\000\000\000\000\000\000\024>\000\000\000\000\000\000\014\202\014\210\024B\024\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026v\024&\014\218\024*\000\000\024F\000\000\000\000\014\226\014\234\000\000\024.\000\000\000\000\000\000\000\000\000\000\0242\014\242\000\000\024:\014\250\000\000\015\002\024>\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\000\000\012}\000\000\024J\000\000\000\000\024N\000\000\026\222\000\000\000\000\000\000\000\000\024F\000\000\000\000\000\000\015\n\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\012}\000\000\024J\000\000\000\000\024N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024r\015\018\000\000\000\000\024R\024v\024z\012}\015\026\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\000\000\000\000\000\000\000\000\0065\024j\000\000\000\000\024n\000\000\000\000\0065\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\015*\000\000\000\000\024r\000\000\000\000\000\000\000\000\024v\024z\012}\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\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\002\"\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\002*\000\000\029\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029\186\006R\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029\182\000\000\000\000\000\000\000\000\000\000\000\000\006V\000\000\002>\000\000\000\000\000\000\029\186\006R\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\006V\001.\000\000\0016\002\014\002\022\002\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\029\190\002\"\000\000\000\000\000\000\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\005\001\000\000\029\190\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\029\182\000\000\000\000\000\000\t\133\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029\186\006R\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\006V\001.\000\000\0016\002\014\002\022\002\026\002\150\000\000\000\000\rz\000\000\000\000\r~\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\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\r\146\r\158\000\000\000\000\000\000\000\000\000\000\029\190\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\r\178\002\214\000\000\000\000\006b\r\182\001\150\002\222\002\145\000\000\000\000\r\186\r\190\002>\000\000\r\194\000\000\006N\006R\000\000\002\150\000\000\000\000\016F\000\000\000\000\016J\000\000\000\000\000\000\000\000\000\000\r\198\r\202\000\000\006V\000\000\000\000\r\206\000\000\000\000\000\n\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\214\016\182\016\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\186\002\214\r\218\000\000\000\000\016\190\001\150\002\222\r\226\000\000\000\000\016\194\016\198\000\000\000\000\016\202\000\000\r\230\000\000\000\000\000\000\000\000\r\238\003\"\000\000\000\000\000\000\000\000\000\000\000\000\t\177\000\000\r\198\016\206\000\000\000\000\000\000\000\000\016\210\000\000\000\000\000\n\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\016\218\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\t\t\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\t\t\000\000\016\222\000\000\000\000\000\000\000\000\000\000\016\230\000\000\002\"\t\t\000\000\t\t\000\000\000\000\000\000\016\234\000\000\000\000\000\000\t\t\016\242\003\"\000\000\002*\000\000\t\t\000\000\000\000\t\t\000\000\000\000\000\000\t\t\000\000\000\000\000\000\000\000\000\000\t\t\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029\198\000\000\000\000\000\000\026r\t\t\027>\000\000\000\000\002>\000\000\000\000\000\000\029\186\006R\000\000\024\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\000\000\006V\000\000\000\000\000\000\000\000\t\t\024.\000\000\t\t\000\000\000\000\000\000\0242\000\000\000\000\024:\000\000\000\000\000\000\024>\000\000\t\t\000\000\000\000\000\000\024B\t\t\t\t\t\t\000\000\t\t\t\t\000\000\t\t\000\000\000\000\000\000\026\218\000\000\000\000\t\t\024F\000\000\t\t\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\t\t\000\000\024&\000\000\024*\t\t\t\t\000\000\000\000\t\149\000\000\000\000\024.\000\000\024J\000\000\000\000\024N\0242\000\000\000\000\024:\000\000\000\000\000\000\024>\000\000\000\000\000\000\000\000\024R\024B\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\024\030\024f\000\000\000\000\000\000\000\000\024F\000\000\024j\000\000\000\000\024n\024\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\024r\000\000\000\000\000\000\000\000\024v\024z\024.\000\000\000\000\000\000\024J\000\000\0242\024N\000\000\024:\000\000\000\000\000\000\024>\000\000\000\000\000\000\000\000\000\000\024B\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\024\030\024^\024b\000\000\024f\000\000\000\000\028\014\000\000\000\000\000\000\024j\024\"\000\000\024n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024&\000\000\024*\000\000\000\000\000\000\024r\000\000\000\000\000\000\024.\024v\024z\000\000\000\000\024J\000\000\000\000\024N\024:\000\000\000\000\000\000\024>\000\000\000\000\000\000\000\000\000\000\024B\000\000\024R\000\000\000\000\000\000\000\000\024V\000\n\024Z\000\000\024^\024b\000\000\024f\000\000\024F\000\000\000\000\000\000\000\000\024j\000\000\000\000\024n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\002\000\000\000\000\b\n\024r\000\000\000\000\000\000\000\000\024v\024z\000\000\024J\000\000\000\000\024N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\026\b\"\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\028:\024Z\000\000\024^\024b\b*\024f\000\000\000\000\0025\000\000\b2\b:\024j\000\000\000\249\024n\000\000\000\249\000\000\000\000\bB\000\000\000\000\bJ\000\000\bR\000\000\000\000\000\000\000\000\024r\000\000\000\000\000\000\000\000\024v\024z\000\000\003\150\003\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bZ\003\158\000\000\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\003\198\000\000\000\000\003\166\000\000\003\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\000\000\225\000\225\000\000\000\000\bb\000\000\000\000\0025\000\000\000\000\000\000\bj\000\000\003\206\000\000\003\158\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\0025\000\000\000\000\000\000\0025\0025\000\225\000\000\000\000\003\166\000\000\003\182\000\000\000\000\000\000\br\bz\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\000\249\000\000\000\000\000\221\003\174\000\000\000\221\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\000\000\249\000\249\000\000\000\000\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\249\003\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\000\000\000\221\000\225\000\221\000\221\000\225\000\000\000\213\000\000\003\174\000\213\000\000\000\000\000\221\000\000\000\000\003\166\000\000\003\182\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\225\000\225\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\221\000\213\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\004&\000\000\000\000\001\001\000\000\000\213\000\000\000\000\003\166\000\000\000\213\000\000\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\150\003\190\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003\174\000\000\000\213\000\000\003\158\000\000\000\000\000\000\001\001\000\000\001\001\004.\000\000\000\000\000\221\000\000\000\000\000\000\000\221\000\221\003\198\000\000\000\000\003\166\000\000\003\182\000\000\000\000\000\000\000\221\000\221\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\000\004&\003\174\000\000\000\245\003\206\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\000\000\213\000\213\000\000\000\000\000\000\003\150\003\190\000\000\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\000\000\000\245\003\214\000\245\000\245\001\001\000\000\000\237\000\000\003\174\000\237\000\000\000\000\003\198\000\000\000\000\003\166\000\000\003\182\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\000\000\003\150\003\190\000\000\000\000\000\000\000\000\000\000\0046\003\222\000\000\000\000\000\000\000\000\000\000\003\206\003\158\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\237\000\000\000\000\003\166\000\000\003\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\000\000\217\000\217\000\000\000\000\003\214\000\000\000\000\000\245\000\000\000\000\000\000\003\174\000\000\003\206\000\000\000\217\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\245\000\000\000\000\000\000\000\245\000\245\000\217\000\000\000\000\003\166\000\000\000\217\000\000\000\000\000\000\000\245\003\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\229\003\174\000\000\000\229\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\003\150\003\190\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\000\000\000\229\000\217\000\229\000\229\000\217\000\000\000\233\000\000\003\174\000\233\000\000\000\000\000\229\000\000\000\000\003\166\000\000\003\182\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\217\000\217\000\000\000\000\003\150\003\190\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\229\003\158\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\000\000\000\000\000\004&\000\000\000\000\000\253\000\000\000\233\000\000\000\000\003\166\000\000\003\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\000\003\150\003\190\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\003\174\000\000\003\206\000\000\003\158\000\000\000\000\000\000\000\253\000\000\000\253\004.\000\000\000\000\000\229\000\000\000\000\000\000\000\229\000\229\003\198\000\000\000\000\003\166\000\000\003\182\000\000\000\000\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\241\003\174\000\000\000\241\003\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\189\000\000\000\233\000\233\000\000\000\000\000\000\003\150\003\190\000\000\000\000\000\165\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\000\000\003\150\003\190\000\241\003\214\000\241\000\241\000\253\000\000\000\000\000\000\003\174\000\165\000\165\000\000\003\198\003\158\000\000\003\166\000\000\003\182\000\000\000\189\000\189\000\000\000\253\000\000\003\158\000\000\000\253\000\253\000\161\003\198\000\165\000\165\003\166\000\000\003\182\000\000\000\000\000\253\003\222\000\000\000\165\000\000\000\000\003\166\003\206\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\000\000\000\000\000\000\165\000\161\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\003\214\000\000\003\166\000\241\003\182\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\000\000\000\241\000\153\000\000\003\174\000\241\000\241\000\000\000\165\000\000\000\000\000\161\000\000\000\000\000\000\003\174\000\241\000\241\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\153\000\153\000\000\000\165\000\000\000\000\000\000\000\189\003\222\000\000\000\165\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\165\000\165\004&\000\153\000\153\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\153\003\174\000\000\003\166\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\003\190\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\003\158\000\000\000\161\000\161\000\153\000\000\000\197\004.\000\000\000\000\000\000\004&\000\000\000\000\000\000\000\177\003\198\000\000\000\000\003\166\000\000\003\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\000\003\150\003\190\000\000\000\000\003\150\003\190\000\000\000\000\000\000\000\153\000\000\000\000\000\000\003\206\000\000\003\158\003\174\000\000\000\000\003\158\000\000\000\185\000\185\000\000\000\000\000\177\000\177\000\000\000\000\000\000\000\153\003\198\000\000\000\157\003\166\000\177\003\182\000\153\003\166\000\000\003\182\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\000\000\000\157\000\157\000\000\003\174\000\000\000\000\003\206\000\000\000\000\000\000\003\206\000\000\000\000\000\000\000\000\000\157\000\000\000\197\000\000\000\000\000\000\000\157\000\157\000\000\000\197\000\000\000\000\000\000\000\000\000\000\000\169\000\157\0046\003\222\003\166\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\000\000\000\177\000\000\000\000\003\174\003\150\003\190\000\173\003\174\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\185\000\000\003\158\000\000\000\177\000\000\000\000\000\185\000\169\000\169\000\000\000\177\000\000\003\150\003\190\000\185\003\222\000\000\000\169\000\177\000\177\003\166\000\000\003\182\000\000\000\000\000\000\000\000\003\158\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\157\000\000\004&\000\000\000\000\000\000\000\000\003\174\000\173\000\000\000\000\003\166\000\000\003\182\000\169\000\000\000\000\000\000\000\000\000\181\000\000\000\157\000\000\000\000\000\000\000\000\003\150\003\190\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\157\000\000\000\000\003\206\003\158\000\000\003\150\003\190\000\000\000\000\000\193\004.\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\003\198\003\158\000\000\003\166\003\174\003\182\000\000\000\181\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\169\000\000\003\166\000\000\003\182\000\173\000\000\000\169\000\000\000\000\000\000\000\000\003\174\000\000\003\206\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\003\206\000\000\000\173\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\000\000\000\000\000\000\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\000\000\000\193\000\000\000\000\003\174\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\003\222\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\181"))
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\006\001\006\001\006\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\003\001\003\001\003\001\003\001\003\001\003\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\000\255\000\254\000\254\000\254\000\253\000\253\000\253\000\252\000\252\000\252\000\251\000\251\000\251\000\250\000\249\000\248\000\247\000\247\000\246\000\246\000\245\000\245\000\244\000\244\000\243\000\243\000\242\000\241\000\241\000\240\000\240\000\239\000\239\000\239\000\238\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\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\219\000\218\000\217\000\217\000\217\000\217\000\216\000\216\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\212\000\211\000\211\000\211\000\211\000\210\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\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\203\000\202\000\202\000\202\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\195\000\195\000\194\000\193\000\192\000\192\000\191\000\191\000\190\000\189\000\189\000\189\000\189\000\188\000\187\000\186\000\186\000\185\000\184\000\184\000\183\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\180\000\180\000\180\000\179\000\178\000\178\000\177\000\177\000\177\000\176\000\175\000\175\000\175\000\175\000\174\000\173\000\173\000\173\000\173\000\172\000\172\000\172\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\166\000\166\000\165\000\165\000\165\000\165\000\164\000\164\000\164\000\164\000\164\000\163\000\162\000\162\000\162\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\154\000\154\000\154\000\154\000\154\000\153\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\000x\000w\000w\000v\000u\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000t\000s\000r\000q\000p\000o\000n\000m\000l\000k\000j\000j\000j\000i\000i\000i\000h\000h\000h\000h\000g\000f\000e\000d\000c\000b\000a\000a\000a\000`\000`\000`\000_\000_\000^\000^\000^\000]\000]\000\\\000[\000[\000[\000Z\000Y\000Y\000X\000X\000W\000W\000V\000V\000U\000U\000T\000T\000S\000S\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000P\000P\000O\000O\000N\000N\000N\000N\000N\000M\000M\000L\000L\000L\000L\000K\000J\000I\000I\000I\000H\000H\000H\000G\000G\000G\000G\000G\000G\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\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>\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\0007\0006\0005\0005\0005\0005\0005\0005\0005\0004\0004\0004\0004\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\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001)\001)\001)\001(\001(\001(\001(\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001'\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001\"\001\"\001\"\001\"\001!\001 \001 \001 \001\031\001\031\001\031\001\030\001\030\001\030\001\029\001\029\001\029\001\028\001\027\001\026\001\025\001\025\001\024\001\024\001\023\001\023\001\022\001\022\001\021\001\021\001\020\001\019\001\018\001\017\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\007\001\006\001\005\001\005\001\004\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\255\000\254\000\254\000\254\000\254\000\253\000\253\000\253\000\253\000\252\000\252\000\252\000\252\000\251\000\251\000\251\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\250\000\249\000\248\000\248\000\248\000\248\000\248\000\247\000\247\000\246\000\245\000\244\000\244\000\244\000\244\000\243\000\243\000\243\000\243\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\242\000\241\000\240\000\240\000\239\000\239\000\239\000\238\000\238\000\237\000\237\000\237\000\236\000\235\000\234\000\234\000\233\000\233\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\219\000\219\000\218\000\218\000\218\000\218\000\218\000\218\000\217\000\217\000\217\000\216\000\215\000\214\000\214\000\214\000\214\000\213\000\213\000\212\000\211\000\211\000\211\000\210\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\207\000\207\000\207\000\207\000\206\000\205\000\205\000\204\000\204\000\204\000\203\000\202\000\202\000\202\000\201\000\200\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\197\000\197\000\196\000\196\000\195\000\195\000\195\000\195\000\195\000\195\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\193\000\193\000\192\000\191\000\190\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\184\000\184\000\184\000\184\000\184\000\184\000\183\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\151\000\150\000\150\000\149\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\148\000\147\000\147\000\147\000\146\000\145\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\135\000\135\000\134\000\134\000\134\000\133\000\133\000\133\000\133\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000|\000{\000{\000{\000z\000z\000y\000y\000y\000x\000x\000x\000w\000v\000v\000v\000u\000t\000t\000s\000s\000s\000s\000s\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\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:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
let goto =
- ((16, "\001\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\011\000\000\000\223\012\200\000\000\000\167\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\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\006\204\000\167\000_\000\000\000\000\000\000\000\000\000\000\017l\000$\008t\000\000\000\000\000\000\005\014\000\000\001\138\000\233\023\246\000\000\000\000\000\027\000\000\nH\000\000\007\178\019V\004\254\027\196\004\254\017\030)N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013^\027\196\000\000\000\000\013\128\000\000\014p\000\000\016\020\000\000\000\000\000\000\000\000\000\246\000\000$\198\000\000\000\000\008T\000\000\t\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000v\000\000\000\000\031.\000\000\031\194\000\000\"6\000\000%N\000\000'\192\000\000*X\000\000,f\000\000,\210\000\0002R\000\000 R\000\000\007\012\000\000\000\000\000\000\000\000\000\0008B\000\0009\246\000\000:\026\000\000\016\018\000\000\000\000\017r\000\000\000\000\000\211\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\000\164\000\000\000\136\000\000\000\000\002\236\000\00050\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\140\000\000\000\000\000\000\000\000\000\000\000\000\012\234)N\000\000\021\156\000\000\026d\026\154\000\000\000\000\000\000\0010\000\000&\002\000\000\000\0005\132\000\000\000\000\000\000\002\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\224\000\000#\146\000\000\000\000\000\000\000\000\000\012\000\000\000\0005\166\000\000\000\000\000\000 \146\002\182\000\000\000\000\000\000\000\000\000\000\000\000\004\162\000\000\n\002\000\000\018\232\000\000\022\174\000\000\023\216\000\000\024\238\000\000%\188\000\000%\246\000\000(H\000\000+\184\000\000)\170\000\000\000\n\000\000-\028\000\000/t\000\0003\012\000\000\000\000\000\000\000\000\000\000\000D6\028\000\000\002*\000\000\000\000\000-\016\238\000\000\002\158\000\000\000\000\000\000\005\180\000\000\000\000\000\000)f\000\000\000\000\000\000\000\000\000\000*\006\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\150\000\000\000\000\000\000\0026\000\000\000\000\011.\000\167\000\000\000\000\001\005\013F\000\000\000\000\000\000\000\000\000\000\004(\000\000\011r\000\000%n\000\000\000\000\005\192\000\000\000\000\000\000\000\000\000\000\000\000\012z\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\000\003B\015\204\000\000\002\138\000\000\000\000\001|\002\226\000\000\000\000\000\000\000\000\t\026\000\000\000\000\000\000\000\000\000\000\000\000\000'\019\214\000\000\0218\000\000\000\000\000\000\001\006\000\000\013\244\001~\000\000\016$\000\000\000\000\000\000\000\232\001\168\000\000\000\000\000\000\007(\000\000\000\000\001\206\000\000\000\242\000\000\000\000\000\000\000\000\001@\002\182\000\000\002v\000\000\000\000\000\000\000\000\000\000\000\00066\000\000\001(\000\0006\184\000\000\000\000\0024\000\000\008N\000\000\005\158\004V*\030\000\000\000\000\000\000\002\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t@*\030\000\000\n\\\000\000\015f\015\240\000\000\000\000\000\000\006\166\000\000&X\000\000\000\0006\214\000\000\000\000\000\000\007\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\174\000\000&\196\000\000\000\000\000\000\003*\000\000\000\000\000\000\000\000\000\000\000\000\007j\000\000\014\030\000\000\0178\000\000\023\250\000\000\030D\000\000#\240\000\000'\172\000\000(\028\000\000)\238\000\000.x\000\000/\002\000\000\012\242\000\0005\008\000\0005&\000\0005\224\000\000*\190\000\000\000\000\000\0007|\000\000\000\000\000\000\000\011\000\0007\184\000\000\000\000\000\0007\210\000\000\000\000\0000\000\000\026\176\000!\000\196\000\000\002\156\000\000\014\254\002l\tX\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008.\000\000*l\000x\007\006\000\000\000\000\000\000/\008\000\000/\168\000\000/\190\000\000+\136,\012\000z\001\003\007$\000\000\000\000\000\000\000\183\000\000\000\000\001\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008j\000\000\000\000\000\000\000\000\000\000&\240\000\000,\134\000\000\000\000\000\000\000\000\000\000\000\000\015|\000\000\005&\000\000\000\000\000\000\000\000\t\252\001\250\000\000\016\162\000\000\000\000\000\000\000W\000\000\000\000 \230\006\152\000\000\003`/\136\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\0052,b\000\000\013|\000\000\018j\019\150\000\000\000\000\000\000\007\194\000\000'\168\000\000\000\0008n\000\000\000\000\000\000\007\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\212\000\000\002t\000\000\000\0008\142\000\0009^\000\000\000\000\000\000\022\028\000\000\000\00000\000\000\000\000\000\000\000\000\007\254\000\000\000\000\000\000\005\226\000\000\000\000\007\174\000\000\002v\000\000\000\000\000\000\000R\000\000\007\216\000\000\020\134\000\000\027\"\000\0001\018\000\0003P\000\0004\244\000\0006(\000\0007\140\000\0008\000\000\0008\226\000\0009\\\000\000:.\000\000\000\000\000\000\000\000\000\000\000\228\000\000\013\012\000\000\027\182\002\222\000\000\028\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\000\000\000\000\000\000\000\000\000\000\000\000\003\232\000\000\000\000\022\138\000\000\000\000\000\0000\166\000\000\000\000\015<\000\000\000\000\000\000\025T\000\000\000\000\000\000\000\0000\188\000\000\000\000\000\000\000\000\002\n\006\002\000\0001>\000\000\000\000\000\000\000\000\027D\004X\000\000\028\140\000\000\000\000\006j\000\0001\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\234\000\000\000\000\028\030\000\000\000\000\000\0001\198\000\000\000\000\004z\000\000\000\000\014\192\000\000\029 \000\000\000\000'\254\000\000\000\000\000\000\004$\000\000\000\000\028\234\000\000\000\000\000\000\000\0002\028\000\000\000\000\000\000\000\000\003<\018D\000\00022\000\000\000\000\000\000\000\000\000\000\000\000\016\200\000\000\000\000\0058\000\000\017F\000\000\004$\000\000\000\000\004@.~\000\000\005&\000\000\000\000\000\000\000\000\003*\000\000-f\000\000\029\212\001\182\030h\000\000\003*\000\000\017\236\000\000\018\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\158\031\140\005\014 \000\000\000\000\000\000\007\014\000\000\019\016\000\000\005\222\000\000\000\000\004$\001\222!D\000\000\005(\000\000\019\220!\234\000\000\000\000\020Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\190\t\214\000\000\007\200\000\000\000\000\000\000\000\000\007\214\000\000\021&\000\000\000\000\000\000\030\2169~\000\000\000\000\000\000$\160\000\000\000\000\000\000\000\000\n*\004\158\000\000\000\0002\146\000\000\000\000\000\000\000\000\004\240\000\000\000\000 F\000\000\000\000\000\0002\222\000\000\000\000\002.\000\000\000\0003v\000\000\000\000\003\216\004\252\000\000\000\0003z\000\000\000\000\007\252%P\000\000\005J\000\000\000\0003\214\000\000\000\000\000\000\000\000\000\000\000\000\005h\000\000\000\000\"\254\000\000\000\000\000\0003\236\000\000\000\000\000\000\000\000\000\000(\150\000\000\000\000\000\000\000-\000\000\000\000\000\0004\002\000\000\000\000\003\220\005\230\000\000\000\0004v\000\000\000\000\008\020\000\000\000\000\000\000\000\000\003*\000-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\204\000\000\021d\000\000\000\000\000\0009\130\000\000\n\162\000\000\000\000\000\000\002\238\000\000\000\000\003\148\021\226\000\000\023.\000\000\000\000\000\000\004\232\000\000\"\170\007L-V\000\0000\004\000\000\000\000\000\000\007\192\000\000.*\007\236.\192\000\000.\248\000\000\000\000\000\000\0082\000\0000\156\0084\000\000\000\000\001f\006j\008J\014\026\000\000\015\164\000\000\000\000\000\000\008\192\000\0005\252\008\212\000\000\000\000\000\000\002l\000\000\000\000\000\000\000\000\000\000\003*\000\000\000\000\003\008\000\000\000\022\000\000\000\000\000\000\003\134\000\000\000\000\000\000\000\000\000\000\000C\000\000\008>\003\234\001B\000\000\000\000\007\246\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\246\000?\000\000\000\000\000\003\000\000\000\000\000\000\004v\000\000\000\000\006~\008H\000\000\000\000\000\000\000\000\017p\019\176\006<\000\000\020\140\000\000\000\000\000\000\000\000\000\000\000\000\003.\000\000\000\000\004\180\000\000\000\000\004\026\000\000\000\000\003|\000\000\000\000\004\022\000\000\t*\0056\002z\000\000\000\000\t\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\252\022\016\000\000\000\000\000\000\000\000\022\140\000\000\000\000\011:\000\000\000\000\015\026\000\000\000\000\000\000\023\024\000\000\000\000\0009\023@\007\204\000\000\023`\000\000\000\000\000\000\000\000\000\000\000\000\005\154\000\000\t0\003\140\000\142\000\000\000\000\000\000\000\000\002`\000\000\000\000\000\000\000\000\000\000\000\000\012\134\000\000\000\000\006*\000\000\t:\005v\003\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\200\000\000\000\000\019(\023\240\000\000\000\000\000\000\000\000\002T\000\000\003\134\000\000\0208\000\000\000\000\000\000\000\000\000\000\000\000\000\011\020\164\000\000\000\000\021\128\000\000\000\000\000\000\000\000\000B\000\000\021\254\000\000\000\000\000\000\000\000\005\254\000\000\000\000\000\000\000\155\000\000\000\000\000Y\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\190\005\008\000\000\000\000\000\000\001\006\000\000\000\000\026\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\144\n\180\000\167\013\028\019\030\005b\000\000\000\000\006\164\006\188\007\250\008j\000\000\000\000\000\000\000\000\000\000\000\000\006\180\023\172\000\000\"(\t\024\000\000\000\000\t>\000\000\024x\000\000\025n\000\000\000\000\007.\024\182\000\000\"\216\000\000\007\136#\188\000\000\000\000\000\000\018\020\006\164\000\000\006\004\000\000\000\000\000\000\008\220\000\000\011\000\000\000\004:\006\170\000\000\000\000\000\000\000\000\004(\000\000\005\192\000\000\008\148\000\000\000\000\020\130\000\000\000\000\000\000\000\000\011 \000\000\000\000\006\164\tP\000\000\026\\\000\000\004$\005\220\000\000\000\000\000\000\000\000\000\000\0058\000\000\000\000\000\000\000\000\000\0004\132\t\026\000\000\tr\000\000\000\000\000\000\000\000\000\000\001\216\000\000\011\238\t\190\012l\000\000\003\180\013v\000\000\t\222\000\000\0048\000\000\005\128\000\000\006\004\000\000\000\000\000\000\000\000\000\000\t,\000\000\007L\000\000\t\246\000\000\007\208\000\000\004$\006*\000\000\004\\\000\000\006L\005\210\000\000\008h\000\000\008\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tB\000\000\t\202\000\000\000\000\000\000\000\000\000\000\006$\000\000\000\000\006\018\002r\007\208\000\000\008x\000\000\000\000\t^\t\242\000\000\007\158\000\000\000\000\000\000\000\000\007\224\000\000\000\000\000\000\000\000\000\000\000\000\008\022\008\156\008|\td\008\188\t\"\000\000\000\000\008\248\008\168\t\148\t\024\t\\\000\000\000\000\n2\000\000\000\000\000\000\000\000\n.\000\000\000\000"), (16, "\001\200\001\223\000>\000h\002u\004g\000\017\001<\002!\002\"\000\n\004|\000\005\004\206\000>\002E\001g\000*\002m\003n\003V\000\210\004e\000\231\001i\000>\004h\004t\004}\004t\004\207\004\210\004t\001?\004\225\000\t\000\008\000\t\003\007\005\026\005\027\004\127\000\016\004P\003!\000\167\001\202\000j\000*\004d\001\203\004\226\000k\002G\004\229\004t\000l\002\143\004}\004t\002\168\004\224\005\031\005 \0008\000j\004e\0009\000\212\002F\004h\004t\000\213\004\013\004\206\000h\001\200\001\223\000*\000}\000u\001+\005$\0055\005\006\004u\0056\004u\001\200\001\223\004u\004\207\004\210\004t\005b\003\157\003b\001\228\000\226\001 \005c\000j\000>\0008\005:\002\145\005d\002F\003 \002\146\001h\002!\002\"\004u\005\t\001-\004\214\004u\001h\000j\002[\000*\001\202\001\133\000k\004\019\001\203\000F\000l\004u\002\143\004\215\003!\002\168\001\202\002\\\001%\000\247\001\203\001@\001\135\0053\001\156\000\164\000\177\001\216\000>\000\210\000F\000\233\002a\004u\000u\003C\002b\000\164\001D\003(\000+\001\217\003\159\003|\000v\0053\001\200\001\223\000\164\000\165\003)\003h\001'\000\176\003j\001\228\002[\002v\005f\005*\002\145\004W\000\227\001\158\002\146\000*\002T\004\031\000w\000*\001x\002f\000>\000j\002\247\003W\000\212\003v\003\247\005g\000\213\004\128\003<\004\239\002\159\000\248\003\141\004k\003N\001\232\002[\000>\001\202\002\\\000*\002m\001\203\005\001\002\160\000\174\000\178\001A\000>\001\216\005\012\002\\\000\226\001E\002a\001\233\002$\001\023\002b\002H\001\234\001\216\000v\001\217\001\235\004v\002a\004B\004\216\001\236\002b\000\164\001D\003(\005i\001\217\003j\000\252\001t\000j\001\200\001\223\003p\005j\005\132\000*\000w\002\187\005\133\004\014\005\019\000\255\005\160\002f\000>\002K\002L\002N\005d\005\161\003 \001\136\003\143\002\159\002\228\002f\002\226\004l\000\017\0037\005\135\001\232\002\190\004\016\002\195\001\152\003<\002\160\001\135\000>\005\137\000n\003N\001\232\003!\000\187\001\202\002\\\002\198\001\146\001\203\001\233\004\219\000y\000\227\005\179\001\234\001\216\002\229\000*\001\235\000j\002a\001\233\002\193\001\236\002b\000~\001\234\003\020\000\215\001\217\001\235\001@\001\200\001\223\000>\001\236\002\143\001\162\005+\002\168\003\153\001\154\002d\004\225\001\159\003\007\000>\0009\000\017\000*\002m\003n\003V\002!\002\"\004\218\000\164\001D\003(\002f\004\226\000\251\005\180\004\229\004t\002\195\004\167\000\164\000\177\003)\004\215\005.\001\139\000F\001\200\001\221\003!\001\232\001\202\002\196\000j\000\252\001\203\004\168\002\145\001%\000\253\001\153\002\146\002\143\000\254\000*\002\168\002\\\004C\000\255\000h\001\233\000*\004o\000q\003<\001\234\001\216\003x\003A\001\235\003N\002a\0009\000>\001\236\002b\000\164\001D\003(\005\182\001\217\000j\001&\001\202\001B\004u\004\254\001\203\005j\005\132\002H\003}\001\228\005\184\001 \004U\002[\002o\000*\004\027\002\145\000\164\000\177\000j\002\146\001\161\000>\001+\000k\003p\002f\005\225\000l\000>\0037\005\186\000>\002\143\000F\001n\002\164\003<\000F\003\008\004\151\005\188\002J\003N\001\232\002\194\002\\\000>\004V\002#\001\163\004z\000u\004\\\000\164\000\165\001\216\001,\004\216\003O\002\159\002a\000E\000\250\001\233\002b\000\164\001D\003(\001\234\001\217\004\160\003\127\001\235\002\160\001\200\001\223\000j\001\236\003)\000F\002\145\003\203\003j\004\167\002\146\001I\000\224\004\161\000>\004\164\004t\001%\005d\005\166\003V\004a\002\187\001\216\004\215\002f\004\168\002\193\005\001\003W\000\174\003v\000>\004\030\000>\005\002\003<\001\217\002\159\004\029\003\141\002\233\003N\001\232\003!\004\018\001\202\002\190\002\245\000F\001\203\001\231\002\160\001q\000\248\000\164\000\165\001 \004\171\000v\005\176\000*\003\209\001\233\003\253\005\238\001\200\001\223\001\234\002\169\000*\000*\001\235\004\163\004u\000\181\004W\001\236\000\172\002\193\000>\001\200\001\223\000w\005d\005\166\003V\002u\000\164\000\165\004\161\003\029\004\164\004t\003s\000\164\000\177\001u\000\164\001D\003\007\003\030\000*\002\159\000\173\001\222\000\174\004%\0036\000\150\003!\001F\001\202\000\164\000\165\002\236\001\203\002\160\003\030\000\210\005\239\000\231\002\195\004|\004'\000j\005\171\001\202\005\240\004q\000y\001\203\004\029\004\221\000\151\002\\\002\196\004\152\000\152\000\174\004}\004t\000>\001+\000{\001\216\000\179\001p\001w\001s\002a\004u\003e\004\155\002b\000\164\001D\003(\005\172\001\217\004\154\000*\001(\000j\000\174\000h\000\212\005j\005\132\000q\000\213\000F\002d\000\164\000\177\000\164\000\177\001-\001\228\000>\000F\000F\002!\002\"\004\176\004\157\003g\000>\000D\002f\000C\002\143\003\130\003W\002\163\005\174\000\226\004\232\005x\004u\003<\002\\\000*\003\\\003A\003\143\003N\001\232\000*\000j\000F\001\216\001b\003\030\000k\003C\002a\000E\000l\002\246\002b\000\164\001D\003(\005\172\001\217\001\216\001\233\002\252\003,\001\200\001\223\001\234\005j\005\132\000j\001\235\004\173\002d\002\145\001\217\001\236\000u\002\146\000>\001\200\002\014\000*\005d\005\166\003V\005\145\005\146\001\230\005\248\002f\000h\004\016\003H\003W\000}\005\174\000*\001\030\001 \003\146\003<\003e\004\209\004\234\003A\000F\003N\001\232\003!\003L\001\202\004(\000\227\002\143\001\203\0050\002\168\000\164\000\165\004\207\004\210\004t\001\232\000j\005\173\001\202\005y\001\233\004'\001\203\001\200\001\223\001\234\002i\000j\003f\001\235\000>\005\150\000k\000*\001\236\001\233\000l\000>\004\131\000F\001\234\005d\005\166\003V\001\235\000F\003\185\000\164\000\165\001\236\002[\000v\000*\002u\002\145\000\164\001D\003\138\002\146\004\152\000u\000\174\003\132\002\159\005\022\004\228\000*\003!\001F\001\202\001\"\0051\004u\001\203\000\252\000w\005@\002\160\005\143\001m\005\190\005\004\004\226\005\175\000F\004\229\004t\003\193\001\001\003\138\0053\003\140\002\\\003\210\004\142\004t\001(\002\143\000\174\000F\002\168\000\150\001\216\005\194\001p\002u\001s\002a\002!\002\"\004|\002b\000\164\001D\003(\005\172\001\217\001\216\000*\005\014\000>\005E\000y\003\139\005j\005\132\000\151\004}\004t\002d\000\152\001\217\003\219\005E\005h\002\187\000{\000>\000@\001~\000C\002[\000v\001^\004u\002\145\002f\003\229\000*\002\146\003W\002\159\005\174\004u\002\189\000h\005\024\003<\002\\\000}\002\190\003A\000F\003N\001\232\002\160\000w\000E\001\216\002!\002\"\000\164\000\165\002a\005r\003\130\000F\002b\000\164\001D\003(\005\172\001\217\000>\001\233\005\213\004u\001\200\001\223\001\234\005j\005\132\002\193\001\235\000*\002d\000*\0051\001\236\000j\003\162\000>\001\200\001\221\000k\005d\005\166\003V\000l\005\218\003\254\000*\002f\0010\002!\002\"\003W\005\219\005\174\000\210\005\001\000\231\000\174\003<\003\021\005M\002\187\003A\000F\003N\001\232\003!\000u\001\202\003\164\002\195\002\143\001\203\000\210\002\168\0016\003\025\002\159\002\223\002\240\002\226\000j\005\183\001\202\002\196\001\233\002\190\001\203\001\200\001\223\001\234\002\160\002\143\001\205\001\235\002\168\000\164\001D\000j\001\236\003\168\000\212\000>\001\150\005I\000\213\005d\005\166\003V\005s\003\030\003\"\002\229\000\164\001D\002[\005H\000j\002\193\002\145\000\212\005[\005\224\002\146\000\213\000*\001F\005E\003&\004\200\004t\000\226\003!\004\137\001\202\004n\000j\001m\001\203\001\214\002\145\0025\005v\000*\002\146\005w\004/\000\174\005\187\000v\000\226\001\200\001\223\003\135\000h\000*\002D\002\\\000s\000\164\000\165\002\195\001p\0041\001s\000>\005`\001\216\003\162\002m\003n\003V\002a\000w\004|\002\196\002b\000\164\001D\003(\005\172\001\217\001\216\005E\000>\000@\000A\000C\004u\005j\005\132\004}\004t\004\003\002d\003!\001\217\001\202\000j\000\148\002\187\001\203\003\163\000k\0042\004\003\005\223\000l\001(\004l\000\174\002f\004r\000\227\000E\003W\002\159\005\174\005\205\002\192\000y\0041\003<\002\\\0049\002\190\003A\004\005\003N\001\232\002\160\000u\000\227\001\216\000{\002\148\005\233\002\159\002a\004\004\005\235\004;\002b\000\164\001D\003(\005\172\001\217\004s\001\233\004u\002\160\005\205\002\157\001\234\005j\005\132\002\193\001\235\004<\002d\005Q\004?\001\236\001\233\002\185\000j\000>\000@\001z\000C\003\030\001\200\001\220\004H\005G\004;\002f\001\238\0041\005T\003W\000\232\005\174\001\200\001\223\002\\\005\243\003<\005\134\003\030\004J\003A\005\241\003N\001\232\001\216\000E\000>\003\030\002\195\002a\002m\003n\003V\002b\000\164\001D\003(\005\250\001\217\004\022\003|\000v\002\196\001\233\000j\005z\001\202\003)\001\234\002\195\001\203\002d\001\235\000\164\001D\005\205\003!\001\236\001\202\005F\004\174\004K\001\203\002\200\004\222\000w\001F\004\235\002f\000h\004N\004\170\003W\000s\003v\001\200\001\223\001m\004J\003<\005\212\005\154\005\163\003A\005\155\003N\001\232\0041\004\168\000>\004\135\000x\005\152\002m\003n\003V\004\175\000\210\005\163\000\231\004\223\005\181\001p\004\236\001s\005\242\001\233\005\245\000>\005l\005\163\001\234\000y\000j\005\206\001\235\005\227\000\161\000k\003!\001\236\001\202\000l\005\205\005\177\001\203\000{\005\228\005\238\005\246\005\244\000>\000\210\004\168\000\233\005\159\000\164\001D\002t\005y\005\169\000j\001\200\001\219\000\212\001\216\000u\002\\\000\213\001F\005\238\005\249\005\185\005\252\005\251\0051\006\000\001\216\005\253\001\217\001m\003\184\002a\006\005\0051\006\001\002b\000\164\001D\003(\000\000\001\217\003z\003|\000\226\000\000\000j\001\200\001\223\000\212\003)\000\000\000\000\000\213\002d\001p\000j\001s\001\202\005\208\000\000\000>\001\203\000\000\0053\002m\003n\003V\000\000\005\237\000>\002f\005\237\000\000\005>\003W\000\238\003v\000\000\000\226\002\\\000\000\003<\000\000\000\000\000\000\003A\000\000\003N\001\232\001\216\003!\000\000\001\202\000\000\002a\005\237\001\203\000v\002b\000\164\001D\003(\000\000\001\217\003\161\003|\000\000\000>\001\233\001\200\001\223\000\000\003)\001\234\000\000\004\160\002d\001\235\000\164\001D\000\000\000w\001\236\000>\000\000\000\227\005\210\002m\003n\003V\000>\002\249\004\161\002f\004\164\004t\000\000\003W\000\000\003v\000\000\000\164\001D\000\000\003<\000\000\004\160\000x\003A\000\000\003N\001\232\000\000\003!\003\190\001\202\001\216\000\000\000\000\001\203\000\227\005{\000\000\004\161\000>\004\164\004t\003\005\000y\003\019\001\217\001\233\0017\000z\000\000\000\000\001\234\000\000\000\000\000\000\001\235\002\\\000{\001Y\000\000\001\236\000\241\000\000\000\000\000\000\003\202\001\216\003\208\004u\000\252\000\000\002a\001S\000\000\000\000\002b\000\164\001D\003(\000\000\001\217\004\026\003|\001\003\000\251\000\164\005?\001\200\001\223\003)\000\000\000\000\001Y\002d\000\000\000\000\000\000\005K\005B\004u\000\000\000>\000\000\000\000\000\252\005d\001S\003 \000\000\000\253\002f\000\000\000\000\000\254\003W\000\000\003v\000\000\000\255\002\\\000\000\003<\000\000\000\164\001D\003A\000\000\003N\001\232\001\216\000\000\003!\000\000\001\202\002a\000\000\005s\001\203\002b\000\164\001D\003(\000\000\001\217\005\130\003|\000\164\001D\001\233\005\178\001\200\001\223\003)\001\234\000\000\000\000\002d\001\235\000\000\001T\000\000\000\000\001\236\000\000\000>\005~\000\000\005\127\005d\005v\003 \000>\005w\002f\000\174\000\000\000\000\003W\004\182\003v\000\164\001D\000\000\000\000\003<\000\000\004\225\001_\003A\001j\003N\001\232\001\\\001T\003!\001]\001\202\000\174\000\000\000\000\001\203\000\000\000\000\004\226\000\000\000\000\004\229\004t\000\000\004\188\000>\001\233\005\164\000\210\000\000\000\230\001\234\001\200\001\221\004\225\001\235\001_\002\\\001`\001Y\001\236\001\\\000\000\000\000\001]\002\143\000\174\001\216\002\168\000\000\000\000\004\226\002a\001S\004\229\004t\002b\000\164\001D\003(\005\165\001\217\000\000\000\000\000\000\000\000\000\000\000>\000\000\005j\005\132\005>\000j\000\000\005\168\000\212\000j\000\000\001\202\000\213\004u\000\000\001\203\000\000\000\000\000\000\000h\000\000\000>\002[\000\193\002f\000\000\002\145\000\000\0037\005\170\002\146\001\200\001\223\002\\\002\143\003<\000h\002\162\000\226\003A\000\190\003N\001\232\001\216\000\000\000>\004u\000\000\002a\005d\000\000\003 \002b\000\164\001D\003(\005\165\001\217\000\000\000\000\000\164\001D\001\233\000j\000\000\005j\005\132\001\234\000k\000\000\005\168\001\235\000l\001T\001R\003!\001\236\001\202\000j\000\000\000j\001\203\002\145\000\000\000\000\000k\002\146\002f\001S\000l\000\000\0037\005\170\005\167\001\200\001\223\000u\000\000\003<\000\164\000\165\001_\003A\001e\003N\001\232\001\\\002\187\000>\001]\001\216\000\174\002m\000u\003 \001\200\001\221\000\000\000\000\000\000\000\227\000\000\004\237\002\159\001\217\001\233\002\230\000>\000\000\000\000\001\234\002m\002\190\000\000\001\235\000\000\000\000\002\160\003!\001\236\001\202\000\164\005?\000\000\001\203\000\000\000\000\000\000\001\128\000\000\000\174\000\000\000\000\005J\005B\004\242\000h\004B\002\232\000j\000\189\001\202\000\164\001D\002\193\001\203\002\\\000\000\000\000\000\000\004 \000\000\002\004\000\000\003\156\001T\001\216\000\000\000v\002\159\000\000\002a\000\000\000\000\000\000\002b\000\164\001D\003(\005\165\001\217\000\000\001\233\002\160\000\000\000v\001\200\001\223\005j\005\132\000j\002\238\000w\005\168\0039\000k\001\236\002\195\001\\\000l\000>\001]\000\000\000\174\002m\003:\003V\000\000\000\000\000w\002f\002\196\000\000\000\000\0037\005\170\000\000\001\200\001\223\002\\\000\000\003<\000\000\000u\000\000\003A\000\000\003N\001\232\001\216\003!\000>\001\202\000\000\002a\002m\001\203\003 \002b\000\164\001D\003(\000\000\001\217\000\000\000\000\000\000\000\000\001\233\000\000\001\216\000\000\003)\001\234\000\000\004\160\003\145\001\235\000\164\001D\003(\003!\001\236\001\202\001\217\000\000\000\000\001\203\000\000\001\200\001\218\003)\004\161\002f\004\164\004t\000\000\0037\003\147\002u\001\200\001\223\000\000\000\000\003<\000\000\000\000\002k\003A\000\000\003N\001\232\003\007\003\154\000>\000\000\004E\003\156\002m\003\027\003 \000\000\000\000\003<\000\000\000v\000\000\003A\000\000\003N\000\000\001\233\000\000\000j\000>\001\202\001\234\000\000\002m\001\203\001\235\002\\\000\000\000\000\003!\001\236\001\202\000\000\000\000\000w\001\203\001\216\001\233\004u\000>\001o\002a\000C\001\200\001\201\002b\000\164\001D\003(\004B\001\217\001\240\000\000\000\000\000\000\000\000\000\000\002\\\000\000\003)\000h\000h\000\000\002d\000s\000i\000\000\001\216\000\000\000E\000\000\000\000\002a\000\000\000\000\000\000\002b\000\164\001D\003(\002f\001\217\000\000\000>\003W\000\000\003X\000j\000\000\001\202\003)\003<\000\000\001\203\003\145\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\000\000\000j\000j\000\000\000F\000\000\000k\000k\002f\003\008\000l\000l\0037\003\147\000\000\001\233\001\216\002\\\000\000\003<\001\234\000\000\000\000\003A\001\235\003N\001\232\001\216\000\000\001\236\001\217\000\000\002a\001Y\000u\000u\002b\000\164\001D\003(\000\000\001\217\000\000\000>\000\000\004\191\001\233\001S\001\200\001\223\003)\001\234\003\013\000\000\003[\001\235\003Y\000\164\001D\003(\001\236\000\000\000>\000\000\000\000\000\000\002m\003:\003V\003\017\003)\002f\000\000\000\000\000\000\0037\003]\000\164\001D\000\000\000\000\000>\003<\000\000\000\000\001\216\003_\000\000\003N\001\232\001F\000\210\003!\000\233\001\202\004G\001Y\000\000\001\203\001\217\000\000\001m\003<\000\000\001\200\001\221\003A\000\000\003N\001\233\001S\001\200\001\223\000\000\001\234\000\000\000v\000v\001\235\003^\000\000\000\164\001D\001\236\000\000\000>\001p\000\000\001s\002m\003:\003V\000\000\000h\001T\000j\000\000\000s\000\212\000\000\000w\000w\000\213\000\000\000>\000\000\000\000\001|\000j\000\000\001\202\000\000\000\000\000\000\001\203\003!\000\000\001\202\004|\000\000\000\000\001\203\001_\000\000\001\141\000\238\000x\001\\\000\226\000\000\001]\000\000\000\174\000\000\000E\004}\004t\000j\000\000\000\000\000\000\000\000\000k\002\\\000\164\001D\000l\000y\000\000\000\000\000\000\000\000\000\160\001\216\001\200\001\223\000\000\001T\002a\000\000\000\000\000{\002b\000\164\001D\003(\000\000\001\217\000>\000\000\000u\000\000\002m\003n\003V\000\000\003)\000\000\000\000\000\000\002d\000\000\000\164\000\165\000\000\001_\000\000\002q\000>\000\000\001\\\000\000\005>\001]\004u\000\174\000\000\002f\003!\000\000\001\202\003W\000\000\003X\001\203\000\000\002\\\000\000\003<\001\216\000\227\000\000\003A\000\000\003N\001\232\001\216\002\143\002t\000\000\002\161\002a\000\239\001\217\000\000\002b\000\164\001D\003(\002u\001\217\001*\000\000\000\174\000\000\001\233\000\241\001\200\001\223\003)\001\234\000\000\000*\002d\001\235\000\164\001D\000\000\000\000\001\236\000\000\000>\000v\000\000\000\000\002m\003n\003V\001F\000\251\002f\000j\000\000\000\000\003W\002\145\003X\000\000\000\000\002\146\000\000\003<\000\000\000\000\000\000\003A\000w\003N\001\232\000\252\000\210\003!\000\231\001\202\000\253\000\000\000\000\001\203\000\254\002\\\000\000\001\233\000\000\000\255\001p\000\000\001s\000\000\001\233\001\216\001\200\001\223\000x\001\234\002a\001\242\004\148\001\235\002b\000\164\001D\003(\001\236\001\217\000>\003u\000\000\000\000\002m\003n\003V\000>\003)\000y\000j\005>\002d\000\212\000\163\000\164\001D\000\213\000\000\000\000\000\000\000h\004\160\000{\000\000\000q\000\000\005A\005e\002f\003!\000\000\001\202\003W\000\000\003v\001\203\000\000\000F\004\161\003<\004\164\004t\000\226\003A\000\000\003N\001\232\002\159\000\000\000\000\000\000\000\000\002\143\000\000\000\000\002\144\000\000\002\\\000\000\000\000\000\000\002\160\000\000\003\005\000j\003\019\001\233\001\216\000\000\000k\000\000\001\234\002a\000l\000\000\001\235\002b\000\164\001D\003(\001\236\001\217\000\000\003w\000\000\003P\000\000\001\200\001\223\000\000\003)\004|\000\000\000\000\002d\000\000\000j\000u\000>\004u\002\145\000>\003T\000\000\002\146\002m\003\148\003V\004}\004t\000\000\002f\000\000\000\000\000\000\003W\000\000\003v\0011\000\000\002\\\000\000\003<\000\000\000\227\000\000\003A\000\000\003N\001\232\001\216\003!\000\000\001\202\000\000\002a\000\000\001\203\000\000\002b\000\164\001D\003(\000\000\001\217\000\000\003\137\000\164\005?\001\233\001\200\001\223\000\000\003)\001\234\000\000\004\225\002d\001\235\005A\005B\000\000\000\000\001\236\000>\003\150\000\000\004u\002m\003\148\003V\000\000\002\143\004\226\002f\002\168\004\229\004t\003W\000v\003v\000\000\000\000\000\000\000>\003<\000\000\000\000\000\000\003A\000\000\003N\001\232\000\252\003!\000\000\001\202\002\159\001\"\000\000\001\203\004|\000\000\000w\000\000\000\000\000\000\001\005\000\000\004\248\004\225\002\160\001\233\000\000\000\000\000\000\000j\001\234\004}\004t\002\145\001\235\002\\\000\000\002\146\000\000\001\236\004\226\003\152\000\150\004\229\004t\001\216\000\000\000\000\004u\000\000\002a\005{\000\164\000\165\002b\000\164\001D\003(\000\000\001\217\000\000\000\000\000\000\000y\000\000\001\200\001\223\000\151\003)\000\000\000\000\000\152\002d\003\170\000\000\000\000\000\000\000{\000\000\000>\000\000\000\000\000\000\002m\003:\003V\000\000\000\000\000>\002f\004u\000\000\004\146\003W\000\000\003\151\001\200\001\223\002\\\000\000\003<\001\130\004u\000\174\003A\000\000\003N\001\232\001\216\003!\000>\001\202\000\000\002a\002m\001\203\003 \002b\000\164\001D\003(\000\000\001\217\000\000\000\210\000\000\000\229\001\233\000\000\000\000\002\159\003)\001\234\004\225\000\000\002d\001\235\000\000\000\164\001D\003!\001\236\001\202\000\000\002\160\000\000\001\203\000\000\000\000\000\000\004\226\005s\002f\004\229\004t\000\000\003W\004\255\003\151\001\200\001\223\000\000\000\000\003<\000\000\000\000\000\000\003A\000j\003N\001\232\000\212\004\020\000>\000\000\000\213\003\156\002m\000\000\003 \005}\000\000\000\000\000\000\005v\000\000\000\000\005w\002\143\000\174\001\233\002\168\000\000\000\000\000\000\001\234\004\225\000\000\000\000\001\235\002\\\000\226\004\144\003!\001\236\001\202\000\000\000\000\004|\001\203\001\216\005\007\004u\004\226\002\195\002a\004\229\004t\000\000\002b\000\164\001D\003(\000\000\001\217\004}\004t\000\000\002\202\000\164\000\165\002\\\002[\003)\000\000\004\"\002\145\002d\000\000\003\156\002\146\001\216\000\000\000\000\000\000\000\000\002a\000\000\000\000\000\000\002b\000\164\001D\003(\002f\001\217\000\000\000>\003W\000\000\003X\000\210\000\000\000\231\003)\003<\000\000\000\000\003\145\003A\004|\003N\001\232\000\000\000\000\004u\000\000\000\000\001\132\000\000\000\174\000\000\000\000\000\227\004u\002f\000\000\004}\004t\0037\003\147\000\000\001\233\000\000\002\\\000\000\003<\001\234\000\000\000\000\003A\001\235\003N\001\232\001\216\000j\001\236\000\000\000\212\002a\001Y\000\000\000\213\002b\000\164\001D\003(\002\187\001\217\000\000\000\000\005\n\000\000\001\233\001S\001\200\001\223\003)\001\234\000\000\000\000\003\145\001\235\002\159\002\223\002\224\002\226\001\236\000\226\000>\004|\000\000\002\190\002m\000\000\003 \004u\002\160\002f\000\000\000\000\000\000\0037\003\147\000\000\000\000\000\000\004}\004t\003<\004|\000\000\000\000\003A\000\000\003N\001\232\000\000\002\229\003!\000\000\001\202\000\000\000\000\002\193\001\203\004|\004}\004t\000\000\000\000\000\000\000\000\000\000\005\017\000\000\001\233\000\000\001\200\001\223\000\000\001\234\000\000\004}\004t\001\235\004\180\000\000\000\164\001D\001\236\004$\000>\000\000\000\000\003\156\002m\000\000\003 \000\000\000\210\001T\000\231\000\000\000\000\000\000\004u\002\195\000\000\000\000\000\227\000\000\000\000\000\000\000\000\000h\000\000\001\200\001\221\000q\000\000\002\196\003!\000\000\001\202\000\000\004u\000\000\001\203\001_\000\000\002\255\000\000\000\000\001\\\000\000\000\000\001]\004|\000\174\000\000\000\000\004u\000\000\000j\000\000\000\000\000\212\004\185\000\000\002\\\000\213\000\000\000\000\005N\004}\004t\000\000\003\156\000j\001\216\000j\000\000\001\202\000k\002a\000\000\001\203\000l\002b\000\164\001D\003(\000\000\001\217\000\000\000\000\000\226\001=\000\252\001\200\001\223\000\000\003)\000\000\000\000\000\000\003\145\005V\000\000\000\000\000\000\000u\001\007\000>\000\000\000\000\000\000\002m\003:\003V\000\000\000\000\000\000\002f\000\000\000\000\000\000\0037\003\147\000\000\001\200\001\223\002\\\004u\003<\000\000\000\000\004\195\003A\000\000\003N\001\232\001\216\003!\000>\001\202\000\000\002a\002m\001\203\003 \002b\000\164\001D\003(\000\000\001\217\004\204\000\210\000\000\000\231\001\233\000\000\000\000\000\000\003)\001\234\000\000\000\000\003\145\001\235\000\000\000\000\004\202\003!\001\236\001\202\000\000\000\227\000\000\001\203\001\216\000\000\000\000\000\000\000\000\002f\000\000\000\000\000\000\0037\003\147\000\000\000v\000\000\001\217\000\000\003<\000\000\000\000\000\000\003A\000j\003N\001\232\000\212\005\\\000\000\000\000\000\213\003\156\000\000\000\149\000\000\000\000\000\000\000\000\000w\000\000\000\000\000\000\000\000\002\143\000>\001\233\002\168\000\000\000\000\000\000\001\234\000\000\000\000\000\000\001\235\002\\\000\226\000\000\000\000\001\236\000\000\000\000\000\000\000\000\000\150\001\216\004\246\000\000\000\252\000\000\002a\000\000\000\000\000\000\002b\000\164\001D\003(\000\000\001\217\000\000\000\000\001\t\000\000\001\233\000y\002\\\002[\003)\000\151\000\000\002\145\002d\000\152\000\000\002\146\001\216\001Y\001\244\000{\000\000\002a\000\000\000\000\000\000\002b\000\164\001D\003(\002f\001\217\001S\000\000\003W\000\000\003X\000\000\000\000\000\000\003)\003<\000\000\000\000\003\145\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\227\000\000\002f\000\000\000\000\000\000\0037\003\147\000\000\001\233\000\000\000\000\000\000\003<\001\234\000\000\000\000\003A\001\235\003N\001\232\000\000\000\000\001\236\001\200\001\223\000\000\000\000\000\210\000\000\000\228\000\000\005\136\000\000\002\187\000\000\000\000\000\000\000>\000\000\001\233\000\000\002m\003:\003V\001\234\000\000\000\164\001D\001\235\002\159\002\223\005X\002\226\001\236\000\210\000\000\000\211\000\000\002\190\001T\000\000\000\000\000\000\002\160\003\165\001\200\001\223\003!\000\252\001\202\000\000\000j\000\000\001\203\000\212\000\000\000\000\000\000\000\213\000>\000\000\000\000\001\011\002m\002\229\003V\000\000\001_\000\000\003\n\002\193\000\000\001\\\000\000\000\210\001]\000\233\000\174\000j\000\000\000\000\000\212\000\000\000\000\000\226\000\213\000\000\000\000\000\000\003!\000\000\001\202\000\000\000\000\000\000\001\203\000\000\000\000\000\000\000\000\000\000\000\000\002\143\000\000\005-\002\168\000\000\000\000\000\000\000\000\000\000\000\226\000\000\002\195\000\000\000\000\000\000\000\000\000j\001\200\001\223\000\212\000\000\000\000\000\000\000\213\000\000\002\196\000\000\000\000\003Z\000\000\000\000\000>\000\000\000\000\000\000\002m\002\\\003 \000\000\000\000\000\000\000\000\000\000\000\000\000j\000\000\001\216\000\000\002\145\000\226\000\000\002a\002\146\000\000\000\000\002b\000\164\001D\003(\000\000\001\217\003!\000\000\001\202\000\227\000\000\000\000\001\203\000\000\003)\000\000\000\000\000\000\002d\002\143\000\000\000\000\002\168\002\\\000\000\000\000\000h\000\000\000\000\000\000\000q\000\000\000\000\001\216\000\000\002f\000\227\000\000\002a\003W\000>\003X\002b\000\164\001D\003(\003<\001\217\000\000\000\000\003A\000\000\003N\001\232\000\000\000\000\003)\000\000\000\000\000\000\003\167\000\000\000\000\002[\000\000\000\000\000\000\002\145\000\000\000\000\000j\002\146\000\000\001\233\000\000\000k\000\227\002f\001\234\000l\000\000\003W\001\235\003\169\000\000\000>\000\000\001\236\003<\000\000\002\159\000\000\003A\000\000\003N\001\232\000\000\002\\\000\000\000\000\000\000\000\000\005+\000u\002\160\000\000\000\000\001\216\000\000\000\000\000\000\000\000\002a\000\000\000\000\001\233\002b\000\164\001D\003(\001\234\001\217\000\000\000\000\001\235\000\251\001\200\001\223\000\000\001\236\003)\000\000\000\000\000\000\0035\000\000\000\000\003\031\001Y\000\000\000>\000\000\000\000\000\000\002m\000\252\003 \000\000\002\187\000\000\000\253\002f\001S\000\000\000\254\0037\0038\000\000\002\143\000\255\000\000\002\168\003<\000\000\002\159\000\000\003A\002\230\003N\001\232\003!\000\000\001\202\002\190\002\195\000\000\001\203\000\000\002\160\000\000\000\000\000\164\000\165\000\000\000\000\000v\000\000\000>\002\204\001\233\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\001\235\002\232\001\200\001\223\002[\001\236\000\191\002\193\002\145\000\000\000\000\000w\002\146\003;\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \000\000\000\000\000\000\000\000\000\000\000\164\001D\000\000\000\000\001.\000\000\000\174\000\000\000\000\000\150\000\000\000\000\000\000\001T\001Y\000\000\002\237\000\000\003!\000\000\001\202\000\000\002\195\000\000\001\203\000\000\000\000\000\000\001S\000\000\000y\000\000\000\000\000\000\000\151\002\\\002\196\000\000\000\152\000\000\000\000\001_\000\000\003/\000{\001\216\001\\\000\000\000\000\001]\002a\000\174\000\000\000\000\002b\000\164\001D\003(\000\000\001\217\000\000\002\187\000\000\000\000\001\200\001\223\000\000\000\000\003)\000\000\000\000\000\000\0035\000\000\000\000\000\000\000\000\002\159\000>\000\000\002\230\000\000\002m\000\000\003 \000\000\002\190\000\000\000\000\002f\000\000\002\160\000\000\0037\0038\000\000\000\000\000\000\000\000\000\000\003<\000\000\000\164\001D\003A\000\000\003N\001\232\003!\002\\\001\202\000\000\002\232\000\000\001\203\001T\000\000\000\000\002\193\001\216\001\200\001\221\000\000\000\000\002a\000\000\000\000\001\233\002b\000\164\001D\003(\001\234\001\217\000\000\000\000\001\235\000\000\001\200\001\223\000\000\001\236\003)\001_\000\000\003E\0035\000\000\001\\\000\000\000\000\001]\000>\000\174\000\000\002\235\002m\000\000\003 \000\000\000\000\002\195\000\000\002f\000j\000\000\001\202\0037\0038\000\000\001\203\000\000\000\000\000\000\003<\002\196\000\000\000\000\003A\000\000\003N\001\232\003!\000\000\001\202\000\000\000\000\000\000\001\203\000\000\000\000\000\000\000\000\000\000\001\200\001\223\000\000\000\000\000h\002\\\000\000\001\233\000s\000\000\000\000\000\000\001\234\000\000\000>\001\216\001\235\000\000\003\183\000\000\002a\001\236\000\000\000\000\002b\000\164\001D\003(\000\000\001\217\000\000\000\000\000\000\000\000\000\000\003y\000\000\004\n\003)\000\000\000\000\000\000\003r\000h\003\218\000\000\001\202\000}\000j\000\000\001\203\000\000\000\000\000k\000\000\000\000\000\000\000l\000\000\002f\000\000\000\000\000\000\0037\003t\000\000\003\224\000\000\000\000\000\000\003<\001\216\000\000\000\000\003A\000\000\003N\001\232\000\000\002\\\000\000\000u\000\000\000\000\000\000\001\217\000\000\000j\000\000\001\216\001\200\001\223\000k\000\000\002a\000\000\000l\001\233\002b\000\164\001D\003(\001\234\001\217\000>\000\000\001\235\000\000\002m\003q\003 \001\236\003)\000\000\000\000\000\000\003r\000h\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\002f\003!\000\000\001\202\0037\003t\000\000\001\203\000\000\000\000\000\000\003<\001\216\000\000\000\000\003A\000\000\003N\001\232\000\000\001\233\000\000\000\164\001D\003\225\000\000\001\217\000\000\000j\000\000\000v\001\200\001\223\000k\001\246\003\226\000\000\000l\001\233\003\238\000\000\000\000\000\000\001\234\000\000\000>\000\000\001\235\000\000\002m\000\000\003 \001\236\000\000\000w\000\000\000h\000\000\000\000\000\000\000q\000u\000\000\000\000\000>\000\000\000\000\003\240\000\000\000v\000\000\003\245\000\000\003\252\001\232\003!\000\000\001\202\000\000\000\000\000x\001\203\000\000\000\000\000\000\000\000\000\000\000\000\000\210\000\000\000\233\000\000\002\\\000w\001\233\000\000\000\000\000\000\000\000\001\234\000j\000y\001\216\001\235\000\000\000k\000\235\002a\001\236\000l\000\000\002b\000\164\001D\003(\000{\001\217\001Y\000\000\000\146\000\000\003\133\000\000\000\000\000\000\003)\000\000\000\000\000\000\003\134\000h\001S\000j\000u\000q\000\212\000\000\000\000\000\000\000\213\000y\000\000\000\000\000v\000\000\000\000\002f\000\000\000\000\000\000\0037\003\136\000\000\000\000\000\128\000\000\000\000\003<\000\000\000\000\000\000\003A\000\000\003N\001\232\000\226\002\\\000w\000\000\000\000\000\000\000\000\000\000\000\000\000j\000\000\001\216\001\200\001\223\000k\000\000\002a\000\000\000l\001\233\002b\000\164\001D\003(\001\234\001\217\000>\000\000\001\235\000\000\002m\003\131\003 \001\236\003)\000\000\000\000\000\000\003r\000\000\000\164\001D\000u\000\000\000\000\000\000\000\000\000\000\000\000\000y\000v\000\000\000\000\001T\000\000\002f\003!\000\000\001\202\0037\003t\000\000\001\203\000\130\000\000\000\000\003<\000\000\000\000\000\149\003A\000\000\003N\001\232\000w\000\000\000\000\000\000\000\000\000\000\000\000\001_\000\227\003\196\000\000\000\000\001\\\000\000\000\000\001]\000\000\000\174\003\144\001\233\000\000\001\200\001\223\000\000\001\234\000\000\000\150\000\000\001\235\000\000\000\000\000\000\000\000\001\236\000\249\000>\000\000\000\000\000\000\002m\002\242\003 \000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000v\000\151\001\200\001\223\000\000\000\152\000\000\000\251\000\000\000h\000\000\000{\005R\000}\000\000\003!\000>\001\202\000\000\002\183\002m\001\203\003 \002\\\000w\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\253\001\216\000\000\000\000\000\254\000\000\002a\000\000\000\000\000\255\002b\000\164\001D\003(\003!\001\217\001\202\000\000\000\150\003\149\001\203\000j\000\000\000\000\003)\000\000\000k\000\000\003\145\000\000\000l\000\000\000\000\000\000\000\000\000\210\000\000\000\233\000\000\000y\000\000\000\000\000\000\000\151\000\000\002f\000\000\000\152\000\000\0037\003\147\000\000\000\000\000{\000u\000\000\003<\000\000\001\200\001\223\003A\000\000\003N\001\232\000\000\000\000\000\000\000\000\005^\000\000\000\000\000\000\000>\000\000\002\\\000\000\002m\000\000\003 \000j\000\000\000\000\000\212\001\233\001\216\000\000\000\213\000\000\001\234\002a\000\000\000>\001\235\002b\000\164\001D\003(\001\236\001\217\000\000\000\000\000\000\003!\000\000\001\202\002\\\000\000\003)\001\203\000\000\000\000\003\145\000\226\000\000\000\000\001\216\000\000\000\000\000\000\000\000\002a\000\000\000\000\000\000\002b\000\164\001D\003(\002f\001\217\000\000\000\000\0037\003\147\000\000\000\000\000v\000\000\003)\003<\000\000\000\000\005S\003A\001Y\003N\001\232\000\000\000\000\000\000\000\000\000h\000\000\000\000\000\000\000s\000\000\000\000\001S\002f\000w\000\000\000\000\0037\005U\000\000\001\233\000\000\000\000\000\000\003<\001\234\001\200\001\223\003A\001\235\003N\001\232\000\000\000\000\001\236\000\000\005a\000\000\000\000\000\000\000>\000\000\000\000\000\000\002m\000\000\003 \002\\\000\227\000j\000\000\001\233\001\200\001\221\000k\000\000\001\234\001\216\000l\000\000\001\235\000y\002a\000\000\000\000\001\236\002b\000\164\001D\003(\003!\001\217\001\202\000\000\004*\000\132\001\203\000\000\000\000\000\000\003)\000\000\000u\000\000\005S\000\000\000\164\001D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000j\000\251\001\202\001T\000\000\002f\001\203\000\000\000\000\0037\005U\000\000\000\000\000\000\000\000\000\000\003<\000\000\000\000\000\000\003A\000\252\003N\001\232\000\000\000\000\000\253\000\000\000\000\000\000\000\254\001_\000\000\003\232\000\000\000\255\001\\\000\000\000\000\001]\000\000\000\174\000\000\001\233\001\200\001\223\000\000\000\000\001\234\000\000\000\000\000h\001\235\000\000\000\000\000s\000\000\001\236\000>\000\000\000\000\000\000\003\183\000h\000\000\002\\\000\000\000q\000v\000\000\000\000\000\000\000\000\000\000\000\000\001\216\000\000\000>\000\000\000\000\002a\003\215\000\000\000\000\002b\000\164\001D\003(\003\218\001\217\001\202\000\000\000w\000\000\001\203\000j\000\000\000\000\003)\000\000\000k\001\216\005S\000\000\000l\000\000\000\000\000j\000\000\000\000\003\224\000\000\000k\000\000\000\000\001\217\000l\000\000\000x\002f\000\000\000\000\000\000\0037\005U\000\000\000\000\000\000\000u\000\000\003<\000h\001\200\001\223\003A\000}\003N\001\232\004\006\000y\000u\001\228\000\000\001 \000\237\000\000\000>\000\000\000\000\000\000\003\183\000\000\000\000\000{\000\000\000\000\000\000\001\233\000\000\000\000\000\000\000>\001\234\000\000\000\000\000\000\001\235\000\000\000\000\003\217\000\000\001\236\000\000\000\000\000\000\000j\003\218\000\000\001\202\000\000\000k\000\000\001\203\001\233\000l\000\000\000\210\000\000\000\231\001\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\248\003\224\000\164\001D\003\225\000\000\001\217\000\000\000\000\000\000\000\000\000u\000\000\000v\000\000\003\226\000\000\001Y\000\210\004\008\000\231\000\164\000\165\000\000\000h\000v\000\000\000\000\000q\000\000\000\000\001S\000\000\000j\000\000\000\000\000\212\000w\000>\000\000\000\213\000\168\000\169\000\171\000\172\000\000\000\000\003\240\000\000\000w\000\000\004\t\000\000\003\252\001\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000j\000x\000\000\000\212\000\226\000h\000j\000\213\000\173\000q\000\174\000k\001\233\000\150\000\000\000l\000\000\001\234\001\216\000>\000\000\001\235\000y\000\000\000\000\000\000\001\236\001\225\000\164\001D\003\225\000v\001\217\000\226\000y\000\000\000{\000\000\000\151\000u\000\000\003\226\000\152\000\164\001D\003\238\000\000\000\000\000{\000j\000\179\000\000\000\000\000\000\000k\000w\001T\000\000\000l\000h\000\000\000\000\000\000\000s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\240\000\000\000\000\000\000\003\245\000\000\003\252\001\232\000h\000u\000\000\001[\000q\000\227\000\000\000\000\001\\\000\000\000\000\001]\000\000\000\174\000>\000\000\000\000\000\000\000\000\001\233\000\000\000y\000j\000\000\001\234\000\000\000\000\000k\001\235\000\000\000\000\000l\000\000\001\236\000\227\000\134\000\164\000\165\000\000\000\000\000v\000\000\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000l\000\000\000u\000\168\000\217\000\171\000\172\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\252\000\000\000\000\000u\000\000\000\164\000\165\000\000\000\000\000v\000\000\000\173\000\000\000\174\001\013\000\000\000\150\000\000\000h\000\000\001\200\001\221\000q\000\000\000\000\000\168\001\207\000\171\000\172\000\252\000h\000\000\000>\000w\000}\000\000\000\000\000y\000\000\000\000\000\000\000\151\000\000\001\015\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000{\000\000\000\179\000\173\000\000\000\174\000\000\000\000\000\150\000\000\000h\000j\000v\000j\000q\001\202\000k\000\000\000\000\001\203\000l\000\000\000\000\000j\000>\001\200\001\221\000\000\000k\000y\000\164\000\165\000l\000\151\000v\000\000\000w\000\152\000\000\000\000\000\000\000\000\000\000\000{\000u\000\179\000\000\000\210\000\000\000\231\000\168\002^\000\171\000\172\000j\000\000\000u\000\000\000w\000k\000\000\000\000\000x\000l\000\000\000\000\000\000\000\000\000\000\000j\000\000\001\202\000\000\000\000\000\000\001\203\000\000\000\000\000\000\000\173\000\000\000\174\000\000\000y\000\150\000\000\000h\000u\001\227\000\000\000q\000j\000\000\000\000\000\212\000\000\000\000\000{\000\213\000\000\000>\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\152\001\216\000\000\000\000\000\000\000\000\000{\000\000\000\179\000\164\000\165\000\226\000\000\000v\000\000\001\217\000\000\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\000v\000l\000\000\000\000\000\168\002\150\000\171\000\172\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\000w\000u\000\000\000\164\000\165\000\000\000\000\000v\001\216\000\173\000\000\000\174\000\000\000\000\000\150\000\000\000h\000\000\000\000\000\000\000q\000\000\001\217\000\168\003>\000\171\000\172\000\000\000h\000\000\000>\000w\000q\000\000\001\233\000y\000\000\000\000\000\000\000\151\000\000\000\000\000>\000\152\000\227\000\000\000\000\000y\001\250\000{\000\000\000\179\000\173\000\000\000\174\000\000\000\000\000\150\000\000\000\000\000j\000\136\000h\000\000\000\000\000k\000q\000\000\000\000\000l\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000y\000\164\000\165\000l\000\151\000v\000\000\000\000\000\152\000\000\000\000\000\000\001\233\000\000\000{\000u\000\179\000\000\001\200\001\221\000\000\000\168\003\242\000\171\000\172\000\000\001\252\000u\000j\000w\000h\000\000\000\000\000k\000q\000\252\000\000\000l\000\000\000\000\000\000\000\000\000h\000\000\000>\000\000\000q\001\021\000\000\001\017\000\173\000\000\000\174\000\000\000\000\000\150\000>\000\000\000\000\000\000\000\000\000u\000j\000\000\001\202\000\000\000\000\000\000\001\203\000\000\000\000\000h\000\000\000\000\000j\000}\000y\000\000\000\000\000k\000\151\001\200\001\223\000l\000\152\000\000\000j\000\000\000\000\000\000\000{\000k\000\179\000\164\000\165\000l\000\000\000v\000\000\000\000\000\000\002T\003k\000\000\000\000\000\164\000\165\000u\000\000\000v\000\000\000\000\000\000\000\000\000\000\000j\000\194\000\000\000\000\000u\000k\000w\000h\000\000\000l\002[\000q\001\202\000\194\000\000\000\000\001\203\000\000\000w\000\000\000\000\000>\000\000\000\000\000\000\000\000\000\000\000\196\000v\000\174\000\000\000\000\000\150\000u\000\000\000\000\000\000\000\000\000\000\0014\000\000\000\174\000\000\000\000\000\150\000\000\000\000\000\149\001\216\000\000\000\000\000j\000w\000y\000\000\000\000\000k\000\151\000\000\000\000\000l\000\152\001\217\000\000\000\000\000y\000\000\000{\000\000\000\151\000\164\000\165\000\000\000\152\000v\000\000\000\000\000\000\000\150\000{\000\000\000\000\000\164\000\165\000u\000\000\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\000\000\000\000\000\000\000w\000y\000\000\002\\\000\000\000\151\000\000\001\183\000\000\000\152\001\200\001\223\000w\001\216\000\000\000{\000\000\000v\002a\000\000\000\000\001:\002b\000\174\000\000\000\000\000\150\001\217\000\000\000\000\002T\003a\001\233\001\185\000\210\000\174\000\231\000\000\000\150\000\000\002d\000w\000\000\000\000\000\000\000\000\001\254\000y\000\000\000\000\000\000\000\151\000\000\000\000\002[\000\152\001\202\002f\000\000\000y\001\203\000{\000\000\000\151\000\164\000\165\000\000\000\152\000v\000\000\000\000\000\000\000\000\000{\000\000\001\232\001\200\001\223\000j\000\000\000\000\000\212\000\000\000\000\000\000\000\213\000\000\001\183\000y\000\000\000\000\000\000\000w\000\000\000\000\001\233\002T\002U\000\000\000\000\001\234\000\000\000\138\000\000\001\235\000\000\000\000\000\000\000\000\001\236\000\000\000\226\000\000\002\012\000\000\000\174\000\000\000\000\000\150\000h\002[\000h\001\202\000q\000\000\000}\001\203\000\000\000\000\000\000\000\000\000\000\000\000\000>\000\000\000\000\000\000\001\200\001\223\000y\000\000\000\000\000\000\000\151\000\000\002\\\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000{\000\000\001\216\000\000\002T\002`\000\000\002a\000\000\000\000\000j\002b\000j\000\000\000\000\000k\001\217\000k\000\000\000l\000\000\000l\000h\000h\000\000\000\000\000}\000q\002[\002d\001\202\000\000\000\000\000\000\001\203\000\000\000\000\000>\000\000\000\000\000\227\000\000\000\000\000u\000\000\000u\002f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\\\000\210\000\000\000\231\000\000\000\000\001\232\000\000\000j\000j\001\216\000\000\000\000\000k\000k\002a\000\000\000l\000l\002b\000\000\000\000\000\000\000\000\001\217\000\000\001\233\000\000\000\000\000\000\000\210\001\234\000\233\000\000\000\000\001\235\000\000\002d\001\200\001\223\001\236\000u\000u\000\000\000\000\000j\000\000\000\000\000\212\000\000\000\000\000\252\000\213\000\000\002f\000\000\000\000\000\000\002T\003m\000\000\002\\\000\000\000\164\000\165\001\019\000\000\000v\000\000\000v\000\000\001\216\001\232\000\000\000j\000\000\002a\000\212\000\226\000\000\002b\000\213\002[\000\000\001\202\001\217\002\127\000\000\001\203\000\000\000\000\000w\001\233\000w\000\000\000\000\000\000\001\234\002d\000\000\000\000\001\235\000\000\000\000\000\000\000\000\001\236\000\226\000\000\000\000\000\000\000\000\002\129\000\000\000\174\002f\000\000\000\150\000\000\000\000\000\164\000\165\000\000\000v\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\232\000\000\000\000\001\200\001\223\000y\000\000\000y\000\000\000\151\002\127\000\000\000\000\000\152\000w\000w\000\000\000\000\000\000\000{\001\233\000\140\000\000\002T\0044\001\234\000\000\000\227\000\000\001\235\000\000\000\000\000\000\000\000\001\236\000\000\002\166\000\000\000\174\000\000\002\\\000\150\001\200\001\221\000\000\001\200\001\223\002[\000\000\001\202\001\216\000\000\000\000\001\203\000\000\002a\000\227\000\000\000\000\002b\000\000\000y\000y\000\000\001\217\003d\000\151\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\142\000{\002d\001\200\001\223\000\000\000\000\004,\000\000\000\000\000\000\000j\000\000\001\202\002[\000\000\001\202\001\203\000\000\002f\001\203\000\252\000\000\002T\0046\000\000\000\000\000\000\000\000\000\000\000\251\001\200\001\223\000\000\000\000\001\025\000h\001\232\000\000\000h\000q\000\000\000\000\000q\000\000\000\000\000\000\002[\000\000\001\202\000\252\002T\0048\001\203\000\000\000\253\000\000\001\233\000\000\000\254\000\000\000\000\001\234\002\\\000\255\000\000\001\235\000\000\000\000\000\000\000\000\001\236\000\000\001\216\000\000\002[\000\000\001\202\002a\000\000\000j\001\203\002b\000j\000\000\000k\000\000\001\217\000k\000l\000\000\000\000\000l\000\210\000\000\000\231\000\000\000\000\000\000\002\002\002d\000\000\0029\000h\000\000\002\\\000\000\000q\000\000\000\000\000\000\000\000\001\216\000u\000\000\001\216\000u\002f\000\000\000h\002a\000\000\000\000\000q\002b\000\000\001\217\000\000\000\000\001\217\000h\000\000\000\000\000\000\000q\001\232\000\000\000j\002\\\000\000\000\212\000\000\002d\000\000\000\213\000\000\000\000\000j\001\216\000\000\000\000\000\000\000k\002a\000\000\001\233\000l\002b\000\000\002f\001\234\000\000\001\217\000j\001\235\000\210\002\\\000\233\000k\001\236\000\226\000\000\000l\000\000\000j\002d\001\216\001\232\000\000\000k\000u\002a\002;\000l\000\000\002b\000\000\000h\000\000\000\000\001\217\000q\002f\002=\001\233\000v\000u\001\233\000v\000\000\000\000\002|\001\234\002d\000\000\000\000\001\235\000u\002\000\000j\001\232\001\236\000\212\000\000\000\149\000\000\000\213\000\149\000\000\000w\002f\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000j\000\000\000\000\000\000\001\234\000k\000\000\001\232\001\235\000l\000\210\000\226\000\233\001\236\000\150\000h\000\000\000\150\000\000\000q\000\000\000\227\000\000\000\000\000\000\000\000\000h\001\233\000\000\000\000\000q\000v\001\234\000u\000\000\000y\001\235\000\000\000y\000\151\000\000\001\236\000\151\000\152\000\000\000\000\000\152\000v\000\000\000{\001\"\000\000\000{\000\000\000j\000w\000\000\000\212\000v\000j\000\000\000\213\000\000\000\000\000k\000\000\000\149\000\000\000l\002\143\000j\000w\002\168\000\000\000\000\000k\000\000\000\149\000\000\000l\000\000\000\150\000w\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\252\000h\000u\000\227\000\000\000q\000\000\000\150\000\000\000\000\000\000\000\000\000y\000u\001\027\002\181\000\151\000\000\000\150\000\000\000\152\000\000\000\000\000j\000\000\000v\000{\002\145\000y\004.\000\000\002\146\000\151\000\000\000\000\000\000\000\152\000\000\000\000\000y\000\000\000\000\000{\000\151\002\183\000j\000\000\000\152\000\000\000w\000k\000\000\000\251\000{\000l\000\000\000\000\000\000\000h\000\000\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000h\000\000\000\000\000\252\000q\003\003\000\150\000\000\000\253\000u\000\227\000\000\000\254\000\000\000\000\000v\003\015\000\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000v\000y\000\000\000\000\000\000\000\151\000\000\000j\002\183\000\152\004>\000\000\000k\000w\000\000\000{\000l\000h\000j\002\183\000\000\000q\000\000\000k\000w\000\000\000\000\000l\000h\002\159\000\000\000\000\000q\000\251\000\000\000\000\000\000\000\000\000\000\000\150\000u\000\000\000\000\002\160\000h\000\000\000\000\000\000\000}\000\000\000\150\000u\000\000\000\252\000\000\003\023\000\000\000\000\000\253\000\000\000y\000j\000\254\000\000\000\151\000v\000k\000\255\000\152\000\000\000l\000y\000j\000\000\000{\000\151\000h\000k\000\000\000\152\000q\000l\000\000\000\000\002\183\000{\000\000\000\000\000j\000w\000\000\000\000\000\000\000k\000u\000\000\000\000\000l\000h\000\000\000\000\000\000\000q\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\005%\003$\002\195\000h\000\150\000\000\000\000\000q\000\000\000j\000u\000v\0033\000\000\000k\000\000\002\206\000\000\000l\000\000\000\000\000\000\000v\000\000\000\000\000y\000\210\000\000\000\231\000\151\002\183\000j\000\000\000\152\000\000\000w\000k\000\000\000\000\000{\000l\002\183\000u\000\000\000\000\000\000\000w\000j\000\000\000\000\000\000\000\000\000k\000\000\000\000\003J\000l\000\000\000\000\000\000\002\143\000\150\000\000\002\168\000u\000v\003R\000\000\000\000\000\000\000j\000\000\000\150\000\212\000\000\000\000\000v\000\213\000\000\000h\000u\000h\000y\000q\002\183\000q\000\151\000\000\000\000\000w\000\152\000\000\000v\000y\000\000\002\183\000{\000\151\000\000\000\000\000w\000\152\000\000\000\226\000j\000\000\000\000\000{\002\145\000\000\000\000\000\000\002\146\000\000\003\188\000\150\000w\000\000\000\000\000\000\000\000\000\000\000\000\000j\000v\000j\000\150\000h\000k\000\000\000k\000q\000l\000\000\000l\000\000\000y\000\000\000h\000\000\000\151\000\000\000q\002\183\000\152\000\000\000v\000y\000w\000h\000{\000\151\003\200\000q\000\000\000\152\000u\000\000\000u\000\000\000\000\000{\000v\000y\000\000\0052\000\000\000\000\000\000\000\000\000w\000j\000\000\000\000\000\150\000\000\000k\000\144\000\000\000\000\000l\002\183\000j\000\000\000\000\000\227\000w\000k\000\000\000\000\000\000\000l\000\000\000j\000\000\000y\000\150\000\000\000k\000\151\000\000\000\000\000l\000\152\000u\002\159\000\000\000h\000\000\000{\000\000\000q\000\150\000\000\000h\000u\000\000\000y\000q\002\160\000\000\000\151\000\000\000\000\000\000\000\152\000u\005\151\003\206\000\000\003\213\000{\000\000\000y\000\000\000\000\000\000\000\151\000v\000\000\000v\000\152\000\000\000\000\000\000\000\000\000\000\000{\000\000\000\000\000\000\000j\000\000\000\000\000\252\000\000\000k\002\183\000j\002\183\000l\000\000\000w\000k\000w\000\000\000\000\000l\001\029\000\000\002\143\000\000\000\000\002\168\000\000\000\000\003\222\000\000\000\000\000\000\001\200\001\221\000\000\000\000\000u\000\000\000v\003\236\000\150\002\195\000\150\000u\000\000\000\000\000\000\001\200\001\221\000v\003\250\000\000\000h\000\000\000\000\002\208\000q\002\183\000\000\000\000\000v\000y\000w\000y\000\000\000\151\000j\000\151\002\183\000\152\002\145\000\152\000\000\000w\002\146\000{\000j\000{\001\202\002\183\000\000\000\000\001\203\000\000\000w\000\000\000\000\000\000\000\150\000\000\000\000\000j\000\000\001\202\000h\000\000\000j\001\203\000q\000\150\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\004\001\000y\000\150\000h\000\000\000\151\000\000\000q\000\000\000\152\000v\000\000\000y\000\000\000\000\000{\000\151\000v\000\000\000\000\000\152\000u\000\000\000y\000\000\000\000\000{\000\151\000\000\002\183\000j\000\152\001\200\001\221\000w\000k\0052\000{\000\000\000l\000\000\000w\000\000\000\000\000\000\000\000\000\210\000j\000\233\000\000\000\000\000\000\000k\000\000\000\000\000\000\000l\000\000\000\000\002\159\000\150\000\000\000h\000u\000\000\000\000\000q\000\150\002\143\001\216\000\000\002\168\000\000\002\160\000\000\000h\000j\000\000\001\202\000q\000u\000y\001\203\001\217\001\216\000\151\000\000\000\000\000y\000\152\000j\000\000\000\151\000\212\000\000\000{\000\152\000\213\001\217\000\000\000\000\000\000\000{\000v\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000j\000\000\000\000\000l\002\145\000\000\000\000\000j\002\146\000\000\000\183\000\226\000k\000\000\000\000\000w\000l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000h\000\000\000\000\002\195\000q\000v\000\000\000\000\000\000\000\000\000\000\001\233\000u\000\150\000\000\000h\000\000\002\210\000\000\000q\000\000\000\000\000v\000\000\000\220\002\006\001\233\000\000\000\000\000w\000\000\000\000\000\000\000\000\000y\000\000\000\000\001\216\000\151\000\000\002\008\000\245\000\152\000\000\000j\000\000\000w\000\000\000{\000k\000\000\001\217\000\000\000l\000\000\000\150\000\000\000\000\000\000\000j\000\000\000\000\000\000\000\000\000k\000\227\000\000\000\000\000l\000\000\000\000\000\000\000\150\002\159\000\000\000\000\000y\000u\000\000\000\000\000\151\000v\000\000\000\000\000\152\000\000\000\000\002\160\000\000\000\000\000{\004M\000u\000y\000v\000\000\000\000\000\151\000h\000\000\001$\000\152\000q\000\000\000\000\000w\002\143\000{\000\000\002\168\000\000\000\000\000\000\001\170\000\251\000\000\000\000\000\000\000w\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000h\000\000\000\000\000\150\000q\002\n\000\252\000\000\000\000\000\000\000\000\000\253\000\000\000h\000j\000\254\000\150\000q\000\000\000k\000\255\000\000\000j\000l\000y\000\000\002\145\000\000\000\151\002\195\002\146\000v\000\152\000\000\000\000\000\000\002\143\000y\000{\002\168\000\000\000\151\000\000\002\212\000j\000\152\000v\000u\000\000\000k\001\174\000{\000\000\000l\000\000\000w\000\000\000j\000\000\000h\000\000\000\000\000k\000q\000\000\001\210\000l\000\000\000\000\000h\000w\000\000\000\000\000}\000\000\000\000\000\000\000u\000\000\000\000\000j\000\150\000\000\000\000\002\145\000\000\000\000\000\000\002\146\000h\000u\000h\000\000\000q\000\000\000q\000\150\000\000\000\000\000\000\000\000\000\000\000y\000j\000\000\000\000\000\151\000h\000k\000\000\000\152\000q\000l\000j\000\000\000\000\000{\000y\000k\000\000\000\000\000\151\000l\002\159\000\000\000\152\000\000\000\000\000\000\000v\000\000\000{\000\000\000j\000\000\000j\000u\002\160\000k\000\000\000k\000\000\000l\000\000\000l\000\000\000u\000\000\002\017\002\143\000\000\000j\002\168\000w\000\000\000\000\000k\000\000\000\000\000v\000l\000\000\000\000\000\000\000\000\000\000\000u\000\000\000u\000\000\000\000\000\000\000v\000\000\000\000\000\000\000\000\000\000\002\022\000\150\000\000\002\159\000\000\000w\000u\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000j\000\000\002\160\000w\002\145\000\000\000\000\000y\002\146\000\000\000\000\000\151\000\000\000\000\002\195\000\152\000\150\002\143\000h\000\000\002\168\000{\000q\000\000\000\000\000v\000\000\000\000\002\214\000\150\000\000\000\000\000\000\000\000\000h\000v\000h\000y\000q\000\000\000q\000\151\000\000\000\000\0021\000\152\000\000\000\000\000\000\000w\000y\000{\000\000\000\000\000\151\000v\000\000\000v\000\152\000w\000\000\000j\000j\000\000\000{\002\145\000\000\000k\000\000\002\146\000\000\000l\002\195\000v\002X\000\150\002\153\000\000\000j\000w\000j\000w\000\000\000k\000\000\000k\002\216\000l\000\000\000l\000\000\000\000\002\171\000\000\000h\000u\000y\000w\000}\000\000\000\151\002\159\000\000\000\000\000\152\000\150\000y\000\150\000\000\000\000\000{\000u\000h\000u\000\000\002\160\000}\000\000\000\000\000\000\000\154\000\000\002\143\000\150\000\000\002\168\000y\000\000\000y\000\000\000\151\000\000\000\151\000\000\000\152\000\000\000\152\000\000\000j\000\000\000{\000\000\000{\000k\000y\000\000\000\000\000l\000\151\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000j\000\000\000{\000\000\000\000\000k\002\159\000\000\000\000\000l\000j\000\000\000\000\000\000\002\145\000u\000\000\000\000\002\146\000\000\002\160\000v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\195\000\000\000\000\000\000\000u\000\000\000\000\000\000\000v\000\000\000v\002\173\000\000\000\000\002\218\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\176\000\000\004\024\000\000\000\000\000w\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\150\000\000\000\150\002\195\000\000\000y\000\000\000\000\000\000\000\151\000v\000\000\000\000\000\152\000\000\000\000\000\000\002\220\000\000\000{\000\000\000y\000\000\000y\002\159\000\151\000\000\000\151\000v\000\152\000\000\000\152\000\000\000\000\000w\000{\000\000\000{\002\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\156\000\000\000\000\000\000\000y\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\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\222"))
+ ((16, "\001\184\000C\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\000\001G\000\176\000\000\001-\000\207\000\000\000\000\000\000\000\161\000\000\000\153\001^\000\000\000\000\002\186\000\000\003B\000\000\000\000\000\000\003\250\000\000\004@\000\000\000\000\000\000\005$\000\000\005P\000\000\000\000\005\218\000\000\006\020\006T\000\000\000\000\006\144\000\000\006\162\000\000\000\000\000\000\006\178\000\000\006\182\000\000\006\230\000\000\007\n\000\000\007~\007\136\000\000\000\000\007\140\000\000\007\154\000\000\001\002\000O\003(\000\000\000\000\000\000\000\000\000\000\000\000\000\185\003@\000\000\000\028\000\000\000\000\002\216\000\000\000\000\001\184\000\000\000\000\000\000\001\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\230\000\000\000\000\003.\b\202\000\000\000\000\0112\000\000\000\000\000\000\000\000\007\198\000\000\007\224\000\004\000\000\007\244\000\000\000\000\bp\000\000\000\000\b\156\000\000\b\184\000\000\000\000\000\000\b\242\000\000\002\242\n\024\000d\000\000\000\000\000\000\000\000\000\000\000\000\003\026\004\024\000\000\000\202\000\000\000\000\000\000\nR\000\000\000:\000\000\bv\000\141\007F\000\000\000\000\000\250\001\188\000\000\027`\000\000\004h\012\206\005\172\018\210\029\026\022\\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\198\005\172\000\000\000\000\n\004\015\030\015\196\000\000\018\186\001\214\000\000\000\000\003`\021\198\000\000\000\000\000\000\004$\000\000\000\174\022\\\017\164\000\000\000\0004\168\000\000 \220\000\000*R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\000\000\000\000\007Z\000\000\012\202\000\000\020\004\000\000\020\130\000\000\021\248\000\000\022X\000\000\024\148\000\000\026N\000\000\031\154\000\000!\012\000\000\030z\000\0005\142\000\000\000\000\000\000\000\000\000\000&\192\000\000)\234\000\000*\006\000\000,\018\000\000,\\\000\0001\220\000\000=\234\000\000>\b\000\000>\"\000\000>$\000\000>>\000\000>n\000\000>\148\000\000>\168\000\000>\184\000\000?<\000\000<\024\000\000\000\000<b\000\000\000\000\000\000\000\000\004\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,5\170\000\000\001\204\000\000\000\000\001\226\001\014\000\000\001^\nT\000\000\000\000\n\130\000\000\n\136\n\164\000\000\000\000\n\174\000\000\n\184\000\000\000\000\000\000\n\210\000\000\n\220\000\000\n\228\000\000\n\232\000\000\000\000\n\244\000\000\011\016\011\020\000\000\000\000\0114\000\000\011B\000\000\000\000\000\000\011Z\000\000\011\\\000\000\011h\000\000\011p\000\000\011\136\011\138\000\000\000\000\011\142\000\000\011\146\000\000\003v\0032\000\000\011\148\000\000\011\166\005&\000\000\011\170\000\000\000\000\011\178\000\000\011\182\000\000\011\186\000\000\000\000\000\000\011\192\000\000\011\202\000\242\000\000\011\226\000\000\000\170\003\238\000\000\th\000\000\0114\000\000\000\000\012\244\005\160\000\000\000\000\000\000\000\000\007Z\007\158\000\000\np\000\000\000\000\000\000\004\238\000\000\007\022\000\000\018\146\000\000\000\000\000\000\000\000\000\000\000\000\019L\000\000\000\000\003^\000\000\003\246\000\000\000\000\000\000\014&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\t&\005\210\000\000\011\242\000\000\011\248\006.\000\000\012\006\000\000\000\000\000\000\011r\000\000\000\000\000\000\000\000\004\b\000\000\000\000\015n\000\000\000\000\000\000\016T\000\000\000\000\000\000\000\000\000\000\000\000\024d\000\000\000\000\026\154\000\000\000\000\026\252\000\000\004\146\000\000\021\206\000\000\000\000\000\000\007\188\000\000\003\004\024\246\000\000\000\000\001\146*@\000\000<\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?h\000\000-Z\000\0005\202\000\000?t\000\000?\228\000\000@\000\000\000@\020\000\000@h\000\000@\132\000\000@\188\000\000@\230\000\000@\244\000\000A\b\000\000AP\000\000A\\\000\000B\024\000\000\000\000*|\000\000\000\000\000\000+\024\000\000\000\000\000\000\000\000\000\000\000\0006\030\000\000\000\000\000\000\t\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\0006~\000\000\000\000\000\0001\192\001\027\000\000\000\000\000\000\000\000\024`\000\000\016V\000\000\000\000\000\000\000\000\000\000\030$\000\000\000\000\000\000+\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\020\r\228\000\000\012\022\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\001[\001\192\000\000\005^\000\000\000\000\000\000\003\210\000\000\t\186\007\026\012$\000\000\000\000\012.\000\000\0120\0126\000\000\000\000\0128\000\000\012>\000\000\000\000\000\000\012F\000\000\012N\000\000\012^\000\000\012l\000\000\000\000\012t\000\000\012|\012~\000\000\000\000\012\138\000\000\012\150\000\000\000\000\000\000\012\152\000\000\012\154\000\000\012\158\000\000\012\166\000\000\012\172\012\174\000\000\000\000\012\178\000\000\012\180\000\000\005\000\b.\000\000\012\204\000\000\012\208\012\184\000\000\012\210\000\000\000\000\012\222\000\000\012\224\000\000\012\232\000\000\000\000\000\000\012\236\000\000\000v\000\000\000\000\000\000\004\172\003\144\000\000\000\000\004\236\000\000\000\000\012\238\017\218\000\000\r\004\000\000\000\000\000\000\000\176\000\000\000\000\000\000\003:\000\000\000\000\000\000\000\000\000\000\n\n\023x\000\000\r\022\000\000\r\"\028\182\000\000\r*\000\000\000\000\014V\r@\000\000\000\000\rH\000\000\rR\rb\000\000\000\000\rh\000\000\rn\000\000\000\000\000\000\rx\000\000\r~\000\000\r\138\000\000\r\142\000\000\000\000\r\172\000\000\r\174\r\178\000\000\000\000\r\188\000\000\r\190\000\000\000\000\000\000\r\224\000\000\r\228\000\000\r\232\000\000\r\236\000\000\r\252\014\002\000\000\000\000\014\006\000\000\014\b\000\000\005,\r\166\000\000\014\012\000\000\014\020\0188\000\000\014\022\000\000\000\000\014\030\000\000\014*\000\000\014,\000\000\000\000\000\000\0146\000\000\0148 \142\000\000\014:\000\000\000\000\n\224$$\000\000\014>\000\000\014@$z\000\000\014F\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\226\000\000$\150\000\000\000\000\000\0007\022\000\000\000\000\000\228\000\000\000\000\000\000\0042\t\132\000\000\000\000%\186\003\254\000\000\027\250+\208\000\000\000\000\000\000.\b\000\000\000\000,&\000\000\000\000\000\000\r\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028N\000\000\000\000\029>\000\000\000\000 \n\000\000\005\234\000\000\017\154\000\000\000\000\000\000\t~\000\000\007\170\000\000\000\0007\210\000\000\000\000\000\000\011\128\000\000\000\000\000\000\000\000\000\000\000\0007\244\000\0007\246\000\000\000\000\000\000,\184\011\130\000\000\000\000\000\000\000\000\000\000.R\000\000\000\000\000\000\000\000\011\246\000\000\000\000\000\000\000\0006\012\000\000<<\000\000\004\240\000\000\000\000\000\000BD\000\000B\158\000\000B\174\000\000B\200\000\000B\212\000\000B\238\000\000B\240\000\000C\b\000\000C*\000\000CD\000\000C\150\000\000C\194\000\000Dh\000\000D\144\000\000\000\000\000\000#t\000\000\000\000\b\210.\152\000\000\000\000/\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\210\000\000\000\000\000\000\000\000\003t\000\000\012\210\000\000\000\000\023v\000\000\000\000\000\000.\226\000\000\000\000\000\000\000\000\000\000\031.\000\000\000\000\000\000\000\141\000\000/\194\000\000\000\000\000\000\000\000\002\234\014\006\000\000/\226\000\000\000\000\000\000\000\000\016&\000\000/\230\000\000\000\000\000\000\000\000\000(\000\000\b:\000\000\"\018,\214\000\000\000\000\000\0008\014\000\000\000\000\000\000\000\019\000\0008X\000\000\000\000\000\0008\220\000\000\000\000\003\170\000\000\025\226\000!-\006\000\000\000\000\000\000#\190\007\016\000\000\000\000\000\000\000\000\000\000\000\000)4\000\000\000\000/F\000\000\000\0000\170\000\000\006L\000\000%\172\000\000\000\000\000\000\012\236\000\000$\146\000\000\000\0008\254\000\000\000\000\000\000\r\\\000\000\000\000\000\000\000\000\000\000\000\000=V\000\000=\150\000\000\000\000\000\000\005\176\000\000\000\000\000\000\000\000\000\000\000\000D\170\000\0000\150\000\0009\022\000\000D\200\000\000D\204\000\000D\230\000\000E(\000\000EX\000\000Ex\000\000E\154\000\000E\206\000\000F.\000\000F^\000\000F\154\000\000F\170\000\000F\190\000\000\000\000\000\r\000\000\005\028\000\000\r\182\002X\b\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00098\000\000$\244#\218\014R\000\000\000\000\000\0000\154\000\0000\236\000\0001(\000\000%\232&T\006\220\002\180\000\000\000Q\007\224\000\000\000\000\000\000\n>\000\000\000\000\np\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&j\000\000&\242\000\000\000\000\000\000\014\158\000\000\000\000\006\022\000\000\000\000\000\000\026t\007\232\000\000\0270\000\000\000\000\016&\000\000\007\252\000\000\000\000\0152\000\000\027\156\000\000\000\000'\006\000\000\000\000\000\000\005\150\000\000\000\000\017\024\000\000\000\000(\186\000\000\000\000\000\0001\184\000\000\000\000\000\000.\016\000\000\000\000\000\000\000\0001\224\000\000\000\000\000\000\000\000\003\220\017\018\000\0002n\000\000\000\000\000\000\000\000\000\000\000\000\015\158\000\000\000\000\b\006\000\000\016\134\000\000\005\150\000\000\000\000\006$)\226\000\000\006\210\000\000\000\000\000\000\000\000\005\176\000\000(\018\000\000\028.\002\140\029V\000\000\004\170\000\000\017\026\000\000\017\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\144\029\232\007\028\030T\000\000\000\000\000\000\007x\000\000\018L\000\000\007\214\000\000\000\000\005\150\000l\031\016\000\000\002`\000\000\0194 *\000\000\000\000\019\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\026\t\244\000\000\b\152\000\000\000\000\000\000\000\000\b\196\000\000\020\170\000\000\000\000\000\000\"\168:(\000\000\000\000\000\000\"X\000\000\000\000\000\000\000\000\000\000\nD\0172\000\000\000\0002\184\000\000\000\000\t^\000\000\0178\000\000\000\0002Z\000\000\000\000\000\0002\226\000\000\000\000\000\000\000\0003<\000\000\000\000\005F\017\172\000\000\000\0003p\000\000\000\000\t\142#v\000\000\018\020\000\000\000\0003\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000(&\000\000\000\000\000\000\011\254\000\000\000\000\018J\000\000\000\0003\158\000\000\000\000\000\0003\176\000\000\000\000\000\000\000\0003\228\000\000\000\000\005\188\019\170\000\000\000\0004H\000\000\000\000\t\192\000\000\000\000\000\000\000\000\014\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\254\000\000\021<\000\000\000\000\000\000:H\000\000\n\158\000\000\000\000\000\000\001\196\000\000\002\202\000\000\000\000\006\228\022 \000\000\022\178\000\000\000\000\000\000\007\230\000\000:d\b4; \000\000;8\000\000\000\000\000\000\b^\000\000;<\tZ\000\000\000\000)\012\nt)H\000\000)\166\000\000\000\000\000\000\n\160\000\000;T\011\030\000\000\000\000\006\180\011&\007\216\000\000\n\150\000\000\000\000\000\000\0116\000\000;\132\011T\000\000\000\000\000\000\000\175\000\000\000\000\000\000\000E\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002l\000\000\015\024\000\000\000\000\000\000\015\028\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\030\000\000\000\000\014\254\000\000\006\146\000\000\000\000\001\158\000\000\000\t\014\160\002\206\000\000\000\000\t\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\234\005\168\000\000\000\000\000a\000\000\000\000\000\000\006B\000\000\000\000\b\026\012\242\000\000\000\000\000\000\000\000\r\020\014\244\020x\000\000\000\000\000\000\015\188\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\006\020\000\000\000\000\014h\000\000\017z\000\000\000\000\000\000\0005\000\000\000\000\025T\000\000\007\168\000\000\000\000\000\000\000\000\004\222\019\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018`\024\174\000\000\000\000\000\000\000\000\029\216\029\250\020\238\000\000\030\148\000\000\000\000\000\000\000\000\000\000\000\000\000\194\000\000\015D\000\000\000\000\000\000\001\180\000\000\n\136\000\000\000\000\000\000\019\026\000\000\000\000 \248\"\244\021\n\000\000#\028\000\000\000\000\000\000\000\000\000\000\000\000\027\176\014\146\000\000\014\148\000\000#\156\025f\000\000#\228\000\000\000\000\000\000\000\000\014\154\000\000\015\028\000\000\000\000\000\000\002r\000\000\000(\014\222\002\254\000\000\000\000\000\000\t\212\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\007\000\000\000\000\r\208\000\000\002>\015t\001\138\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\0210%\006\000\000\000\000\000\000\000\000%\160\000\000\000\000\015\176\000\000\000\n\012\236\000\000\000\000\000\000\022\166\000\000\000\000\000\000\000\000\000\000\000#\025<\000\000\000\000\029h\000\000\000\000\000\000\000\000\028B\000\000\000\000\007\n\000\000\000\000\000\000\000I\000\000\000\000\000M\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\188\000\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\026\003\214\005\142\011\140\000\000\002L\006\224\007\132\007\248\000\000\000\000\000\000\000\000\000\000\000\000\006F\023D\000\000 \190\n\142\000\000\000\000\011\030\000\000\024(\000\000-\238\000\000\000\000\t\210\024\186\000\000!*\000\000\t\244!\200\000\000\000\000\000\000\0003\t\238\000\000\000\000\000\000\000\000\t\216\000\000\002t\003t\000\000\000\000\b\198\t\194\000\000\020\024\000\000\000\000\004\238\000\000\007\022\000\000\000\000\0214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\216\000\000\000\000\000\000\011\180\000\000\025v\000\000\011\024\015(\000\000\000\000\000\000\000\000\000\000\rX\000\000\000\000\000\000\000\000\000\0004\252\000\000\006>\000\000\000\000\000\000\000\000\000\000\001\200\000\000\011\174\tr\012\146\000\000\002\236\r$\000\000\t\224\000\000\004\030\000\000\005\002\000\000\005\028\000\000\011\024\000\000\000\000\000\000\000\000\000\000\006\128\000\000\n\178\000\000\007<\000\000\011\024\015\176\000\000\bh\000\000\015\156\005\242\000\000\001D\000\000\005\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\024\000\000\t\b\000\000\000\000\000\000\014\\\000\000\000\000\000\000\000\000\000\000\015\164\014b\000\000\000\000\014\162\000\000\000\000\014z\b\238\015\230\000\000\015\236\000\000\000\000\004T\004@\000\000\014\178\000\000\000\000\014\236\000\000\000\000\000\000\000\000\000\000\000\000\015\210\014\144\000\000\000\000\000\000\014\198\014\150\t\028\t\184\014\198\015\000\000\000\000\000\014\170\nx\n~\014\214\015\014\000\000\000\000\0126\015\246\000\000\015\248\000\000\016\030\000\000\000\000\016\000\000\000\000\000\016\b\000\000\000\000\000\000\000\000\016\016\000\000\0166\000\000\000\000\000\000\016>\000\000\000\000\000\000\016B\000\000\000\000\000\000"), (16, "\004?\002v\004R\006\\\004\130\004\131\007\016\004\130\004\131\000\153\000\211\000\018\006\"\002I\007A\000\212\002x\002\225\000\153\000\004\002L\006\002\006\130\003Y\005\029\005\005\006Z\0065\0066\004?\000\025\004R\006\237\000\017\006\227\006#\000S\000S\007c\000Z\006&\0065\0066\000\005\007d\006\131\006\237\000\153\006\134\0065\0066\003Z\007e\006\231\004\214\006\238\006\224\006\241\0065\0066\004\215\006;\004A\000\153\000\156\000\162\004B\000\161\000\007\006\238\000k\006\241\0065\0066\000z\000\205\000\\\000\024\000S\000\213\006 \006!\004\191\002J\000\153\000\156\000\157\002m\000\161\004\215\002J\004A\000\005\000\153\005>\004B\006<\007/\0070\007\026\000\028\006Q\0067\001\230\000 \000\163\001\242\004\166\000V\002b\002\218\004\191\007*\007+\000\219\000z\0067\006\232\0074\000\153\000\156\000\153\000\153\001\139\0067\005L\000\163\004W\006\233\006\234\0010\004\193\002\222\0067\007\029\000\153\000\156\000\157\000\158\000\161\0079\000\202\002_\007:\006\171\000Z\007g\0067\000\153\000V\006R\005\192\0015\003Y\004\133\000\153\000\156\000\157\001\135\000\161\004\193\000\163\007>\000k\002\221\004\195\001\232\006\172\007h\000\153\001\233\006\175\0065\0066\0077\004O\005H\000\163\006\225\004\200\000o\000{\000[\000\220\004\216\007B\004P\005N\005+\0017\004\b\000r\004\170\000\220\004\195\000c\000\221\000\163\005\200\002\199\005\025\000k\002)\006=\004O\000k\000\205\001\248\004\200\001\189\000\206\002\201\000\220\004\216\007i\004P\004\173\001\230\0077\001\175\001\242\000o\000\128\007j\004\202\007f\005\006\000\222\005%\007\136\0068\004\224\000r\004\000\005<\000\153\000c\000\b\000\202\002[\006\148\002\236\004\253\004[\004?\000\219\004R\0067\007\207\000\004\007 \001\201\006F\004\202\006=\004\219\007\138\001\138\000\153\007\162\004\224\004\\\000\153\007\140\006\252\006\174\004]\007e\007\163\004\214\004^\004\253\004[\000\005\000\228\006D\004_\000k\001\138\001\141\001\232\006G\0065\0066\001\233\000\229\000\220\001\188\006\172\001\249\004\\\004\015\006\175\0065\0066\004]\000S\006\223\000k\004^\001\141\005\202\006%\000\205\004\215\004_\004A\000\206\001\188\002\204\004B\000k\002*\0026\004\216\007\182\004?\001;\004R\006\224\006\247\001\248\000k\001\250\000\220\006#\004\191\000\221\000~\001\138\006&\0065\0066\007F\000\153\001\141\001\204\001\251\002q\003Y\005\029\005\005\000\219\001\188\005>\001;\001;\001\252\000\153\001\138\002\223\001\141\006\248\0061\006\249\000\031\005\204\0067\000\222\001\188\0015\004\224\006\177\006\213\004\229\001\253\005\031\000V\0067\0062\001\254\001\141\004\253\001\206\001\255\004\193\004\215\000\153\004A\001\188\002\000\007\183\004B\006\250\002!\001:\006\211\006\214\0065\0066\004?\000\153\004R\001;\006\251\000\r\003Y\0016\004\191\006v\000\220\007\214\001\230\001\249\005\203\001\242\0067\001\189\000\153\004\195\001\208\000\153\006J\007e\007\168\005\005\000\016\000\017\007s\004O\000\153\000\220\000S\004\200\000\221\007\128\005A\000\220\004\216\007\184\004P\000\153\002k\004\b\000\200\002\218\006J\001\250\007j\000a\000S\006\225\005,\004W\007\186\000l\0010\004\193\000\211\004\001\004\215\001\251\004A\000\212\000c\000\222\004B\002\220\002$\001;\004\174\001\252\000k\0067\000m\001\232\007\179\006\244\004\202\001\233\004\219\007\188\004\191\000\163\002s\004\224\000\153\000n\007\190\001\253\000S\004\195\001;\000S\001\254\000S\004\253\004[\001\255\002\221\000\153\004O\000S\004\166\002\000\004\200\0064\003[\002%\000\220\004\216\002)\004P\007J\005.\004\\\001\248\005\202\000k\006K\004]\000V\0062\000\205\004^\006\228\005\025\000\213\000S\000k\004_\004\193\000z\0010\007\016\000\153\005\186\003~\001\189\000\"\007A\003\127\005'\006K\005\205\002\225\007\129\000\153\000\156\001\140\004\202\000\161\005\006\004?\005%\004R\007s\004\224\002e\000T\005<\000V\000\219\007\127\000V\004\195\000V\004\216\004\253\004[\007\130\000\153\007v\000V\007w\004O\007e\007\168\005\005\004\200\004\254\000\153\001;\000\220\004\216\007\174\004P\004\\\004\167\000\163\000\202\002U\004]\000o\007j\000\220\004^\003\166\001\249\000V\004\201\003\128\004_\006w\000r\003\129\007\237\000$\000c\005\204\000S\001;\007\024\004\215\004\224\004A\000S\004\229\002\203\004B\001\174\002*\002+\003Z\004\202\004\253\005\006\006z\007\176\007\173\000\005\004\224\001\250\003\217\007\178\004\191\000v\0018\000o\001r\006N\000\220\004\253\004[\000\221\001;\001\251\005\031\000W\000r\000k\000c\001u\000c\001;\000\205\001\252\001\141\001\206\000\206\000Y\004\\\007\"\003\244\006\217\001\188\004]\004?\003\168\004R\004^\000k\000y\002y\001\253\000\222\004_\004\130\004\131\001\254\004?\000V\004R\001\255\004\193\000\153\003\249\000V\002x\002\000\007e\007\168\005\005\002!\000\219\001\207\001\176\003\170\000\153\000(\007v\003\250\007w\007e\007\168\005\005\005\191\006\143\0065\0066\001;\007L\003\142\003\221\003\206\000S\002\204\000S\004\195\001\189\000\220\007\238\0028\003\143\001;\003\254\000k\004\215\004O\004A\001\175\000\153\004\200\004B\000*\002\205\000\220\004\216\007\174\004P\004\215\001\138\004A\007\175\003\220\000S\004B\007j\000k\004\191\003\209\007C\000\211\004\201\005\187\000\153\007\177\000\215\003\173\001;\007A\005\128\004\191\001\141\000\153\000\202\002?\002\205\001\200\002\236\000\153\001\188\002\207\000\220\000\208\005\189\000\221\004\202\001\189\005\006\003[\007\176\000z\0067\004\224\006Y\000V\007\178\000V\000\153\000\156\000\157\001\191\000\161\001\229\004\253\004[\003\230\004\193\007\245\003\175\000S\004\130\004\131\002\206\004\000\001\175\000\222\006Z\0065\0066\004\193\000k\005\"\004\\\003\176\000V\000\205\003\174\004]\005\171\000\213\000\153\004^\004\132\000k\004\130\004\131\007\207\004_\000\205\000\163\004\195\001\154\000\206\000\153\000\156\000\157\001\196\000\161\001\182\000S\004O\000k\006y\004\195\004\200\007\215\000.\002\181\000\220\004\216\007\174\004P\001\157\004O\000\219\001\206\004?\004\200\004R\007j\006Y\000\220\004\216\007\174\004P\004\201\0015\000\219\0000\003&\000V\001+\007j\001\173\000\153\000\163\000q\003\173\004\201\007e\007\168\005\005\0067\006Z\0065\0066\000o\001w\006\237\004\202\000k\005\006\001\208\007\176\006C\007\156\004\224\000r\007\157\007\178\000\153\000c\004\202\004Z\005\006\003Y\007\176\004\253\004[\004\224\000V\006\238\007\178\006\241\0065\0066\004\215\006D\004A\005\020\004\253\004[\004B\006G\0065\0066\004\\\007F\004?\007K\004R\004]\007\185\000\220\004\242\004^\000\221\0003\004\191\004\\\002\215\004_\004\b\005\189\004]\002u\000\220\004\206\004^\000\221\004?\002\225\004R\001;\004_\000\211\005\022\003\249\0051\0067\000\215\002=\000S\007\161\003}\000\211\0007\000\222\000\153\007C\000\212\007N\004\247\007e\007\168\005\005\001\158\001;\001\159\007\208\000\222\001\138\000o\000\153\002O\007&\001;\004\193\000k\0067\004A\000S\001;\000r\004B\000\254\004\251\000c\0006\0067\004\175\006]\007\207\001\141\0051\001\230\005\020\007\218\001\242\007F\004\215\001\188\004A\004>\000\224\000k\004B\000\153\000\255\0077\000\205\004\195\001\000\000\153\000\213\000k\007\189\001\138\0009\000\226\000\205\004O\004\191\004\166\000\213\004\200\006w\000;\002`\000\220\004\216\007\174\004P\005\021\001;\000?\000\153\000A\004\211\001\141\007j\003Y\001\178\006\144\006\145\004W\004\201\001\188\004\218\000\219\004\212\005\212\000V\005\011\003\226\000k\004\216\007F\001\232\000\219\004\212\000C\001\233\001\157\000S\004\212\005\214\004?\006`\004R\004\202\004\193\005\006\006\146\007\176\000S\001\154\004\224\004\b\000E\007\178\007(\000S\001\177\006\147\000\153\006Y\007I\004\253\004[\003Y\005\029\005\005\004O\002)\0059\007\001\001\157\005\245\001\248\004\176\000\220\006S\004\224\004P\004\195\004\229\004\\\004\167\006Z\0065\0066\004]\0053\004\253\004O\004^\004\177\004Y\004\200\004\165\000S\004_\000\220\004\216\007\174\004P\004\215\000\220\004A\0059\000\221\005;\004B\007j\000V\007\252\000I\000\220\001\168\004\201\000\221\000H\003~\000K\007\210\000V\003\127\005W\004\191\007\253\000M\004?\004\166\004R\000\153\001\001\000S\000z\0056\004\212\004[\000\222\005Q\004\202\002\236\005\006\005:\007\176\007H\000\153\004\224\000\222\000}\007\178\003Y\005\029\005\005\000\220\004\\\005\215\001\249\004\253\004[\004]\0067\000\131\001\158\004^\001\159\000\254\001\181\000V\001\194\004_\005\214\000\130\001;\004\193\000S\005S\004\\\004\216\003\166\002*\003\133\004]\003\128\006M\000\224\004^\003\129\004\215\000\255\004A\001\250\004_\001\000\004B\000\228\005\222\001\158\001\235\001\159\000\226\007{\005Q\007G\000V\001\251\000\231\001;\004\195\000\164\004\191\005\224\000u\001;\004\167\001\252\007\207\005\225\004O\000S\005\247\000S\004\200\007\165\003\227\004\224\000\220\004\216\004\229\004P\005\195\005+\005\224\001\253\000\133\004?\004\253\004R\001\254\005R\000o\002\178\001\255\004\201\004\130\004\131\000V\003[\002\000\000S\003\168\000r\002!\000\153\000S\000c\000\136\000\153\003Y\004\193\004\214\004\130\004\131\b\005\004?\000S\004R\004\202\000S\005\006\000\138\005%\000\202\002<\004\224\007\235\007\180\004\229\007\165\003\170\006f\006K\000\153\002\230\007F\004\253\004[\003Y\005\029\005\005\000V\000\164\000V\004\195\003\142\004\215\003\213\004A\b\000\000\142\003[\004B\000\220\004O\004\\\003\143\002c\004\200\006\224\004]\000S\000\220\004\216\004^\004P\005)\005+\004\191\000o\004_\000V\000S\000\153\005\177\004\215\000V\004A\007s\004\201\000r\004B\007\171\000k\000c\007z\000S\000V\000\205\005\207\000V\003\173\000\206\005K\005\228\000\153\007v\004\191\007w\005\177\004?\007~\004R\004\202\007R\005\006\001;\005%\003\216\005\224\004\224\005\179\000S\004\229\000\153\005h\004\212\004\193\000\153\003Y\007\212\004\253\004[\003Y\005\029\005\005\b\001\000\219\0022\004?\001\200\004R\000V\003\175\007\165\003\244\005\178\000S\006\144\006\145\004\\\003A\007\\\000V\007\246\004]\004\193\000\153\003\176\004^\004\169\004\195\003Y\005\029\005\005\004_\004\b\000V\003\249\007a\004\215\004O\004A\000\164\001\154\004\200\004B\007\246\006\176\000\220\004\216\001\156\004P\005z\003\131\004\172\007U\000\164\001\186\006\147\004\195\006\230\004\191\004\166\007F\001\157\005@\007\187\004\212\004\215\004O\004A\003\\\000S\004\200\004B\007l\002p\000\220\004\216\003[\004P\005P\005+\007\245\007J\000\220\003\244\004\166\000\221\004\202\004\191\004\219\005B\003~\004\201\003\228\004\224\003\127\007\135\004\229\000S\007v\b\007\007w\b\b\000\160\001=\004\253\004[\003\249\004\193\001;\005\236\000S\000S\004?\000\153\004R\004\202\000\222\005\006\007A\005%\001\200\003\250\004\224\004\\\005\238\004\229\001@\007\137\004]\001D\000\153\005\239\004^\004\253\004[\007e\004\193\004\214\004_\004\212\000V\004\195\000S\001C\004\167\003\254\005\238\000x\001F\000S\003\166\004O\004\\\001H\003\128\004\200\004\216\004]\003\129\000\220\004\216\004^\004P\005\199\005+\005n\001L\004_\000V\004\167\004\195\001N\004\215\005\127\004A\001P\004\201\001R\004B\007\245\004O\000V\000V\001U\004\200\001\158\003\167\001\159\000\220\004\216\007\181\004P\007\133\005+\004\191\001;\005\242\001Y\005\249\001X\004\202\005\250\005\006\004\224\005%\004\201\004\229\004\224\000S\005\253\004\229\005\224\000S\000V\004\253\001[\005\252\007\246\004\253\004[\000V\003\168\001]\006\000\005\252\b%\004?\001\200\004R\004\202\007J\005\006\004\242\005%\001a\001c\004\224\004\\\005\224\004\229\b&\001e\004]\004\193\000\153\001g\004^\004\253\004[\007e\003\170\004\214\004_\000o\000\211\003\249\000\211\001k\001j\000\212\001m\000\215\001o\001t\000r\003\142\004\\\003\206\000c\000\164\004\247\004]\001z\000\220\001y\004^\003\143\004\195\001|\000V\001~\004_\001\128\000V\001\144\001\132\004\215\004O\004A\007B\001\205\004\200\004B\000\153\004\251\000\220\004\216\007\167\004P\004?\000\164\004R\001\137\003\209\007\166\000S\007j\003\140\004\191\006Y\001\193\003\173\007\170\001\199\000k\001\202\000k\000\153\000S\000\205\001\198\000\205\007e\000\213\004\214\000\213\006Y\002j\002i\007C\002o\000S\006Z\0065\0066\002}\004\202\001;\004\219\007\172\002\128\002\132\000z\004\224\002\131\002\134\007\178\004\242\002\136\006Z\0065\0066\002\140\003\175\004\253\004[\002\142\004\193\000\219\004\215\000\219\004A\001\154\003~\002\144\004B\003\165\003\127\003\176\001\164\003\249\002\146\004?\004\\\004R\002\149\000V\007\169\004]\002\153\002\152\004\191\004^\001\157\002M\005\165\002\155\000S\004_\000V\000\153\004\195\002\157\002\161\002\163\003Y\002\165\004\214\007\148\007\149\002\167\004O\000V\002\171\002\170\004\200\002\173\002\175\0067\000\220\004\216\007\167\004P\000\153\000\156\000\157\002g\000\161\006\240\002\180\007j\002\186\002\185\000k\000S\0067\007\170\003\128\002\188\002\190\004\193\003\129\004\215\002\192\004A\002\196\002\213\000\220\004B\000\220\000\221\006\238\000\221\006\241\0065\0066\000\153\002\212\000o\002\183\004\202\003[\004\219\007\172\004\191\000\163\002\229\004\224\000V\000r\007\178\000z\002\235\000c\004\195\007\153\002\234\0012\004\253\004[\003<\000\222\000S\000\222\004O\005I\000\164\002\238\004\200\005K\001\165\002\241\000\220\004\216\007\167\004P\002\245\004\\\004?\004D\004R\003\233\004]\007j\002\244\000V\004^\002\247\004\207\007\170\002\249\000\254\004_\004\193\001\183\002\253\000\153\001\158\002\255\001\159\000S\003Y\004\209\004\214\003\001\001\154\003\003\001;\000\228\0067\000\224\0077\001\180\004\202\000\255\004\219\007\172\006d\001\000\000\233\004\224\003\006\003\n\007\178\003\t\000\226\001\157\004\195\003\142\003\012\003\014\004\253\004[\000V\006s\004M\000\220\004O\004\215\003\143\004A\004\200\000\202\002;\004B\000\220\004\216\003\018\004P\003\020\004\\\003\022\004?\003\024\004R\004]\006Y\000o\003#\004^\004\191\003\028\005@\004\221\003\027\004_\003\030\003 \000r\003%\000\153\000V\000c\003+\003*\003Y\004\222\005\005\003-\006Z\0065\0066\000\211\000S\003/\0031\004\202\000\215\004\219\005B\0035\003;\003:\004\224\003@\003F\004\229\001\138\003E\006*\000\153\006.\000k\006W\004\253\004[\004?\000\205\004R\004\193\006B\000\206\004\215\006P\004A\006|\003\145\005\b\004B\001\141\000\164\006\170\007\016\004\\\000\153\000\202\002:\001\188\004]\003Y\004\222\005\005\004^\002\225\004\191\004\002\006\195\006\197\004_\001\206\006\207\006\209\000k\004\195\006\219\006\246\000\219\000\205\006\237\007\146\001\158\000\213\001\159\004O\000V\0067\006Y\004\200\004\149\004\006\001;\000\220\004\216\007\192\004P\007\196\004\215\007\216\004A\007\222\007\223\006\238\004B\006\241\0065\0066\001\208\007\228\005\n\006Z\0065\0066\007\229\004\193\007\234\000k\000\219\007\233\004\191\007\241\000\205\007\243\007\249\007\250\000\206\007\254\007\255\001\230\000\211\b\002\001\231\b\003\004\202\000\215\004\219\005\012\b\006\b\t\b\n\004\224\b\027\b\016\005\014\003[\b\025\b\021\000\153\004\195\004\242\b\024\004\253\004[\004?\b!\004R\000\220\b\031\004O\000\221\000\219\b#\004\200\b(\005\r\000S\000\220\004\216\004\193\004P\004\\\000\153\003\249\000\000\000\000\004]\003Y\004\222\005\005\004^\0067\007\019\000\000\004\201\000\000\004_\0067\005\165\000k\000k\000\222\001\232\000\000\000\000\000\205\001\233\000\220\000\000\000\213\000\221\000\000\000\000\004\195\000\000\000\000\006q\000\000\004\202\000\000\005\006\000\000\005\007\004O\004\215\004\224\004A\004\200\004\229\000\000\004B\000\220\004\216\000\000\004P\001\210\004\253\004[\004?\000\000\004R\000\222\000\000\001\248\000\219\000\000\004\191\000V\004\201\000\000\000\220\000\000\000\000\000\221\000\000\004\\\000\153\000\000\001\212\000\000\004]\003Y\005\029\005\005\004^\000\000\001;\000\000\000\000\000\254\004_\000\000\004\202\003[\005\006\000\000\005\007\000\000\000\000\004\224\000\000\000\000\004\229\000\000\000\222\000\000\000\000\000\000\000\224\000\000\004\253\004[\000\255\000\000\000S\004\193\001\000\000S\004\215\002\236\004A\000\000\003~\000\226\004B\000\000\003\127\000\211\007\022\004\\\000S\000\000\000\212\000S\004]\000\000\006o\004?\004^\004R\004\191\006Y\000\220\000\220\004_\001\249\000\221\000\000\000\000\004\195\000\000\000\000\000\000\000\000\000\164\000\153\000\000\000\000\000\000\004O\003Y\005\029\005\005\004\200\006Z\0065\0066\000\220\004\216\004\t\004P\002=\000\153\000\156\000\157\002\210\000\161\000\222\000\000\000\000\000\000\000\000\000k\000\000\004\201\000V\003\128\000k\000V\004\193\003\129\000S\000\205\004\r\002S\000\000\000\213\004\215\000\000\004A\000\000\000V\001;\004B\000V\000\254\000\000\000\000\004\202\000\000\005\006\004?\005\007\004R\000\163\004\224\000\000\000\000\004\229\004\191\000\000\0025\000\000\004\195\000\224\000\000\004\253\004[\000\255\000\153\000\000\000\219\001\000\004O\003Y\005\029\005\005\004\200\000\000\000\226\0067\000\220\004\216\000S\004P\004\\\005$\000\000\000\000\000\000\004]\000\000\000\000\006\130\004^\000\000\000\000\000\000\004\201\000\000\004_\000S\000V\000\000\000\153\000\000\000\202\0029\004\193\000\000\000S\004\215\000\164\004A\000\000\000\164\006\131\004B\000\211\006\134\0065\0066\004\202\000\215\005\006\000\000\005%\004\255\000\164\004\224\004\233\000\164\004\229\004\191\000\000\000\000\000\153\003\142\000z\000\000\004\253\004[\004\195\005i\000\000\000\220\005q\000\000\003\143\000\000\000\220\005\003\004O\000\221\000V\000\000\004\200\000\000\000\000\004\\\000\220\004\216\000\000\004P\004]\005&\000k\004?\004^\004R\000\000\000\205\000V\001\154\004_\000\206\000\000\004\201\000k\000\000\001\164\000V\004\193\000\205\000\222\000\153\006\130\000\213\000\000\000\164\003Y\005C\005\005\000\000\001\157\0067\000\000\000\153\000\000\006~\000\000\004\202\000\000\005\006\005\129\005%\001\138\000\000\004\224\006\131\000\219\004\229\006\134\0065\0066\000\000\004\195\000\000\000\000\004\253\004[\000\000\000\219\000\000\000\000\003\144\004O\004\215\001\141\004A\004\200\001-\000\000\004B\000\220\004\216\001\188\004P\004\\\0058\004?\000\164\004R\004]\000o\003(\002M\004^\0010\004\191\000\000\004\201\000\000\004_\000\000\000r\005\138\000\000\000\153\000c\000\000\000\000\000\000\003Y\005C\005\005\001\154\000\000\000\164\000\000\000\000\000\211\005E\001\164\000\000\004\202\000\212\005\006\000\000\005%\000\000\000\000\004\224\005\156\006Y\004\229\000S\001\157\0067\000\220\000\000\001\165\000\221\004\253\004[\000\000\000\000\000\000\004\193\000\153\004\215\000\220\004A\000\000\000\221\000\000\004B\006Z\0065\0066\000\000\006\154\004\\\000\000\000\000\001\166\000\000\004]\001\158\000\000\001\159\004^\004\191\000\222\000\000\000\000\000\000\004_\001;\0012\000\000\000k\004\195\000\000\000\211\000\222\000\205\000\000\000\000\000\212\000\213\000\000\004O\000\000\000\000\005G\004\200\000\000\000\000\000\000\000\220\004\216\0018\004P\004?\000\000\004R\000V\000\000\000\000\001;\000\000\000\000\000\254\000\000\005Y\000\000\004\201\000\000\007s\000\000\004\193\000\153\000\000\000\000\000\219\007u\003Y\004\222\005\005\000\000\000\000\000\224\0067\001\165\000\000\000\255\006l\0065\0066\001\000\004\202\000\000\005\006\000k\005F\000\000\000\226\004\224\000\205\000\000\004\229\000\000\000\213\006\180\004\195\000\000\000\000\001\171\004\253\004[\001\158\000\000\001\159\004\215\004O\004A\000\000\000\000\004\200\004B\001;\000\000\000\220\004\216\000\000\004P\004?\004\\\004R\000\000\000\000\000\000\004]\000\000\000\000\004\191\004^\000\219\000\000\004\201\000\153\000\000\004_\000\164\000\153\006l\0065\0066\000\000\003Y\000\000\004\214\006\130\000\220\000\000\000\000\000\221\000\000\005\172\006l\0065\0066\0067\004\202\000\000\005\006\000\000\005F\000\000\000\000\004\224\006m\000\000\004\229\000\000\006\131\000\000\000\000\006\134\0065\0066\004\253\004[\000\000\004\193\000\000\004\215\000\222\004A\000\000\000\000\000\000\004B\000\000\000\000\000\202\000\204\000\000\000\000\001\230\004\\\006\141\001\231\000\000\000\000\004]\000\000\000\000\004\191\004^\007s\000\000\007v\000\000\007w\004_\000\220\007}\004\195\000\221\000\211\0067\001;\000\000\000\000\000\212\000\000\000\000\004O\005\193\006\159\000\000\004\200\005K\000\228\0067\000\220\004\216\000\000\004P\004?\000\000\004R\000\000\006\185\000\235\000\000\000\000\000\000\000\000\000\222\000\000\000\000\004\201\0067\000k\000\000\004\193\000\153\000k\000\205\000\000\001\232\003Y\000\206\004\214\001\233\000\000\000\211\000\000\000\211\000\000\000\000\000\212\000\000\000\215\000\000\004\202\000\000\005\006\000k\005\007\000\000\000\000\004\224\000\205\000\000\004\229\000\153\000\213\000\000\004\195\000\000\000\000\000\000\004\253\004[\000\228\000\000\000\219\004\215\004O\004A\001\248\000\000\004\200\004B\000\000\000\237\000\220\004\216\000\000\004P\004?\004\\\004R\000\000\000\000\000\000\004]\000\000\000\000\004\191\004^\000\219\000\000\005@\000\000\000k\004_\000k\000\153\000\000\000\205\000\000\000\205\003Y\000\213\004\214\000\213\006\237\000\000\000\000\005\209\000\000\000\000\000\000\005K\000\000\000\000\004\202\000\000\004\219\005B\007v\000\000\007w\004\224\000\000\000\000\004\229\000\000\000\000\006\238\001;\006\241\0065\0066\004\253\004[\007\007\004\193\000\219\004\215\000\219\004A\000\000\000\000\000\220\004B\000\000\000\221\000\220\000\000\000\000\001\249\004?\004\\\004R\000\000\000\000\000\000\004]\000\000\000\000\004\191\004^\000\000\001.\000\000\0010\000\000\004_\000\220\000\153\004\195\000\221\000\000\000\000\003Y\000\000\004\214\000\222\000\000\000\000\004O\005\211\000\000\000\000\004\200\005K\000\000\000\000\000\220\004\216\000\000\004P\000\000\000\000\000\153\000\153\000\156\000\157\002\227\000\161\000\000\000\000\000\222\000\000\000\000\005@\0067\000\000\000\000\004\193\000\000\004\215\000\000\004A\000\000\000\000\000\220\004B\000\220\000\221\000\000\000\221\000\000\000\000\000\000\000\000\0024\000\000\000\000\004\202\000\000\004\219\005B\004\191\000\000\000\000\004\224\000\163\000\000\004\229\000\000\000\000\000\000\004\195\000\000\000\000\0012\004\253\004[\000\228\000\222\000\000\000\222\004O\007O\000\000\000\000\004\200\005K\000\000\000\239\000\220\004\216\001\154\004P\004?\004\\\004R\000\000\0018\001\164\004]\000\000\000\000\000\000\004^\007W\001;\005@\000\000\000\254\004_\004\193\000\153\001\157\000\000\000\000\000\000\003Y\004\222\005\005\000\000\000\000\000\211\000\000\000\202\001\221\000\228\000\212\000\224\000\000\000\000\004\202\000\255\004\219\005B\000\000\001\000\000\241\004\224\000\000\000\000\004\229\000\000\000\226\000\000\004\195\000\000\000\000\000\211\004\253\004[\000\000\007\020\000\212\004\215\004O\004A\000\000\000\000\004\200\004B\000\000\000\000\000\220\004\216\000\000\004P\004?\004\\\004R\000\000\000\000\000\000\004]\000\000\000\000\004\191\004^\000\000\000\000\005@\000\000\000k\004_\000k\000\153\000\000\000\205\000\000\000\205\003Y\000\213\004\214\000\206\000\000\000\000\006Y\001\230\000\000\000\000\001\242\000\000\000\000\000\000\004\202\000\000\004\219\005B\000k\000\000\001\165\004\224\000\000\000\205\004\229\000\153\000\000\000\213\001\138\006Z\0065\0066\004\253\004[\000\000\004\193\000\219\004\215\000\219\004A\000\000\000\000\000\000\004B\003\236\000\000\000\000\001\158\000\000\001\159\001\141\004\\\000\000\000\000\000\000\000\000\004]\001;\001\188\004\191\004^\000\000\000\219\000\000\000\000\000\000\004_\000k\000\000\004\195\001\232\004?\000\000\004R\001\233\006\237\000\000\000\000\000\000\004O\007]\000\000\007\139\004\200\005K\000\000\006\133\000\220\004\216\000\153\004P\000\000\000\000\000\000\003Y\004\222\005\005\000\000\006\238\000\000\006\241\0065\0066\000\000\004\201\0067\002(\000\000\004\193\006\131\000\000\001\248\006\134\0065\0066\000\220\000\000\000\220\000\221\000\000\000\221\006l\0065\0066\005T\004?\000\000\004R\004\202\000\000\005\006\004\215\005\007\004A\000\000\004\224\000\000\004B\004\229\000\000\000\000\000\220\004\195\000\153\000\221\000\000\004\253\004[\003Y\000\222\005\005\000\222\004O\004\191\000\000\000\000\004\200\000\000\000\000\000\000\000\220\004\216\000\000\004P\000\000\004\\\000\000\000\000\000\000\000\000\004]\000\000\000\000\000\000\004^\000\222\0067\005@\000\000\000\211\004_\000\000\000\000\000\000\000\212\004\215\000\000\004A\0067\000\000\000\220\004B\000\000\001\249\000\000\000\000\002Q\0067\004?\000\000\004R\004\202\004\193\004\219\005B\000\000\006\200\004\191\004\224\000\000\000\000\004\229\005\t\000\000\000\000\000\000\000\153\000\202\001\224\004\253\004[\003Y\000\228\004\214\006\152\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\000\004\195\000\000\004\\\000k\000\000\001\251\000\000\004]\000\205\000\000\004O\004^\000\213\001;\004\200\001\252\000\000\004_\000\220\004\216\004\193\004P\004\215\000\000\004A\000\000\000\000\000\000\004B\000\000\000\202\001\227\000\000\001\253\000\000\004\201\000\000\000\000\001\254\000\000\000\000\000k\001\255\000\000\004\191\000\000\000\205\000\219\002\000\000\000\000\206\000\000\002!\000\000\004\195\000\000\004?\007\027\004R\004\202\000\000\005\006\000\000\005\007\004O\000\000\004\224\000\000\004\200\004\229\004\213\000\000\000\220\004\216\000\153\004P\000\000\004\253\004[\003Y\001\230\004\214\000\000\001\242\000\000\000\219\000\000\000\000\000\000\005V\000k\000\000\000\000\004\193\000\000\000\205\004\\\000\000\000\000\000\206\000\000\004]\000\000\000\000\000\000\004^\000\000\000\000\000\000\000\000\004?\004_\004R\004\202\000\000\005\006\004\215\005X\004A\000\000\004\224\000\000\004B\004\229\004\223\000\000\000\220\004\195\000\153\000\221\000\000\004\253\004[\003Y\000\219\004\214\000\000\004O\004\191\000\000\000k\004\200\000\000\001\232\000\000\000\220\004\216\001\233\004P\000\000\004\\\000\000\000\000\000\000\006\210\004]\000\000\000\202\003d\004^\000\222\000\000\004\217\000\000\000\220\004_\000\000\000\221\000\000\000\000\004\215\000\000\004A\000\000\000\000\000\000\004B\006\211\006\214\0065\0066\002@\000\000\004?\001\248\004R\004\202\004\193\004\219\004\220\000\000\000\000\004\191\004\224\000\000\000\000\004\229\000\000\000\222\000\202\003u\000\153\000\000\000\000\004\253\004[\003Y\000\228\004\214\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000k\000\245\000\000\006\235\004\195\000\205\004\\\000\000\000\000\000\206\006\210\004]\000\000\000\000\004O\004^\000\000\000\000\004\200\000\000\000\000\004_\000\220\004\216\004\193\004P\004\215\000\000\004A\000\000\000\222\000\000\004B\006\211\006\214\0065\0066\0067\000\000\004\217\000\000\000\000\000k\000\000\000\219\000\000\000\220\000\205\004\191\001\249\000\000\000\206\000\153\000\156\000\157\002\232\000\161\000\000\004\195\000\000\000\000\000\000\002V\004\202\000\000\004\219\004\220\000\000\004O\000\000\004\224\000\000\004\200\004\229\000\000\000\000\000\220\004\216\000\000\004P\000\000\004\253\004[\002C\001\230\000\000\000\219\001\242\000\000\000\000\000\000\000\000\000\000\004\217\000\163\000\000\000\000\004\193\000\000\000\000\004\\\006\236\000\202\003x\000\000\004]\000\000\001\252\000\000\004^\0067\000\000\000\000\000\000\004?\004_\004R\004\202\000\000\004\219\004\220\000\000\000\000\000\220\004\224\001\253\000\221\004\229\000\000\000\000\001\254\004\195\000\153\000\000\001\255\004\253\004[\003Y\000\000\004\214\002\000\004O\000\000\000\000\000k\004\200\000\000\001\232\000\000\000\220\004\216\001\233\004P\000\000\004\\\006\254\006\237\000\222\005(\004]\000\000\000\000\000k\004^\000\000\000\220\005!\000\205\000\221\004_\000\000\000\206\000\000\000\000\004\215\000\000\004A\000\000\000\000\006\238\004B\006\241\0065\0066\000\000\002@\000\000\004?\001\248\004R\004\202\000\000\004\219\005#\000\000\000\000\004\191\004\224\000\000\000\222\004\229\000\000\000\000\000\000\000\000\000\153\000\219\000\000\004\253\004[\003Y\000\000\004\214\000\000\006Y\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\000\000\000\004\\\007#\000\000\000\000\006Y\004]\000\000\000\000\000\153\004^\006Z\0065\0066\000\000\004?\004_\004R\000\000\004\193\001\138\004\215\000\000\004A\000\000\000\000\000\000\004B\006Z\0065\0066\0067\000\000\000\153\000\211\000\000\000\000\000\000\003Y\000\215\004\214\000\220\001\141\004\191\001\249\000\000\000\000\000\000\000\000\000\000\001\188\000k\000\000\004\195\000\000\000\000\000\205\002A\000\000\000\220\000\213\000\000\000\221\004O\000\000\000\000\000\000\004\200\000\000\000\000\000\000\000\220\004\216\000\000\004P\004\215\000\000\004A\002C\000\000\005 \004B\006Y\000\000\000\000\000\000\000\000\0067\005!\000\000\000\000\000\000\004\193\000\222\000k\000\219\000\000\004\191\000\000\000\205\000\000\000\000\001\252\000\213\0067\006Z\0065\0066\000\000\004?\000\000\004R\004\202\000\000\004\219\005#\000\000\000\251\000\000\004\224\001\253\000\000\004\229\000\000\000\000\001\254\004\195\000\153\000\000\001\255\004\253\004[\003Y\000\000\004\214\002\000\004O\000\000\000\219\000\000\004\200\000\000\000\153\000\000\000\220\004\216\004\193\004P\007\030\004\\\000\000\000\000\0054\000\000\004]\000\000\000\000\000\000\004^\000\000\000\000\0055\000\000\000\000\004_\000\000\000\000\000\000\000\000\004\215\000\000\004A\000\000\000\000\000\220\004B\000\000\000\221\000\211\000\000\004\195\0067\000\000\000\212\000\000\004\202\000\000\004\219\0057\000\000\004O\004\191\004\224\000\000\004\200\004\229\000\000\000\000\000\220\004\216\000\000\004P\002=\004\253\004[\000\000\006\165\0052\000\222\000\000\000\000\001\154\000\000\000\000\000\000\005!\005?\000\220\001\164\000\000\000\221\000\000\004\\\006\163\000\000\002Y\000\000\004]\000\000\000\000\000\000\004^\001\157\001;\000\202\003{\000\254\004_\000k\004\202\004\193\004\219\005#\000\205\000\000\001\001\004\224\000\213\000\000\004\229\004?\000\222\004R\000\000\000\000\000\224\000\000\004\253\004[\000\255\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\153\000\000\000\226\000\000\000\000\003Y\004\195\004\214\004\\\000\000\000\000\000\254\000\000\004]\000\219\000\000\004O\004^\000\000\000\000\004\200\000\000\000\000\004_\000\220\004\216\000k\004P\000\000\000\000\000\224\000\205\006\161\000\000\000\255\000\206\000\000\000\000\001\000\000\000\000\000\005@\004\215\000\000\004A\000\226\000\000\000\000\004B\000\000\000\153\000\156\000\157\0038\000\161\000\000\004?\000\000\004R\000\000\000\000\001\165\000\000\000\000\004\191\004\202\000\000\004\219\005B\007S\000\219\000\211\004\224\000\000\000\153\004\229\000\217\000\000\000\000\003Y\000\000\004\214\000\000\004\253\004[\003\246\000\000\000\000\001\158\005D\001\159\000\000\000\163\000\220\000\000\000\211\000\221\000\000\001;\000\000\000\212\000\000\004\\\000\000\000\000\000\000\000\000\004]\000\000\000\000\004?\004^\004R\004\193\000\000\000\000\004\215\004_\004A\000\000\006Y\000\000\004B\007_\000\000\000\000\000\000\000\222\000\153\000\000\000\000\000k\000\000\003Y\000\000\004\214\000\205\000\000\004\191\000\000\000\213\000\000\000\000\006Z\0065\0066\000\000\004\195\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000k\000\000\004O\000\000\000\000\000\205\004\200\000\000\000\000\000\213\000\220\004\216\000\000\004P\000\000\004\215\000\000\004A\000\000\000\228\000\219\004B\000\000\000\000\000\000\000\000\000\000\005@\000\222\000\000\000\247\000\000\004\193\000\000\004?\000\000\004R\004\191\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\000\000\000\007b\000\000\000\000\000\000\004\202\000\153\004\219\005B\000\000\000\000\003Y\004\224\004\214\000\000\004\229\000\000\000\000\0067\000\000\004\195\000\000\000\000\004\253\004[\000\202\004\023\000\000\000\000\000\000\004O\000\000\000\000\000\000\004\200\000\000\000\000\000\000\000\220\004\216\004\193\004P\004\\\001\138\000\000\000\000\000\000\004]\004\215\000\000\004A\004^\000\000\000\220\004B\007T\000\221\004_\000\000\000\000\004?\000\000\004R\000\000\000\000\001\141\000\000\000\000\000\000\000\000\004\191\000\000\000\000\001\188\004\195\000\000\000\000\000\220\000\153\004\202\000\221\004\219\007V\005g\004O\000k\004\224\000\222\004\200\004\229\000\205\000\000\000\220\004\216\000\206\004P\000\000\004\253\004[\000\000\004?\000\000\004R\000\000\000\000\000\000\000\000\005\134\000\000\007T\000\000\000\222\000\000\000\000\000\000\000\223\004\\\000\000\000\153\004\193\005\137\004]\004A\005g\000\000\004^\004B\000\000\000\000\000\219\000\000\004_\000\000\004\202\000\224\004\219\007V\006\191\000\000\001$\004\224\000\000\005\143\004\229\000\000\000\000\005\145\005\183\000\000\000\226\000\000\004\253\004[\004\195\000\000\000\000\000\000\000\000\000\228\000\000\005\137\000\000\004A\004O\000\000\000\000\004B\004\200\000\000\000\249\004\\\000\220\004\216\006Y\004P\004]\000\000\000\000\000\000\004^\000\000\000\000\005\143\005\180\000\000\004_\005\145\004W\007T\000\000\0010\000\000\000\000\006Y\000\000\000\000\006Z\0065\0066\000\000\000\000\000\000\003~\004?\000\000\004R\003\127\000\000\000\220\000\000\000\000\000\221\004\202\000\000\004\219\007V\006Z\0065\0066\004\224\000\000\000\153\004\229\000\000\000\000\000\000\005g\000\000\000\000\000\000\004\253\004[\000\000\000\000\000\000\004O\000\000\000\000\000\000\004?\000\000\004@\000\222\000\220\005\146\000\000\004P\000\000\000\000\004\\\005\136\000\000\000\000\004?\004]\004R\000\000\006Y\004^\000\000\005\025\000\000\003\166\005\137\004_\004A\003\128\000\000\000\000\004B\003\129\000\000\0067\000\000\000\000\004O\000\000\000\000\005\017\000\000\006Z\0065\0066\000\220\005\146\005\143\004P\000\000\000\000\005\145\000\000\005\147\0067\006Y\005\182\000\000\000\000\000\000\003\208\000k\004\201\004A\005\170\004[\000\000\004B\000\000\000\000\000\153\000\156\000\157\003>\000\161\003\166\000\000\004A\006Z\0065\0066\004B\000\000\004\\\000\000\000\000\000\000\000\000\004]\000\000\000\000\000\000\004^\005\147\000\000\003\168\005\152\004\191\004_\000\000\000\000\000\000\000\000\000\000\005\170\004[\000\000\001\230\000\000\004?\001\242\004R\000\163\000\153\000\156\000\157\003C\000\161\0067\000\000\000\000\000\000\000\000\004\\\003\170\000\153\000\000\000\000\004]\000\000\000\000\000\000\004^\000\000\004\184\005\206\000\000\005\023\004_\003\142\004O\003\206\004W\000\000\000\000\000\000\004\193\000\220\000\220\005\146\003\143\004P\000\000\006\189\0067\000\163\004?\000\000\004R\000\000\000\000\000\000\000\000\000\000\000\000\004\201\000\000\000k\000\000\003\166\001\232\004A\000\000\006\187\001\233\004B\004O\003\209\000\000\000\000\004\195\004\184\005\026\000\000\000\220\003\173\000\000\004P\000\000\000\000\004O\004\191\000\000\000\000\004\200\000\000\005\147\000\000\000\220\005\152\006Y\004P\000\000\000\000\000\000\000\000\002)\005\170\004[\000\000\000\000\001\248\000\000\000\000\000\000\005\025\003\166\000\000\004A\000\000\000\000\000\000\004B\006Z\0065\0066\004\\\003\175\000\000\000\000\000\000\004]\000\000\000\000\000\000\004^\000\000\006\204\004\191\004\202\004\193\004_\003\176\000\000\000\000\000\000\000\000\000\000\004?\000\000\004@\000\000\000\000\000\000\000\000\000\211\000\000\000\000\004[\000\000\000\215\000\000\004\128\000\000\001\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\202\004\195\000\000\004\\\006Y\004?\000\000\004R\004]\000\000\000\000\004O\004^\001\141\004\193\004\200\000\000\000\220\004_\000\220\001\249\001\188\004P\000\000\000\000\000\000\0067\006Z\0065\0066\004\184\005\016\000\000\000\000\001\138\000k\004\201\004A\000\000\000\000\000\000\004B\000k\002*\004F\000\000\000\000\000\205\004\195\000\000\000\000\000\213\000\000\000\000\001\250\000\000\001\141\000\000\004O\004?\004\202\004R\004\200\000\000\001\188\003\166\000\220\004A\001\251\004P\001\230\004B\000\000\001\242\000\000\000\000\001;\000\000\001\252\004[\000\000\000\000\000\000\004\201\004\184\004\185\000\219\004\191\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\253\004\\\000\000\000\000\000\000\001\254\004]\0067\000\000\001\255\004^\004\202\000\000\000\000\000\000\002\000\004_\000\211\000\000\002!\000\000\000\000\000\212\003\166\000\000\004A\000\000\000\000\000\000\004B\004[\000\000\000\000\000\000\000k\000\000\000\000\001\232\000\000\000\000\004\193\001\233\004?\000\000\004R\004\191\000\000\000\000\004\\\007\005\000\000\000\000\001\230\004]\004O\001\242\000\000\004^\000\000\000\000\000\000\000\000\000\220\004_\003\223\004P\000\000\004\184\004\199\000\220\000\153\000\000\000\221\002)\004\195\000\000\000\000\000k\001\248\000\000\000\000\000\000\000\205\000\000\004O\000\000\000\213\000\000\004\200\000\000\000\000\000\000\000\220\000\000\004\193\004P\000\000\003\163\000\000\000\000\000\000\000\000\003\166\000\222\004A\000\000\000\000\000\000\004B\004\201\000\000\000\000\000k\000\000\000\000\001\232\000\000\000\000\000\000\001\233\000\000\000\219\000\000\000\000\004\191\000\000\007\n\000\000\004\195\000\000\000\000\000\254\000\000\004\202\000\000\000\000\000\000\000\000\004O\000\000\004Q\000\000\004\200\000\000\000\000\000\000\000\220\000\000\000\000\004P\000\224\002)\004[\000\000\000\255\000\000\001\248\000\220\001\000\000\000\001\249\000\000\000\000\004\201\000\000\000\226\000\000\000\000\000\000\000\000\004\\\000\000\000\000\004\193\000\000\004]\000\000\000\000\000\000\004^\000\000\000\000\000\000\002*\004\197\004_\004?\004\202\004R\000\000\000\000\000\000\000\000\000\000\001\250\000\000\001\230\000\000\000\000\001\242\000\220\000\000\000\000\000\221\000\000\000\000\004[\004\195\001\251\000\000\000\000\004\184\005\028\000\000\000\153\000\000\001;\004O\001\252\000\000\000\000\004\200\000\000\000\000\004\\\000\220\000\000\000\000\004P\004]\000\000\000\000\000\000\004^\000\222\000\220\001\253\000\000\001\249\004_\000\000\001\254\004\201\000\000\000\000\001\255\003\166\000\000\004A\000\000\000\000\002\000\004B\000\000\000\000\002!\000k\000\000\000\000\001\232\000\000\002*\004\226\001\233\000\000\000\000\004\202\000\000\004\191\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\000\004[\001\251\000\000\000\153\000\000\000\000\000\000\001\003\000\000\001;\002)\001\252\000\000\000\000\000\000\001\248\000\000\000\000\004\\\000\000\000\000\000\000\000\000\004]\000\000\000\000\004?\004^\004R\001\253\000\000\000\000\004\193\004_\001\254\000\000\000\000\000\000\001\255\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\202\0046\002!\000\000\000\000\004\184\005\231\000\000\000\000\000\000\004?\000\000\004R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\195\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\004O\000\000\000\000\001\164\004\200\004\184\005\233\000\000\000\220\000\000\003\166\004P\004A\000\000\000\000\000\000\004B\001\157\000\220\000\000\000\000\001\249\000\000\000\000\000\000\004\201\000\000\004?\000\000\004R\000k\000\000\004\191\000\000\000\000\000\205\000\000\000\000\000\000\000\206\003\166\000\000\004A\000\000\002*\005\149\004B\000\000\000\000\004\202\000\000\000\000\004\184\005\235\000\000\001\250\000\000\004?\000\000\004R\000\000\000\211\004\191\000\000\000\000\000\000\000\212\000\000\004[\001\251\000\000\000\000\000\000\000\000\000\219\000\211\000\000\001;\000\000\001\252\000\212\004\193\005\019\000\000\000\000\000\000\004\\\003\166\000\000\004A\000\000\004]\000\000\004B\000\000\004^\000\000\001\253\000\000\000\000\000\000\004_\001\254\000\000\001\230\000\000\001\255\001\242\000\000\004\191\000\000\004\193\002\000\000\211\001\165\004\195\002!\003\166\000\217\004A\000\000\000k\000\153\004B\000\000\004O\000\205\000\000\000\000\004\200\000\213\000\000\000\000\000\220\001\230\000k\004P\001\242\004\236\004\191\000\205\001\158\000\000\001\159\000\213\004\195\000\000\000\000\000\000\000\000\004\201\001;\000\153\000\220\000\000\004O\000\221\000\000\004\193\004\200\000\000\000\000\000\000\000\220\000k\000\219\004P\001\232\000\000\000\000\000\000\001\233\000\000\000k\004\202\000\000\000\000\000\000\000\205\000\219\004\201\000\000\000\213\000\000\000\000\000\000\000\000\000\222\004\193\000\000\000\000\000\000\004\195\004[\000k\000\000\000\000\001\232\000\000\000\000\000\000\001\233\004O\001\247\004\202\000\000\004\200\000\000\001\248\000\000\000\220\004\\\001\230\004P\000\000\001\242\004]\000\219\000\000\000\000\004^\000\000\004\195\004[\000\000\000\000\004_\004\201\000\000\000\000\000\153\000\000\004O\002#\000\000\000\000\004\200\000\000\001\248\000\000\000\220\004\\\000\000\004P\000\220\000\000\004]\000\221\000\000\000\000\004^\004\202\000\000\000\000\000\000\000\000\004_\004\201\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004[\000\000\000k\000\000\000\000\001\232\000\000\000\000\000\222\001\233\000\211\004\202\000\000\000\000\000\000\000\215\000\000\000\220\004\\\000\000\001\249\000\000\000\222\004]\000\000\000\000\000\220\004^\000\153\000\221\004[\000\000\000\000\004_\000\211\000\000\000\000\000\000\000\000\000\215\000\000\002'\000\000\000\000\000\000\000\000\001\248\000\220\004\\\000\000\001\249\000\000\000\153\004]\001\250\000\228\000\000\004^\000\000\000\000\000\222\000\000\000\000\004_\000\000\000\000\001\005\000\211\001\251\000\228\000k\000\000\000\212\000\000\000\000\000\205\001;\000\211\001\252\000\213\001\007\000\000\000\215\000\000\001\250\000\000\000\000\000\000\000\223\000\000\000\000\000\000\000\000\000\000\000k\000\153\001\253\000\000\001\251\000\205\000\000\001\254\000\000\000\213\000\211\001\255\001;\000\224\001\252\000\212\000\000\002\000\000\225\000\000\000\219\002!\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\220\001\253\000k\001\249\000\000\000\000\001\254\000\205\000\000\000\000\001\255\000\213\000k\000\219\000\000\000\000\002\000\000\205\000\000\000\000\002!\000\213\000\000\000\000\000\000\003~\000\000\000\000\000\000\003\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000k\000\211\000\000\000\000\000\000\000\205\000\215\000\219\000\000\000\213\000\000\000\000\001\251\000\000\000\000\000\000\000\000\000\219\000\000\000\153\001;\000\000\001\252\000\000\000\000\000\211\000\000\000\000\000\000\000\220\000\215\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\253\000\000\000\000\000\153\000\219\001\254\003\166\000\000\000\000\001\255\003\128\000\000\000\000\000\220\003\129\002\000\000\221\002=\000\000\002!\000\000\000k\000\000\000\222\000\000\000\000\000\205\000\211\000\000\000\000\000\213\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002]\002=\003\217\000\000\000\000\000k\000\220\000\222\001;\000\221\000\205\000\254\000\000\000\000\000\213\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\000\003b\000\219\000\000\000\000\000\000\000\000\000\224\000\000\001;\000\000\000\255\000\254\000\000\003\168\001\000\000\000\000\222\000\000\000\000\000\220\003i\000\226\000\221\000k\000\000\000\219\000\222\000\000\000\205\000\000\000\224\000\000\000\213\000\000\000\255\000\000\000\000\003~\001\000\000\000\000\000\003\127\003\170\003k\000\000\000\226\002\004\000\000\000\000\000\000\000\211\001;\000\000\000\222\000\254\000\215\000\000\003\142\003\218\003\206\000\000\000\000\000\000\000\228\000\000\000\220\000\000\000\219\003\143\000\000\000\000\000\000\000\153\000\224\001\t\000\000\000\000\000\255\000\000\000\000\000\220\001\000\000\000\000\221\000\000\000\000\000\000\000\211\000\226\003\220\000\000\000\000\000\215\000\000\000\000\003\209\000\000\003\166\000\000\000\000\000\228\003\128\000\000\003\173\000\220\003\129\000\000\000\221\002=\000\000\000k\001\011\000\000\000\000\000\222\000\205\000\000\000\000\000\000\000\213\000\000\000\000\003~\000\000\000\000\000\000\003\127\000\000\000\000\000\000\000\000\004\021\004*\003\217\000\000\000\000\000\000\000\000\000\222\001;\000\000\001\154\000\254\000\000\000\000\003\175\000\220\000k\001\164\000\221\000\000\000\000\000\205\000\000\000\219\004,\000\213\000\000\000\000\000\211\003\176\000\224\001\157\001;\000\215\000\255\000\254\000\000\003\168\001\000\000\000\000\000\000\000\000\000\001\001\000\000\000\226\000\000\003f\000\000\000\222\000\000\003\166\000\000\000\000\000\224\003\128\000\000\003~\000\255\003\129\000\219\003\127\001\000\000\000\000\000\000\000\003\170\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\254\000\202\0049\000\000\003\142\007Y\003\206\000\000\000\000\000\000\003\212\000k\000\220\000\000\000\000\003\143\000\205\000\000\000\000\000\224\000\213\000\000\000\000\000\255\000\000\000\220\000\000\001\000\000\221\000\000\000\000\000\000\000\000\000\000\000\226\000\000\003\220\000\000\000\000\000\000\003\166\000\000\003\209\000\000\003\128\003\168\000\000\000\000\003\129\000\000\003\173\001\165\000\000\0012\000\000\000\219\000\000\003\161\000\000\000\222\000\000\000k\000\220\000\211\000\000\000\221\000\205\000\000\000\215\000\000\000\206\000\000\000\000\000\000\003\170\004\244\003\215\000\000\001\158\000\211\001\159\000\211\000\000\000\000\000\215\000\000\000\215\000\254\001;\003\142\003\163\003\206\003\175\000\000\000\000\000\000\000\222\000\220\000\000\000\000\003\143\000\000\000\000\000\000\000\000\000\219\000\224\003\176\000\000\000\000\000\255\003\168\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000k\000\254\000\000\000\000\003\209\000\205\003\240\000\000\000\000\000\213\000\000\000\220\003\173\000\000\000\221\000\000\000k\003\170\000k\000\000\000\224\000\205\000\000\000\205\000\255\000\213\000\000\000\213\001\000\000\000\000\000\000\000\003\142\000\000\003\206\000\226\000\000\000\000\000\000\003\163\000\220\000\000\000\000\003\143\000\219\000\222\000\211\000\000\000\211\000\000\000\000\000\215\000\000\000\215\003\175\000\000\000\202\004<\000\000\000\000\000\219\000\220\000\219\000\000\000\221\000\000\000\000\000\000\000\000\003\176\003\209\000\000\000\000\000\254\000\000\000\000\000\000\000\000\003\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\224\000\000\000\215\000\222\000\255\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000k\000\226\000k\000\000\000\000\000\205\000\000\000\205\000\000\000\213\000k\000\213\003\252\000\211\003\175\000\205\000\000\000\220\000\215\000\206\000\221\000\000\000\000\004c\000\000\004\153\000\000\000\000\004\004\003\176\004\011\000\000\000\000\000\220\000\000\000\220\000\221\000\000\000\221\000\000\000\000\000\000\000\000\000k\000\219\003\163\000\219\000\000\000\205\000\000\000\000\000\222\000\213\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\003\163\000\000\003\163\000\000\000\000\004\155\000\222\000\000\000\222\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\205\000\254\000\000\000\000\000\213\000\000\000\000\000\211\000\000\000\219\000\000\001\230\000\215\000\000\001\242\000\000\000\000\000\254\004\157\000\254\000\224\000\000\000\000\000\000\000\255\000\211\000\000\000\211\001\000\000\000\000\212\000\000\000\215\000\000\000\000\000\226\000\224\000\000\000\224\000\219\000\255\000\000\000\255\000\000\001\000\000\220\001\000\000\220\000\221\000\000\000\221\000\226\000\000\000\226\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000k\000\205\001\001\001\232\001\001\000\213\000\000\001\233\000\222\000\000\000\222\000\000\000\000\000\000\000k\000\000\000k\000\220\000\222\000\205\000\221\000\205\000\000\000\213\000\000\000\213\000\000\000\211\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\153\000\254\000\000\000\254\000\000\000\219\000\000\000\000\000\000\001\248\001\001\000\000\000\220\000\000\000\000\000\221\000\222\000\000\000\000\000\000\000\224\000\000\000\224\000\219\000\255\000\219\000\255\000\000\001\000\000\211\001\000\000\000\000\000\000\000\000\215\000\226\000\000\000\226\000\000\000\000\001\001\000\000\000\000\000\000\000\254\000\000\000\222\000\000\000\000\000\000\000\211\000\000\000k\000\000\000\000\000\215\000\000\000\205\000\000\000\000\000\000\000\213\000\000\000\224\000\000\000\000\000\000\000\255\000\000\001\154\000\000\001\000\000\000\000\000\000\254\000\000\001\164\000\000\000\226\004\240\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\220\000k\001\157\001\249\000\000\000\224\000\205\000\211\000\219\000\255\000\213\004\249\000\215\001\000\000\220\000\000\000\220\000\221\000\000\000\221\000\226\000\000\000k\000\000\003\163\000\000\000\000\000\205\000\000\000\000\000\222\000\213\000\000\000\211\000\000\000\000\000\000\002K\000\215\000\000\000\000\000\000\000\000\000\000\003\163\000\219\000\000\000\000\000\222\000\211\000\222\000\000\000\000\000\000\000\215\000\000\000\000\000\000\000\254\000\000\000\000\001\252\000\000\000\000\000\000\000\211\000\219\000k\000\000\000\000\000\215\000\000\000\205\000\000\000\153\000\000\000\213\000\224\000\254\001\253\000\000\000\255\005\001\000\000\001\254\001\000\000\000\000\220\001\255\000\000\000\221\000\211\000\226\000k\002\000\000\228\000\215\000\224\000\205\001\165\000\000\000\255\000\213\000\000\000\000\001\000\001\r\000\000\000\000\000k\000\000\000\219\000\226\000\000\000\205\003\163\000\000\000\000\000\213\005l\000\000\000\222\000\000\005t\000\220\000k\001\158\000\221\001\159\000\000\000\205\000\000\000\000\000\000\000\213\000\000\001;\000\219\000\000\000\000\005x\000\211\000\000\001\154\000\000\000\220\000\215\000\000\000\221\000\254\001\164\000k\003\163\000\219\000\000\000\000\000\205\000\000\000\222\000\000\000\213\000\000\000\000\000\000\001\157\000\000\000\000\000\000\000\224\000\219\000\000\000\000\000\255\003\163\000\000\000\000\001\000\000\000\000\000\000\222\000\000\000\000\000\000\000\226\000\000\005}\000\254\000\000\000\000\000\211\000\220\000\000\000\000\000\221\000\215\000\219\000\000\000\000\000\000\000\211\000\000\000k\000\000\000\000\000\215\000\224\000\205\000\254\000\000\000\255\000\213\005\132\000\000\001\000\000\000\0075\000\220\000\000\003\163\000\221\000\226\000\000\000\000\000\000\000\222\000\000\000\224\005\141\000\000\000\000\000\255\000\211\000\220\000\000\001\000\000\221\000\215\000\000\000\000\000\000\000\000\000\226\000\000\005\163\003\163\000\219\000\000\007\154\000\220\000k\000\222\000\221\000\254\000\000\000\205\000\000\000\000\000\000\000\213\000k\003\163\001\165\000\000\000\000\000\205\000\000\000\222\000\000\000\213\005\168\000\000\000\224\000\000\000\000\000\220\000\255\003\163\000\221\000\254\001\000\000\000\000\000\000\222\000\000\000\000\005\159\000\226\000\000\001\158\000\000\001\159\000k\000\000\000\219\000\254\000\000\000\205\000\224\001;\000\000\000\213\000\255\003\163\000\219\000\211\001\000\000\000\000\000\000\222\000\215\000\254\000\000\000\226\000\224\000\000\000\000\000\000\000\255\000\211\005\175\000\000\001\000\000\000\000\215\000\220\000\000\000\000\000\221\000\226\000\224\000\000\000\000\000\000\000\255\000\211\000\219\000\254\001\000\000\000\000\215\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\163\000\000\000\000\000\224\000\000\000\000\000\222\000\255\000\000\000\000\000\000\001\000\000k\000\000\000\000\003~\000\000\000\205\000\226\003\127\000\220\000\213\000\000\000\221\000\211\000\000\000k\000\000\000\000\000\215\000\220\000\205\000\000\000\221\000\254\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\205\001'\000\000\000\000\000\213\000\000\000\224\000\222\000\000\000\219\000\255\0076\000\000\000\000\001\000\000\220\000\000\000\222\000\221\000\000\000\000\000\226\000\000\000\219\000\000\000\211\000\000\000\000\003\166\000\000\000\215\000\000\003\128\000\000\000\000\000\254\003\129\000k\000\000\000\219\000\000\000\000\000\205\0076\000\000\000\254\000\213\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\255\000\000\000\000\000\000\001\000\000\000\000\224\000\000\000\000\000\000\000\255\000\226\000\000\000\000\001\000\000\000\000\000\000\211\000\000\000\254\000\000\000\226\000\215\000\219\000\000\000\000\000\000\000k\000\000\000\000\000\220\000\000\000\205\000\221\000\000\000\000\000\213\000\000\000\224\000\000\000\000\003\168\000\255\000\211\000\220\000\000\001\000\000\221\000\215\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\253\000\000\000\220\000\000\000\000\000\221\000\222\000\000\000\000\000\000\000\000\000\000\003\170\000\219\0014\000\000\000\000\000\000\000\000\000k\000\222\000\000\000\000\000\000\000\205\000\000\000\000\003\142\000\213\003\205\002\006\000\000\000\000\000\000\000\254\000\220\000\222\000\000\003\143\000\000\000\000\000\000\000\000\000\000\000\220\000k\000\000\000\221\000\254\000\000\000\205\000\000\000\000\000\224\000\213\000\000\000\000\000\255\000\000\000\000\000\000\001\000\000\000\000\219\000\254\000\000\000\000\000\224\000\226\000\000\000\000\000\255\002.\003\173\000\000\001\000\000\000\000\000\000\222\000\211\000\000\000\000\000\226\000\224\000\215\000\000\000\000\000\255\000\000\000\219\000\000\001\000\000\220\000\000\000\000\000\221\000\211\000\211\000\226\000\000\000\000\000\215\000\215\000\000\000\000\000\000\000\254\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\215\003\175\000\000\000\000\000\000\000\000\002G\000\000\000\000\000\000\000\000\000\224\000\222\000\000\000\000\000\255\003\176\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000k\000\226\000\000\000\220\000\000\000\205\000\221\000\211\000\000\000\213\000\000\000\000\000\215\000\000\000\000\000\254\000\000\000k\000k\000\000\000\000\000\000\000\205\000\205\000\000\000\000\000\213\000\213\000\000\000\220\000k\003M\000\221\000\000\000\224\000\205\000\000\000\222\000\255\000\213\000\000\000\000\001\000\000\000\000\219\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003S\000\000\000\000\000\000\000\219\000\219\000\222\000\000\000\254\000\000\000k\000\000\000\000\000\000\000\000\000\205\000\211\000\219\000\000\000\213\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\255\000\000\000\211\000\254\001\000\000\000\000\000\000\215\000\000\000\000\000\000\000\226\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\224\000\219\000\000\000\000\000\255\000\000\000\000\000\000\001\000\000\211\000\000\000\000\000\000\000\220\000\215\000\226\000\221\000\000\000\000\000\000\000\000\000\211\000\000\000k\000\000\000\000\000\215\000\000\000\205\000\000\000\220\000\220\000\213\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000k\003\136\000\000\000\220\000\000\000\205\000\221\000\222\000\000\000\213\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\205\003\147\003\149\000\000\000\213\000\000\000\000\000\222\000\222\000\000\000\219\000\000\000k\000\000\004\026\000\000\000\000\000\205\000\254\000\000\000\222\000\213\000\000\000\220\000k\000\000\000\221\000\219\000\000\000\205\000\000\000\000\000\000\000\213\000\000\000\254\000\254\000\224\000\000\000\219\000\000\000\255\000\000\000\000\000\000\001\000\000\000\000\000\000\254\000\000\000\000\004\031\000\226\000\000\000\224\000\224\000\219\000\222\000\255\000\255\000\000\000\000\001\000\001\000\000\000\000\000\000\000\000\224\000\219\000\226\000\226\000\255\000\211\000\000\000\000\001\000\000\000\000\215\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\254\000\000\000\000\000\211\000\220\000\000\000\000\000\221\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\224\000\000\000\220\000\215\000\255\000\221\000\000\000\000\001\000\000\000\000\000\000\000\000\000\004#\000\220\000\226\000\000\000\221\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\004I\000\220\000\000\000\205\000\221\000\000\000\222\000\213\000\000\000\000\000\000\000\000\004e\000\220\000k\000\000\000\221\000\254\000\222\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000k\004\145\000\000\000\000\000\000\000\205\000\254\000\222\000\224\000\213\000\000\000\000\000\255\004\188\000\219\000\000\001\000\000\000\000\254\000\222\000\000\000\000\000\000\000\226\000\000\000\224\000\000\000\000\000\000\000\255\000\219\000\000\000\000\001\000\000\211\000\254\000\000\000\224\000\000\000\215\000\226\000\255\000\000\000\000\000\219\001\000\000\211\000\254\000\211\000\000\000\000\000\215\000\226\000\215\000\224\000\000\000\000\000\000\000\255\000\000\000\211\000\000\001\000\000\000\000\000\000\215\000\224\000\000\000\000\000\226\000\255\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\000\000\220\000k\000\000\000\221\000\000\000\000\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000k\000\000\000k\000\220\000\000\000\205\000\221\000\205\000\000\000\213\000\000\000\213\000\000\000\000\000k\005_\000\000\000\220\000\000\000\205\000\221\000\222\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\197\000\219\000\000\000\000\000\000\000\000\000\222\000k\000\000\000\000\000\000\000\000\000\205\000\219\005\217\000\219\000\213\000\000\000\254\000\000\000\222\000\211\000\000\000\000\000\000\000\000\000\217\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\000\000\224\000\000\003~\000\000\000\255\000\000\003\127\000\000\001\000\000\000\000\000\000\254\000\000\000\000\000\219\000\226\000\224\000\000\000\000\000\000\000\255\000\211\000\000\000\000\001\000\000\000\000\217\000\000\000\000\000\000\000\224\000\226\000\000\000\000\000\255\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\220\000k\000\226\000\221\000\000\000\000\000\205\000\000\000\000\000\000\000\213\000\000\000\220\000\000\000\220\000\221\000\000\000\221\000\000\003\166\000\000\000\000\000\000\003\128\000\000\000\000\000\220\003\129\005\219\000\221\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000k\000\000\005\221\000\000\005\227\000\205\000\211\000\219\000\222\000\213\000\222\000\217\000\220\000\000\000\000\000\221\005\241\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\254\000\000\005\255\000\000\000\000\000\224\000\219\000\000\000\222\000\255\000\000\000\211\000\254\001\000\003\168\000\000\000\217\000\224\000\000\000\224\000\226\000\255\000\000\000\255\000\211\001\000\000\000\001\000\000k\000\217\000\000\000\224\000\226\000\205\000\226\000\255\000\254\000\213\000\000\001\000\000\000\000\000\000\000\003\170\000\000\000\000\000\226\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\224\000\211\000\000\003\142\000\255\003\172\000\217\000\000\001\000\000\000\000\000\000\220\000\000\000\000\003\143\000\226\000k\000\219\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\213\000\000\000\222\000\000\000k\000\220\000\000\000\000\000\221\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\212\003\173\000\000\000\000\000\000\000\000\000\000\000\223\000\000\000\000\000\211\000\000\000\219\000k\000\000\000\212\000\222\000\000\000\205\000\000\000\000\000\000\000\213\000\211\000\211\000\219\000\224\000\000\000\212\000\212\000\000\001#\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\226\000\212\003\175\000\223\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000k\000\000\000\219\003\176\000\000\000\205\000\211\000\000\000\224\000\213\000\000\000\212\000\000\001&\000\000\000k\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\226\000\213\000\211\000\000\000\222\000k\000k\000\212\000\000\000\000\000\205\000\205\000\211\000\220\000\213\000\213\000\221\000\212\000\000\000k\000\211\000\219\000\000\000\000\000\205\000\212\000\220\000\000\000\213\000\221\000\000\000\000\000\223\000\000\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\222\000\205\000\219\000\219\000\224\000\213\000\000\000\000\000\000\001\244\000\000\000\220\000\000\000\222\000\221\000k\000\219\000\000\000\000\000\226\000\205\000\000\000\000\000\000\000\213\000k\000\000\000\000\000\223\000\000\000\205\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\205\000\211\000\219\000\223\000\213\000\000\000\212\000\222\000\000\000\224\000\000\000\000\000\000\000\000\001\246\000\220\000\000\000\000\000\221\000\000\000\000\000\219\000\224\000\211\000\226\000\000\000\000\004T\000\212\000\211\000\220\000\219\000\000\000\221\000\212\000\223\000\000\000\226\000\000\000\219\000\000\000\000\000\000\000\220\000\220\000\000\000\221\000\221\000\000\000\222\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\220\000\000\004V\000\221\000k\000\000\000\000\000\222\000\000\000\205\000\000\000\000\000\226\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\222\000\000\000\000\000\220\000\000\000k\000\221\000\211\000\000\000\000\000\205\000k\000\212\000\222\000\213\000\000\000\205\000\000\000\228\000\000\000\213\000\211\000\220\000\000\000\000\000\221\000\212\000\219\000\000\001\015\000\000\000\211\000\220\000\228\000\000\000\221\000\212\000\222\000\000\000\000\000\220\000\000\000\000\000\221\001\017\000\000\000\228\000\228\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\219\000\222\001\019\001\021\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\222\000k\000\000\000\000\000\000\001\023\000\205\000\211\000\222\000\000\000\213\000\000\000\212\000\000\000\000\000k\000\000\000\000\000\228\000\000\000\205\000\211\000\000\000\000\000\213\000k\000\212\000\000\000\000\001\025\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000\228\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\219\000\000\000\228\001\027\000\211\000\000\000\000\000\000\000\000\000\212\000\228\000\000\000\000\001\029\000\219\000\000\000\000\000\220\000\000\000\000\000\221\001\031\000k\000\220\000\219\000\211\000\221\000\205\000\000\000\222\000\212\000\213\000\211\000\000\000\000\000\000\000k\000\212\000\000\000\000\000\000\000\205\000\211\000\000\000\000\000\213\000\000\000\212\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\219\000\000\000\000\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000\228\000\000\000\211\000\220\000\219\000\000\000\221\000\212\000\211\000k\000\000\001!\000\000\000\212\000\205\000\000\000k\000\220\000\213\000\000\000\221\000\205\000\228\000\000\000\000\000\213\000k\000\220\000\228\000\000\000\221\000\205\000\219\002\002\000\000\000\213\000\000\000\222\000\000\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\222\000k\000\000\000\000\000\000\000\000\000\205\000k\000\220\000\219\000\213\000\221\000\205\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\220\000\228\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\n\000\000\000\000\000\228\000\000\000\000\000\000\000\211\000\222\000\000\000\000\000\219\000\212\000\228\002\012\000\000\000\220\000\219\000\000\000\221\000\000\000\000\000\222\000\000\002\014\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\212\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\222\000\000\000\000\000\000\000\220\000\228\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\000k\000\000\000\228\000\000\000\222\000\205\000\000\000\211\000\000\000\213\000\000\000\222\000\212\002\018\000\000\000\211\000\000\000\000\000\000\000\000\000\212\000\222\000k\000\220\000\000\000\000\000\221\000\205\000\211\000\220\000\228\000\213\000\221\000\212\000\211\000\000\000\000\000\000\000\000\000\212\000\000\002\020\000\000\000\000\000\219\000\000\000\000\000\211\000\211\000\000\000\000\000\228\000\212\000\212\000\000\000\000\000\000\000\222\000\228\000\000\000\211\000\000\002\022\000\222\000\000\000\212\000\219\000k\000\228\002\024\000\000\000\000\000\205\000\000\000\000\000k\000\213\000\211\000\000\002\026\000\205\000\000\000\212\000\000\000\213\000\000\000\000\000\000\000k\000\000\000\211\000\000\000\000\000\205\000k\000\212\000\000\000\213\000\000\000\205\000\000\000\000\000\000\000\213\000\228\000\000\000\000\000k\000k\000\000\000\228\000\219\000\205\000\205\000\000\002\028\000\213\000\213\000\000\000\219\000k\002\030\000\000\000\220\000\000\000\205\000\221\000\000\000\000\000\213\000\000\000\211\000\219\000\000\000\000\000\000\000\212\000k\000\219\000\000\000\000\000\000\000\205\000\000\000\000\000\220\000\213\000\000\000\221\000\000\000k\000\219\000\219\000\211\000\000\000\205\000\000\000\222\000\212\000\213\000\000\000\000\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000k\000\000\000\221\000\219\000\000\000\205\000\000\000\220\000\000\000\213\000\221\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000k\000\221\002 \000\000\000\220\000\205\000\000\000\221\000\000\000\213\000\000\000\222\000\000\000\228\000\000\000\000\000\000\000\220\000\220\000\222\000\221\000\221\000\219\000\211\003\178\000\000\000\000\000\000\000\212\000\000\000\220\000\000\000\222\000\221\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\211\000\219\000\000\000\000\000\220\000\212\000\000\000\221\000\222\000\222\000\000\000\000\000\000\000\211\000\000\000\228\000\000\000\220\000\212\000\000\000\221\000\222\000\000\000\228\000\000\000\000\003\180\000\000\000\211\000\000\000\211\000\000\000\000\000\212\003\182\000\212\000\228\000\000\000\222\000\000\000k\000\000\000\228\000\211\000\000\000\205\000\000\003\184\000\212\000\213\000\000\000\222\000\000\003\186\000\000\000\228\000\228\000\000\000\220\000\000\000k\000\221\000\000\000\000\000\000\000\205\003\188\003\190\000\228\000\213\000\000\000\000\000\000\000k\000\000\000\000\000\211\000\000\000\205\003\192\000\220\000\212\000\213\000\221\000\219\000\228\000\000\000\000\000k\000\000\000k\000\000\000\222\000\205\000\000\000\205\003\194\000\213\000\228\000\213\000\211\000\000\000\000\000k\000\219\000\212\000\000\000\000\000\205\003\196\000\000\000\000\000\213\000\000\000\222\000\000\000\211\000\219\000\000\000\000\000\000\000\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\211\000\219\000\000\000k\000\000\000\212\000\228\000\000\000\205\000\000\000\000\000\000\000\213\000\000\000\219\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000k\000\228\000\000\000\220\000\212\000\205\000\221\000\000\000\000\000\213\000\000\000\000\003\200\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\219\000\205\000\000\000\220\000\000\000\213\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\220\000\222\000\205\000\221\000\000\000\000\000\213\000\000\000\219\000\000\000\000\000\211\000\000\000\000\000\000\000\220\000\212\000\220\000\221\000\000\000\221\000\222\000\000\000k\000\219\000\000\000\000\000\000\000\205\000\000\000\220\000\000\000\213\000\221\000\222\000\211\000\000\000\000\000\000\000\000\000\212\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\228\000\222\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\202\000\000\000\000\000\000\000\220\000\222\000\211\000\221\000\219\000\228\000\000\000\212\000k\000\000\000\211\000\000\000\000\000\205\000\000\000\212\003\204\000\213\000\228\000\000\000\211\000\000\000\000\000\000\000\220\000\212\000\000\000\221\000\000\004a\000\000\000\000\000k\000\228\000\222\000\228\000\000\000\205\000\000\000\000\000\220\000\213\000\000\000\221\004g\000\000\004i\000\000\000\228\000\000\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\220\000\222\004k\000\221\000\000\000k\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000k\000\213\000\000\000\000\000\222\000\205\000\219\000\000\000\000\000\213\000k\000\228\000\000\000\220\000\000\000\205\000\221\000\000\000\000\000\213\000\000\000\222\004m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\228\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\000\004o\000\222\000\000\000\000\000\000\000\228\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\220\004q\000\000\000\221\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004s\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\228\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\222\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\004w\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\228\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\004{\000\000\000\000\000\000\000\000\000\000\000\000\000\228\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\127"))
let semantic_action =
[|
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr = Obj.magic _1 in
+ let _1 : 'tv_dexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1752 "parser_cocci_menhir.mly"
- ( Ast0.set_arg_exp _1 )
-# 1525 "parser_cocci_menhir.ml"
+# 2224 "parser_cocci_menhir.mly"
+ ( Ast0.set_arg_exp _1 )
+# 1745 "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 : (
-# 66 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 1546 "parser_cocci_menhir.ml"
+# 1766 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1754 "parser_cocci_menhir.mly"
+# 2226 "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
+ Ast.AnyLen -> Ast0.AnyListLen
+ | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+ | Ast.CstLen n -> Ast0.CstListLen n in
Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
-# 1559 "parser_cocci_menhir.ml"
+# 1780 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1762 "parser_cocci_menhir.mly"
+# 2235 "parser_cocci_menhir.mly"
( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
-# 1583 "parser_cocci_menhir.ml"
+# 1804 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1806 "parser_cocci_menhir.mly"
+# 2271 "parser_cocci_menhir.mly"
( Ast.WhenAny )
-# 1605 "parser_cocci_menhir.ml"
+# 1826 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1807 "parser_cocci_menhir.mly"
+# 2272 "parser_cocci_menhir.mly"
( Ast.WhenStrict )
-# 1627 "parser_cocci_menhir.ml"
+# 1848 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1808 "parser_cocci_menhir.mly"
+# 2273 "parser_cocci_menhir.mly"
( Ast.WhenForall )
-# 1649 "parser_cocci_menhir.ml"
+# 1870 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 1809 "parser_cocci_menhir.mly"
+# 2274 "parser_cocci_menhir.mly"
( Ast.WhenExists )
-# 1671 "parser_cocci_menhir.ml"
+# 1892 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1253 "parser_cocci_menhir.mly"
+# 1470 "parser_cocci_menhir.mly"
( _1 )
-# 1695 "parser_cocci_menhir.ml"
+# 1916 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 1727 "parser_cocci_menhir.ml"
+# 1948 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1255 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 1735 "parser_cocci_menhir.ml"
+# 1956 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 1767 "parser_cocci_menhir.ml"
+# 1988 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1257 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1775 "parser_cocci_menhir.ml"
+# 1996 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 1807 "parser_cocci_menhir.ml"
+# 2028 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1259 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 1815 "parser_cocci_menhir.ml"
+# 2036 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 1847 "parser_cocci_menhir.ml"
+# 2068 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1261 "parser_cocci_menhir.mly"
+# 1478 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 1855 "parser_cocci_menhir.ml"
+# 2076 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 1887 "parser_cocci_menhir.ml"
+# 2108 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1263 "parser_cocci_menhir.mly"
+# 1480 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1895 "parser_cocci_menhir.ml"
+# 2116 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
- (Ast_cocci.logicalOp * Data.clt)
-# 1927 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 2148 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1265 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 1935 "parser_cocci_menhir.ml"
+# 1482 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2156 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
- (Data.clt)
-# 1967 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 2188 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1267 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.Eq _1 _2 _3 )
-# 1975 "parser_cocci_menhir.ml"
+# 1484 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 2196 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 2007 "parser_cocci_menhir.ml"
+# 2228 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1269 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2015 "parser_cocci_menhir.ml"
+# 1486 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 2236 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 2047 "parser_cocci_menhir.ml"
+# 2268 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1271 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.And _1 _2 _3 )
-# 2055 "parser_cocci_menhir.ml"
+# 1488 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 2276 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 91 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 2087 "parser_cocci_menhir.ml"
+# 2308 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1273 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Or _1 _2 _3 )
-# 2095 "parser_cocci_menhir.ml"
+# 1490 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 2316 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 2127 "parser_cocci_menhir.ml"
+# 2348 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1275 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2135 "parser_cocci_menhir.ml"
+# 1492 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 2356 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 2167 "parser_cocci_menhir.ml"
+# 2388 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1277 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2175 "parser_cocci_menhir.ml"
+# 1494 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 2396 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 2207 "parser_cocci_menhir.ml"
+# 2428 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1279 "parser_cocci_menhir.mly"
+# 1496 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 2436 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 158 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 2468 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
+# 1498 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2215 "parser_cocci_menhir.ml"
+# 2476 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1253 "parser_cocci_menhir.mly"
+# 1470 "parser_cocci_menhir.mly"
( _1 )
-# 2239 "parser_cocci_menhir.ml"
+# 2500 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 2271 "parser_cocci_menhir.ml"
+# 2532 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1255 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 2279 "parser_cocci_menhir.ml"
+# 2540 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2311 "parser_cocci_menhir.ml"
+# 2572 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1257 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2319 "parser_cocci_menhir.ml"
+# 2580 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 2351 "parser_cocci_menhir.ml"
+# 2612 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1259 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 2359 "parser_cocci_menhir.ml"
+# 2620 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 2391 "parser_cocci_menhir.ml"
+# 2652 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1261 "parser_cocci_menhir.mly"
+# 1478 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 2399 "parser_cocci_menhir.ml"
+# 2660 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2431 "parser_cocci_menhir.ml"
+# 2692 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1263 "parser_cocci_menhir.mly"
+# 1480 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2700 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 2732 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_eexpr_invalid_ =
+# 1482 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2439 "parser_cocci_menhir.ml"
+# 2740 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 2471 "parser_cocci_menhir.ml"
+# 2772 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1265 "parser_cocci_menhir.mly"
+# 1484 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2479 "parser_cocci_menhir.ml"
+# 2780 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 2511 "parser_cocci_menhir.ml"
+# 2812 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1267 "parser_cocci_menhir.mly"
+# 1486 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
-# 2519 "parser_cocci_menhir.ml"
+# 2820 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 2551 "parser_cocci_menhir.ml"
+# 2852 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1269 "parser_cocci_menhir.mly"
+# 1488 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2559 "parser_cocci_menhir.ml"
+# 2860 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 2591 "parser_cocci_menhir.ml"
+# 2892 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1271 "parser_cocci_menhir.mly"
+# 1490 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
-# 2599 "parser_cocci_menhir.ml"
+# 2900 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 91 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 2631 "parser_cocci_menhir.ml"
+# 2932 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1273 "parser_cocci_menhir.mly"
+# 1492 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
-# 2639 "parser_cocci_menhir.ml"
+# 2940 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 2671 "parser_cocci_menhir.ml"
+# 2972 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1275 "parser_cocci_menhir.mly"
+# 1494 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
-# 2679 "parser_cocci_menhir.ml"
+# 2980 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 2711 "parser_cocci_menhir.ml"
+# 3012 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1277 "parser_cocci_menhir.mly"
+# 1496 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2719 "parser_cocci_menhir.ml"
+# 3020 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 2751 "parser_cocci_menhir.ml"
+# 3052 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1279 "parser_cocci_menhir.mly"
+# 1498 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2759 "parser_cocci_menhir.ml"
+# 3060 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1253 "parser_cocci_menhir.mly"
+# 1470 "parser_cocci_menhir.mly"
( _1 )
-# 2783 "parser_cocci_menhir.ml"
+# 3084 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 2815 "parser_cocci_menhir.ml"
+# 3116 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1255 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 2823 "parser_cocci_menhir.ml"
+# 3124 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2855 "parser_cocci_menhir.ml"
+# 3156 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1257 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2863 "parser_cocci_menhir.ml"
+# 3164 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 2895 "parser_cocci_menhir.ml"
+# 3196 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1259 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 2903 "parser_cocci_menhir.ml"
+# 3204 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 2935 "parser_cocci_menhir.ml"
+# 3236 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1261 "parser_cocci_menhir.mly"
+# 1478 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 2943 "parser_cocci_menhir.ml"
+# 3244 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2975 "parser_cocci_menhir.ml"
+# 3276 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1263 "parser_cocci_menhir.mly"
+# 1480 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3284 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3316 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
+# 1482 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2983 "parser_cocci_menhir.ml"
+# 3324 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 3015 "parser_cocci_menhir.ml"
+# 3356 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1265 "parser_cocci_menhir.mly"
+# 1484 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3023 "parser_cocci_menhir.ml"
+# 3364 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 3055 "parser_cocci_menhir.ml"
+# 3396 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1267 "parser_cocci_menhir.mly"
+# 1486 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
-# 3063 "parser_cocci_menhir.ml"
+# 3404 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 3095 "parser_cocci_menhir.ml"
+# 3436 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1269 "parser_cocci_menhir.mly"
+# 1488 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3103 "parser_cocci_menhir.ml"
+# 3444 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 3135 "parser_cocci_menhir.ml"
+# 3476 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1271 "parser_cocci_menhir.mly"
+# 1490 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
-# 3143 "parser_cocci_menhir.ml"
+# 3484 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 91 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 3175 "parser_cocci_menhir.ml"
+# 3516 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1273 "parser_cocci_menhir.mly"
+# 1492 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
-# 3183 "parser_cocci_menhir.ml"
+# 3524 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 3215 "parser_cocci_menhir.ml"
+# 3556 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1275 "parser_cocci_menhir.mly"
+# 1494 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
-# 3223 "parser_cocci_menhir.ml"
+# 3564 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 3255 "parser_cocci_menhir.ml"
+# 3596 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1277 "parser_cocci_menhir.mly"
+# 1496 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3263 "parser_cocci_menhir.ml"
+# 3604 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 3295 "parser_cocci_menhir.ml"
+# 3636 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1279 "parser_cocci_menhir.mly"
+# 1498 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3303 "parser_cocci_menhir.ml"
+# 3644 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1253 "parser_cocci_menhir.mly"
+# 1470 "parser_cocci_menhir.mly"
( _1 )
-# 3327 "parser_cocci_menhir.ml"
+# 3668 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 3359 "parser_cocci_menhir.ml"
+# 3700 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1255 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 3367 "parser_cocci_menhir.ml"
+# 3708 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 3399 "parser_cocci_menhir.ml"
+# 3740 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1257 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3407 "parser_cocci_menhir.ml"
+# 3748 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 3439 "parser_cocci_menhir.ml"
+# 3780 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1259 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 3447 "parser_cocci_menhir.ml"
+# 3788 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 3479 "parser_cocci_menhir.ml"
+# 3820 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1261 "parser_cocci_menhir.mly"
+# 1478 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 3487 "parser_cocci_menhir.ml"
+# 3828 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 3519 "parser_cocci_menhir.ml"
+# 3860 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1263 "parser_cocci_menhir.mly"
+# 1480 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3527 "parser_cocci_menhir.ml"
+# 3868 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
- (Ast_cocci.logicalOp * Data.clt)
-# 3559 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3900 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1265 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3567 "parser_cocci_menhir.ml"
+# 1482 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3908 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3599 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 3940 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1267 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3607 "parser_cocci_menhir.ml"
+# 1484 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3948 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 3639 "parser_cocci_menhir.ml"
+# 3980 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1269 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3647 "parser_cocci_menhir.ml"
+# 1486 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3988 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 3679 "parser_cocci_menhir.ml"
+# 4020 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1271 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.And _1 _2 _3 )
-# 3687 "parser_cocci_menhir.ml"
+# 1488 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4028 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 91 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 3719 "parser_cocci_menhir.ml"
+# 4060 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1273 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Or _1 _2 _3 )
-# 3727 "parser_cocci_menhir.ml"
+# 1490 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 4068 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 3759 "parser_cocci_menhir.ml"
+# 4100 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1275 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3767 "parser_cocci_menhir.ml"
+# 1492 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 4108 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 3799 "parser_cocci_menhir.ml"
+# 4140 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1277 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3807 "parser_cocci_menhir.ml"
+# 1494 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4148 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 3839 "parser_cocci_menhir.ml"
+# 4180 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1279 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3847 "parser_cocci_menhir.ml"
+# 1496 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4188 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 158 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4220 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_arity =
-# 450 "parser_cocci_menhir.mly"
- ( Ast.UNIQUE )
-# 3869 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1498 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 4228 "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_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_arity =
-# 451 "parser_cocci_menhir.mly"
- ( Ast.OPT )
-# 3891 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1503 "parser_cocci_menhir.mly"
+ ( _1 )
+# 4252 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4284 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_arity =
-# 452 "parser_cocci_menhir.mly"
- ( Ast.MULTI )
-# 3913 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1505 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Mul _1 _2 _3 )
+# 4292 "parser_cocci_menhir.ml"
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_arity =
-# 453 "parser_cocci_menhir.mly"
- ( Ast.NONE )
-# 3930 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 166 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4324 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1507 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4332 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let r : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3961 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let i : 'tv_option_eexpr_ = Obj.magic i in
- let l : (
-# 102 "parser_cocci_menhir.mly"
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 3967 "parser_cocci_menhir.ml"
- ) = Obj.magic l in
- let _startpos = _startpos_l_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_array_dec =
-# 1060 "parser_cocci_menhir.mly"
- ( (l,i,r) )
-# 3974 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+# 4364 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1225 "parser_cocci_menhir.mly"
- ( _1 )
-# 3998 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1509 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Plus _1 _2 _3 )
+# 4372 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 108 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4030 "parser_cocci_menhir.ml"
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4404 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1227 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4040 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1511 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Minus _1 _2 _3 )
+# 4412 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4072 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4444 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1231 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4082 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1513 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4452 "parser_cocci_menhir.ml"
in
_menhir_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_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4484 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1225 "parser_cocci_menhir.mly"
- ( _1 )
-# 4106 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1515 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4492 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 108 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4138 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 4524 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1227 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4148 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1517 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4532 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Data.clt)
-# 4180 "parser_cocci_menhir.ml"
+# 4564 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1231 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4190 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_cond_expr_expr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_expr_invalid_ =
-# 1225 "parser_cocci_menhir.mly"
- ( _1 )
-# 4214 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1519 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4572 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 108 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4246 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4604 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_expr_invalid_ =
-# 1227 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4256 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1521 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4612 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 4288 "parser_cocci_menhir.ml"
+# 4644 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_expr_invalid_ =
-# 1231 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4298 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1523 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 4652 "parser_cocci_menhir.ml"
in
_menhir_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_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 160 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4684 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_bis =
-# 1236 "parser_cocci_menhir.mly"
- ( _1 )
-# 4322 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1525 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 4692 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 108 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4354 "parser_cocci_menhir.ml"
+# 161 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4724 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_bis =
-# 1238 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4364 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1527 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4732 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 4396 "parser_cocci_menhir.ml"
+# 4764 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_bis =
-# 1242 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4406 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1529 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4772 "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_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
-# 1222 "parser_cocci_menhir.mly"
- ( _1 )
-# 4430 "parser_cocci_menhir.ml"
+ let _v : 'tv_arity =
+# 621 "parser_cocci_menhir.mly"
+ ( Ast.UNIQUE )
+# 4794 "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_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
-# 1222 "parser_cocci_menhir.mly"
- ( _1 )
-# 4454 "parser_cocci_menhir.ml"
+ let _v : 'tv_arity =
+# 622 "parser_cocci_menhir.mly"
+ ( Ast.OPT )
+# 4816 "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_assign_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_basic_expr_expr_invalid_ =
-# 1222 "parser_cocci_menhir.mly"
- ( _1 )
-# 4478 "parser_cocci_menhir.ml"
+ let _v : 'tv_arity =
+# 623 "parser_cocci_menhir.mly"
+ ( Ast.MULTI )
+# 4838 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_arity =
+# 624 "parser_cocci_menhir.mly"
+ ( Ast.NONE )
+# 4855 "parser_cocci_menhir.ml"
in
_menhir_env.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 = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
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 = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : 'tv_fun_start = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
+ let r : (
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 4510 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 4886 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let i : 'tv_option_eexpr_ = Obj.magic i in
+ let l : (
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 4515 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_case_line =
-# 932 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
-# 4522 "parser_cocci_menhir.ml"
+# 4892 "parser_cocci_menhir.ml"
+ ) = Obj.magic l in
+ let _startpos = _startpos_l_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_array_dec =
+# 1282 "parser_cocci_menhir.mly"
+ ( (l,i,r) )
+# 4899 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _4 : 'tv_fun_start = Obj.magic _4 in
- let _3 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4559 "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)
-# 4565 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_case_line =
-# 934 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
-# 4572 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
+# 1442 "parser_cocci_menhir.mly"
+ ( _1 )
+# 4923 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 177 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 4955 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
-# 1282 "parser_cocci_menhir.mly"
- ( _1 )
-# 4596 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
+# 1444 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 4965 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- 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.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- 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 e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4633 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_ctype = Obj.magic t in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 4639 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
-# 1284 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 4647 "parser_cocci_menhir.ml"
+# 4997 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
+# 1448 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5007 "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_unary_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_eexpr_invalid_ =
-# 1282 "parser_cocci_menhir.mly"
- ( _1 )
-# 4671 "parser_cocci_menhir.ml"
+ let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
+# 1442 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5031 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- 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.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- 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 e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4708 "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)
-# 4714 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_eexpr_invalid_ =
-# 1284 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 4722 "parser_cocci_menhir.ml"
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 177 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 5063 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
+# 1444 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 5073 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5105 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
-# 1282 "parser_cocci_menhir.mly"
- ( _1 )
-# 4746 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4783 "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)
-# 4789 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
-# 1284 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 4797 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
+# 1448 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5115 "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_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_expr_invalid_ =
-# 1282 "parser_cocci_menhir.mly"
- ( _1 )
-# 4821 "parser_cocci_menhir.ml"
+ let _v : 'tv_assign_expr_expr_invalid_ =
+# 1442 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5139 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- 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.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- 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 e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4858 "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)
-# 4864 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_expr_invalid_ =
-# 1284 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 4872 "parser_cocci_menhir.ml"
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 177 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 5171 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_expr_invalid_ =
+# 1444 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 5181 "parser_cocci_menhir.ml"
in
_menhir_env.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.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_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5213 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_choose_iso =
-# 233 "parser_cocci_menhir.mly"
- ( List.map P.id2name _2 )
-# 4900 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_expr_invalid_ =
+# 1448 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5223 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4926 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4931 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_decl_ =
-# 1553 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
- dot_builder _2] )
-# 4940 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_assign_expr_bis =
+# 1453 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5247 "parser_cocci_menhir.ml"
in
_menhir_env.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_one_dec_decl_ = Obj.magic _2 in
- let _1 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4967 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 177 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 5279 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_decl_ =
-# 1557 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 4975 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_bis =
+# 1455 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 5289 "parser_cocci_menhir.ml"
in
_menhir_env.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 _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 73 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 5001 "parser_cocci_menhir.ml"
+# 5321 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5006 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
-# 1553 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
- dot_builder _2] )
-# 5015 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_bis =
+# 1459 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5331 "parser_cocci_menhir.ml"
in
_menhir_env.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_one_dec_name_opt_decl_ = Obj.magic _2 in
- let _1 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5042 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
-# 1557 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5050 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
+# 1439 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5355 "parser_cocci_menhir.ml"
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_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1113 "parser_cocci_menhir.mly"
- ( [] )
-# 5067 "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_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
+# 1439 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5379 "parser_cocci_menhir.ml"
in
_menhir_env.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;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_comma_initializers2_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_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1115 "parser_cocci_menhir.mly"
- ( (function dot_builder -> [dot_builder d])::r )
-# 5097 "parser_cocci_menhir.ml"
+ let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_basic_expr_expr_invalid_ =
+# 1439 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5403 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- 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.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 r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
- let c : (
-# 107 "parser_cocci_menhir.mly"
+ let _3 : 'tv_fun_start = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 5129 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let i : 'tv_initialize2 = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1117 "parser_cocci_menhir.mly"
- ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
- r )
-# 5138 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_comma_initializers2_edots_when_TEllipsis_initialize__ =
-# 1121 "parser_cocci_menhir.mly"
- ( [] )
-# 5155 "parser_cocci_menhir.ml"
+# 5435 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5440 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_case_line =
+# 1151 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
+# 5448 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ 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 = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- 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 r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
- let c : (
-# 107 "parser_cocci_menhir.mly"
+ let _4 : 'tv_fun_start = Obj.magic _4 in
+ let _3 : (
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 5187 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let i : 'tv_initialize2 = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
-# 1123 "parser_cocci_menhir.mly"
- ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
- r )
-# 5196 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_any_strict_ = Obj.magic _1 in
+# 5485 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5491 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_any_strict_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5220 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_case_line =
+# 1154 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
+# 5498 "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_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_ctype_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5244 "parser_cocci_menhir.ml"
+ let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
+# 1534 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5522 "parser_cocci_menhir.ml"
in
_menhir_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 = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_d_ident_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5268 "parser_cocci_menhir.ml"
+ let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5559 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5565 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
+# 1536 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5573 "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_separated_nonempty_list_TComma_dexpr_ = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_dexpr_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5292 "parser_cocci_menhir.ml"
+ let _v : 'tv_cast_expr_eexpr_invalid_ =
+# 1534 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5597 "parser_cocci_menhir.ml"
in
_menhir_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 = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_ident_or_const_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5316 "parser_cocci_menhir.ml"
+ let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5634 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5640 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_eexpr_invalid_ =
+# 1536 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5648 "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_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_meta_ident_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5340 "parser_cocci_menhir.ml"
+ let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
+# 1534 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5672 "parser_cocci_menhir.ml"
in
_menhir_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_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_pure_ident_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5364 "parser_cocci_menhir.ml"
- in
- _menhir_env.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 = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5709 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5715 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
+# 1536 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5723 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
});
(fun _menhir_env ->
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
-# 1784 "parser_cocci_menhir.mly"
- ( _1 )
-# 5388 "parser_cocci_menhir.ml"
+ let _v : 'tv_cast_expr_expr_invalid_ =
+# 1534 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5747 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5784 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5790 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_expr_invalid_ =
+# 1536 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5798 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_TString_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_choose_iso =
+# 308 "parser_cocci_menhir.mly"
+ ( List.map P.id2name _2 )
+# 5826 "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_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
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__ =
-# 1784 "parser_cocci_menhir.mly"
+ let _v : 'tv_comma_list_any_strict_ =
+# 2249 "parser_cocci_menhir.mly"
( _1 )
-# 5412 "parser_cocci_menhir.ml"
+# 5850 "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_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
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__ =
-# 1784 "parser_cocci_menhir.mly"
+ let _v : 'tv_comma_list_ctype_ =
+# 2249 "parser_cocci_menhir.mly"
( _1 )
-# 5436 "parser_cocci_menhir.ml"
+# 5874 "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_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
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__ =
-# 1784 "parser_cocci_menhir.mly"
+ let _v : 'tv_comma_list_d_ident_ =
+# 2249 "parser_cocci_menhir.mly"
( _1 )
-# 5460 "parser_cocci_menhir.ml"
+# 5898 "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_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
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__ =
-# 1784 "parser_cocci_menhir.mly"
+ let _v : 'tv_comma_list_ident_or_const_ =
+# 2249 "parser_cocci_menhir.mly"
( _1 )
-# 5484 "parser_cocci_menhir.ml"
+# 5922 "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_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
-# 1247 "parser_cocci_menhir.mly"
- ( _1 )
-# 5508 "parser_cocci_menhir.ml"
+ let _v : 'tv_comma_list_meta_ident_ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5946 "parser_cocci_menhir.ml"
in
_menhir_env.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 = dd;
- MenhirLib.EngineTypes.startp = _startpos_dd_;
- MenhirLib.EngineTypes.endp = _endpos_dd_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- 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 = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
- 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 r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
- let dd : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5550 "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)
-# 5556 "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_ =
-# 1249 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
- P.clt2mcode ":" dd, r)) )
-# 5565 "parser_cocci_menhir.ml"
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5970 "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_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
-# 1247 "parser_cocci_menhir.mly"
- ( _1 )
-# 5589 "parser_cocci_menhir.ml"
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5994 "parser_cocci_menhir.ml"
in
_menhir_env.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 = dd;
- MenhirLib.EngineTypes.startp = _startpos_dd_;
- MenhirLib.EngineTypes.endp = _endpos_dd_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- 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 = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
- 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 r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
- let dd : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5631 "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)
-# 5637 "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_ =
-# 1249 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
- P.clt2mcode ":" dd, r)) )
-# 5646 "parser_cocci_menhir.ml"
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6018 "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_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cond_expr_expr_invalid_ =
-# 1247 "parser_cocci_menhir.mly"
- ( _1 )
-# 5670 "parser_cocci_menhir.ml"
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6042 "parser_cocci_menhir.ml"
in
_menhir_env.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 = dd;
- MenhirLib.EngineTypes.startp = _startpos_dd_;
- MenhirLib.EngineTypes.endp = _endpos_dd_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- 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 = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
- 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 r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
- let dd : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5712 "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)
-# 5718 "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_ =
-# 1249 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
- P.clt2mcode ":" dd, r)) )
-# 5727 "parser_cocci_menhir.ml"
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6066 "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 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5748 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_const_vol =
-# 841 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Const _1 )
-# 5755 "parser_cocci_menhir.ml"
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6090 "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 : (
-# 54 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5776 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_const_vol =
-# 842 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Volatile _1 )
-# 5783 "parser_cocci_menhir.ml"
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6114 "parser_cocci_menhir.ml"
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_continue_struct_decl_list =
-# 540 "parser_cocci_menhir.mly"
- ( [] )
-# 5800 "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 = _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 = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_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_struct_decl_list_start = Obj.magic _2 in
- let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_continue_struct_decl_list =
-# 541 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 5830 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6138 "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_struct_decl = Obj.magic _1 in
+ let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_continue_struct_decl_list =
-# 542 "parser_cocci_menhir.mly"
- ( _1 )
-# 5854 "parser_cocci_menhir.ml"
+ let _v : 'tv_comma_list_typedef_ident_ =
+# 2249 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6162 "parser_cocci_menhir.ml"
in
_menhir_env.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 = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- 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 ty : 'tv_generic_ctype = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 5885 "parser_cocci_menhir.ml"
-
- in
-
-# 546 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 5891 "parser_cocci_menhir.ml"
+ let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
+# 1464 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6186 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.semv = dd;
+ MenhirLib.EngineTypes.startp = _startpos_dd_;
+ MenhirLib.EngineTypes.endp = _endpos_dd_;
MenhirLib.EngineTypes.next = {
- 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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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 = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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 _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 5929 "parser_cocci_menhir.ml"
-
- in
-
-# 546 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 5935 "parser_cocci_menhir.ml"
+ let r : 'tv_eexpr = Obj.magic r in
+ let dd : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6228 "parser_cocci_menhir.ml"
+ ) = Obj.magic dd in
+ let t : 'tv_option_eexpr_ = Obj.magic t in
+ let w : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6234 "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_ =
+# 1466 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
+ P.clt2mcode ":" dd, r)) )
+# 6243 "parser_cocci_menhir.ml"
in
_menhir_env.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.state = _menhir_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_nonempty_list_TMul_ = Obj.magic m in
- let t : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5962 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 5970 "parser_cocci_menhir.ml"
-
- in
-
-# 548 "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 )
-# 5978 "parser_cocci_menhir.ml"
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
+# 1464 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6267 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = dd;
+ MenhirLib.EngineTypes.startp = _startpos_dd_;
+ MenhirLib.EngineTypes.endp = _endpos_dd_;
MenhirLib.EngineTypes.next = {
- 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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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 = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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"
- (Data.clt)
-# 6010 "parser_cocci_menhir.ml"
- ) = Obj.magic t 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 cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 6020 "parser_cocci_menhir.ml"
-
- in
-
-# 548 "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 )
-# 6028 "parser_cocci_menhir.ml"
+ let r : 'tv_eexpr = Obj.magic r in
+ let dd : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6309 "parser_cocci_menhir.ml"
+ ) = Obj.magic dd in
+ let t : 'tv_option_eexpr_ = Obj.magic t in
+ let w : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6315 "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_ =
+# 1466 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
+ P.clt2mcode ":" dd, r)) )
+# 6324 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- 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_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_cond_expr_expr_invalid_ =
+# 1464 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6348 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = dd;
+ MenhirLib.EngineTypes.startp = _startpos_dd_;
+ MenhirLib.EngineTypes.endp = _endpos_dd_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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 = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
+ let r : 'tv_eexpr = Obj.magic r in
+ let dd : (
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 6059 "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"
+# 6390 "parser_cocci_menhir.ml"
+ ) = Obj.magic dd in
+ let t : 'tv_option_eexpr_ = Obj.magic t in
+ let w : (
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 6065 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_rp_ in
- let _v : 'tv_ctype =
-# 553 "parser_cocci_menhir.mly"
- ( let (mids,code) = t in
- Ast0.wrap
- (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 6074 "parser_cocci_menhir.ml"
+# 6396 "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_ =
+# 1466 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
+ P.clt2mcode ":" dd, r)) )
+# 6405 "parser_cocci_menhir.ml"
in
_menhir_env.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 = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- 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 ty : 'tv_generic_ctype_full = Obj.magic ty in
- let _startpos = _startpos_ty_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6105 "parser_cocci_menhir.ml"
-
- in
-
-# 559 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6111 "parser_cocci_menhir.ml"
+ let _1 : (
+# 120 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6426 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_const_vol =
+# 1059 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Const _1 )
+# 6433 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty : 'tv_generic_ctype_full = Obj.magic ty in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 6149 "parser_cocci_menhir.ml"
-
- in
-
-# 559 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6155 "parser_cocci_menhir.ml"
+ let _1 : (
+# 120 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6454 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_const_vol =
+# 1060 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Volatile _1 )
+# 6461 "parser_cocci_menhir.ml"
in
_menhir_env.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.state = _menhir_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_nonempty_list_TMul_ = Obj.magic m in
- let t : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6182 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6190 "parser_cocci_menhir.ml"
-
- in
-
-# 561 "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 )
-# 6198 "parser_cocci_menhir.ml"
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 2025 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6485 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 m : 'tv_nonempty_list_TMul_ = Obj.magic m in
- let t : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6230 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype_full = let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 6240 "parser_cocci_menhir.ml"
-
- in
-
-# 561 "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 )
-# 6248 "parser_cocci_menhir.ml"
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6511 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 2027 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6520 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _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 = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6279 "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"
+ let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 6285 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_rp_ in
- let _v : 'tv_ctype_full =
-# 566 "parser_cocci_menhir.mly"
- ( let (mids,code) = t in
- Ast0.wrap
- (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 6294 "parser_cocci_menhir.ml"
+# 6552 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 2030 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6562 "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_list_array_dec_ = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_d_ident =
-# 1051 "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) )
-# 6331 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- 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 =
-# 811 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 6361 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6417 "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)
-# 6423 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6428 "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)
-# 6434 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6439 "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 =
-# 814 "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)) )
-# 6452 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let t : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6473 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_decl =
-# 821 "parser_cocci_menhir.mly"
- ( let ty =
- Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])) in
- Ast0.wrap(Ast0.VoidParam(ty)) )
-# 6482 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 2033 "parser_cocci_menhir.mly"
+ ( _2 )
+# 6590 "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 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 6503 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl =
-# 825 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 6511 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 2025 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6614 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 6532 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6640 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1502 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 6539 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 2027 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6649 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 62 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 6560 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6681 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1504 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 6568 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_ =
-# 1524 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 6585 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 2030 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6691 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_decl_ =
-# 1526 "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)) )
-# 6613 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_ =
-# 1524 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 6630 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 2033 "parser_cocci_menhir.mly"
+ ( _2 )
+# 6719 "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_list_start_name_opt_decl_ = Obj.magic _1 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_name_opt_decl_ =
-# 1526 "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)) )
-# 6658 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2025 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6743 "parser_cocci_menhir.ml"
in
_menhir_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_one_dec_decl_ = Obj.magic _1 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6769 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1533 "parser_cocci_menhir.mly"
- ( [_1] )
-# 6682 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2027 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6778 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
+ let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 6714 "parser_cocci_menhir.ml"
+# 6810 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1535 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 6722 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2030 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6820 "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_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6749 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1537 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
- (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 6757 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2033 "parser_cocci_menhir.mly"
+ ( _2 )
+# 6848 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1533 "parser_cocci_menhir.mly"
- ( [_1] )
-# 6781 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 2025 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6872 "parser_cocci_menhir.ml"
in
_menhir_env.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.state = _menhir_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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6898 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 2027 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6907 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_;
};
};
} = _menhir_stack in
- let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
+ let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 6813 "parser_cocci_menhir.ml"
+# 6939 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1535 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 6821 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 2030 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6949 "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_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6848 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1537 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
- (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 6856 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 6877 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1129 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 6885 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 2033 "parser_cocci_menhir.mly"
+ ( _2 )
+# 6977 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1132 "parser_cocci_menhir.mly"
- ( List.map
- (function x ->
- Ast0.wrap
- (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
- _1 )
-# 6913 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 2025 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 7001 "parser_cocci_menhir.ml"
in
_menhir_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_statement = Obj.magic _1 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7027 "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_decl_statement =
-# 1137 "parser_cocci_menhir.mly"
- ( [_1] )
-# 6937 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 2027 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7036 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = _1;
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6968 "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"
+ let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 6974 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 7068 "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_statement =
-# 1146 "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))] )
-# 6989 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 2030 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 7078 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 7010 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1159 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 7018 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 2033 "parser_cocci_menhir.mly"
+ ( _2 )
+# 7106 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1162 "parser_cocci_menhir.mly"
- ( List.map
- (function x ->
- Ast0.wrap
- (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
- _1 )
-# 7046 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 2025 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 7130 "parser_cocci_menhir.ml"
in
_menhir_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_statement = Obj.magic _1 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7156 "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__1_ in
- let _v : 'tv_decl_statement_expr =
-# 1167 "parser_cocci_menhir.mly"
- ( [_1] )
-# 7070 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 2027 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7165 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = _1;
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7101 "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"
+ let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 7107 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 7197 "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_statement_expr =
-# 1176 "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))] )
-# 7121 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 2030 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 7207 "parser_cocci_menhir.ml"
in
_menhir_env.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.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)
-# 7147 "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 =
-# 942 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 7155 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 2033 "parser_cocci_menhir.mly"
+ ( _2 )
+# 7235 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_continue_struct_decl_list =
+# 767 "parser_cocci_menhir.mly"
+ ( [] )
+# 7252 "parser_cocci_menhir.ml"
in
_menhir_env.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"
- (Data.clt)
-# 7186 "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 )
-# 7196 "parser_cocci_menhir.ml"
-
- in
-
-# 944 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
- d )
-# 7205 "parser_cocci_menhir.ml"
+ let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_struct_decl_list =
+# 768 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 7282 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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)
-# 7241 "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 )
-# 7253 "parser_cocci_menhir.ml"
-
- in
-
-# 944 "parser_cocci_menhir.mly"
- ( List.map
- (function (id,fn) ->
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
- d )
-# 7262 "parser_cocci_menhir.ml"
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_struct_decl_list =
+# 769 "parser_cocci_menhir.mly"
+ ( _1 )
+# 7306 "parser_cocci_menhir.ml"
in
_menhir_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;
+ 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 f : 'tv_funproto = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_f_ in
- let _v : 'tv_decl_var =
-# 948 "parser_cocci_menhir.mly"
- ( [f] )
-# 7286 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7338 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7343 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 7355 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7361 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7368 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7374 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7327 "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)
-# 7333 "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 ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7406 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7411 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 7423 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7429 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
# 39 "standard.mly"
( None )
-# 7343 "parser_cocci_menhir.ml"
+# 7436 "parser_cocci_menhir.ml"
in
-# 950 "parser_cocci_menhir.mly"
- (let (id,fn) = d in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 7350 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7442 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7396 "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)
-# 7402 "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
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7474 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7479 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 7491 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 7414 "parser_cocci_menhir.ml"
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7497 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7504 "parser_cocci_menhir.ml"
in
-# 950 "parser_cocci_menhir.mly"
- (let (id,fn) = d in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 7421 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7510 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7452 "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 p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 7542 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7547 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 7560 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7462 "parser_cocci_menhir.ml"
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7566 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
# 39 "standard.mly"
( None )
-# 7469 "parser_cocci_menhir.ml"
+# 7573 "parser_cocci_menhir.ml"
in
-# 955 "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 )
-# 7480 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7579 "parser_cocci_menhir.ml"
in
_menhir_env.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 = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7516 "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
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 7620 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 7625 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7630 "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
+
+# 640 "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*))) )
+# 7649 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 7528 "parser_cocci_menhir.ml"
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7655 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
# 39 "standard.mly"
( None )
-# 7535 "parser_cocci_menhir.ml"
+# 7662 "parser_cocci_menhir.ml"
in
-# 955 "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 )
-# 7546 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7668 "parser_cocci_menhir.ml"
in
_menhir_env.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.next = {
- 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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7582 "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 =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7700 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7705 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 7717 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7593 "parser_cocci_menhir.ml"
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7723 "parser_cocci_menhir.ml"
in
- let s =
- let x = x0 in
+ let cv =
-# 41 "standard.mly"
- ( Some x )
-# 7601 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 7730 "parser_cocci_menhir.ml"
in
-# 955 "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 )
-# 7612 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7736 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7653 "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
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7773 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7778 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7783 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 7800 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 7666 "parser_cocci_menhir.ml"
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7806 "parser_cocci_menhir.ml"
in
- let s =
- let x = x0 in
+ let cv =
-# 41 "standard.mly"
- ( Some x )
-# 7674 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 7813 "parser_cocci_menhir.ml"
in
-# 955 "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 )
-# 7685 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7819 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7726 "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)
-# 7732 "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 )
-# 7742 "parser_cocci_menhir.ml"
-
- in
- let s =
-
-# 39 "standard.mly"
- ( None )
-# 7749 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7851 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7856 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 7868 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7874 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7881 "parser_cocci_menhir.ml"
in
-# 963 "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))] )
-# 7759 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7887 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7805 "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)
-# 7811 "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
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7919 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7924 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 7936 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 7823 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7942 "parser_cocci_menhir.ml"
in
- let s =
+ let cv =
# 39 "standard.mly"
( None )
-# 7830 "parser_cocci_menhir.ml"
+# 7949 "parser_cocci_menhir.ml"
in
-# 963 "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))] )
-# 7840 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7955 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = 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.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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7886 "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)
-# 7892 "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 =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7987 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7992 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8004 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 7903 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8010 "parser_cocci_menhir.ml"
in
- let s =
- let x = x0 in
+ let cv =
-# 41 "standard.mly"
- ( Some x )
-# 7911 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 8017 "parser_cocci_menhir.ml"
in
-# 963 "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))] )
-# 7921 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8023 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7972 "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)
-# 7978 "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
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 8055 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8060 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8073 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 7991 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8079 "parser_cocci_menhir.ml"
in
- let s =
- let x = x0 in
+ let cv =
-# 41 "standard.mly"
- ( Some x )
-# 7999 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 8086 "parser_cocci_menhir.ml"
in
-# 963 "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))] )
-# 8009 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8092 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = 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.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
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 = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8070 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8075 "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)
-# 8081 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8086 "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)
-# 8092 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8097 "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 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 8133 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 8138 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8143 "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
+
+# 640 "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*))) )
+# 8162 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8168 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
# 39 "standard.mly"
( None )
-# 8106 "parser_cocci_menhir.ml"
+# 8175 "parser_cocci_menhir.ml"
in
-# 973 "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))] )
-# 8118 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8181 "parser_cocci_menhir.ml"
in
_menhir_env.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 = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8184 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8189 "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)
-# 8195 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8200 "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)
-# 8206 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8211 "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_decl_var = let s =
- let x = x0 in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8213 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8218 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8230 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 8222 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8236 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8243 "parser_cocci_menhir.ml"
in
-# 973 "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))] )
-# 8234 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8249 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8275 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8280 "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)
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
# 8286 "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 =
-# 981 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
- P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 8295 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8291 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8296 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8313 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8319 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8326 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8332 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8366 "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)
-# 8372 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8377 "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)
-# 8383 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8388 "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)
-# 8394 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8399 "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 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8359 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8370 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 8376 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
# 39 "standard.mly"
( None )
-# 8408 "parser_cocci_menhir.ml"
+# 8383 "parser_cocci_menhir.ml"
in
-# 987 "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))])
-# 8420 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8389 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8496 "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)
-# 8502 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8507 "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)
-# 8513 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8518 "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)
-# 8524 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8529 "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_decl_var = let s =
- let x = x0 in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8416 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8427 "parser_cocci_menhir.ml"
+
+ in
-# 41 "standard.mly"
- ( Some x )
-# 8540 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 8433 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8440 "parser_cocci_menhir.ml"
in
-# 987 "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))])
-# 8552 "parser_cocci_menhir.ml"
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8446 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8588 "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 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 8595 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var =
-# 995 "parser_cocci_menhir.mly"
- ( let s = P.clt2mcode "typedef" s in
- [Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))] )
-# 8603 "parser_cocci_menhir.ml"
+# 8473 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8484 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 8490 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8497 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8503 "parser_cocci_menhir.ml"
in
_menhir_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_define_param_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list =
-# 703 "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)) )
-# 8631 "parser_cocci_menhir.ml"
- in
+ 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 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 8530 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8542 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 8548 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8555 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8561 "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.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_define_param_list = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list_option =
-# 727 "parser_cocci_menhir.mly"
- ( _1 )
-# 8655 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 8597 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 8602 "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
+
+# 640 "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*))) )
+# 8620 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 8626 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8633 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8639 "parser_cocci_menhir.ml"
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_define_param_list_option =
-# 728 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 8672 "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 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8666 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8677 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 8683 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8690 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8696 "parser_cocci_menhir.ml"
in
_menhir_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_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list_start =
-# 710 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.DParam _1)] )
-# 8696 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8728 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8733 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8749 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 8755 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8762 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8768 "parser_cocci_menhir.ml"
in
_menhir_env.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_define_param_list_start = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8728 "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 =
-# 712 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DParam _1)::
- Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
-# 8737 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8795 "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
+
+# 657 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 8806 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 8812 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8819 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8825 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
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)
-# 8764 "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 =
-# 715 "parser_cocci_menhir.mly"
- ( (P.mkdpdots "..." d)::
- (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
-# 8772 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8852 "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
+
+# 659 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 8863 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 8869 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8876 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8882 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 81 "parser_cocci_menhir.mly"
- (Data.clt * token)
-# 8793 "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)) )
-# 8815 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8909 "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
+
+# 661 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 8920 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 8926 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8933 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8939 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8846 "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)
-# 8852 "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) = _1 in
- let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
- let lp =
- P.clt2mcode "(" (arity,line,lline,parenoff,0,[],[],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)) )
-# 8876 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8966 "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
+
+# 663 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 8977 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 8983 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 8990 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 8996 "parser_cocci_menhir.ml"
in
_menhir_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_pnrule = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dep =
-# 221 "parser_cocci_menhir.mly"
- ( _1 )
-# 8900 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9023 "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
+
+# 665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 9034 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9040 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9047 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9053 "parser_cocci_menhir.ml"
in
_menhir_env.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.next = {
- MenhirLib.EngineTypes.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_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 =
-# 222 "parser_cocci_menhir.mly"
- ( Ast.AndDep(_1, _3) )
-# 8934 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9080 "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
+
+# 667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 9091 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9097 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9104 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9110 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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_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 =
-# 223 "parser_cocci_menhir.mly"
- ( Ast.OrDep (_1, _3) )
-# 8968 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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 =
-# 217 "parser_cocci_menhir.mly"
- ( Ast.NoDep )
-# 8985 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9143 "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
+
+# 669 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 9156 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9162 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9169 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9175 "parser_cocci_menhir.ml"
in
_menhir_env.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 = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
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 = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _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 =
-# 218 "parser_cocci_menhir.mly"
- ( parents )
-# 9017 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9217 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9223 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9228 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 9246 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 9255 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9261 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9268 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9274 "parser_cocci_menhir.ml"
in
_menhir_env.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 = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_ident = Obj.magic _2 in
- let _1 : (
-# 107 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 9044 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_designator =
-# 1093 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 9051 "parser_cocci_menhir.ml"
+# 9321 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9327 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9333 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9354 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 9363 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9369 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9376 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9382 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9082 "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)
-# 9088 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_designator =
-# 1095 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 9095 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_type_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
+
+# 676 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 9424 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9430 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9437 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9443 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _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 _5 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9136 "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)
-# 9142 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 102 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 9148 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_designator =
-# 1097 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
- _4,P.clt2mcode "]" _5) )
-# 9156 "parser_cocci_menhir.ml"
+# 9485 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9491 "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 )
+# 9510 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 9520 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9526 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9533 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9539 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9586 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9592 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_type_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 )
+# 9615 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 9625 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9631 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9638 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9644 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = 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_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dexpr =
-# 1196 "parser_cocci_menhir.mly"
- ( _1 )
-# 9180 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9686 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9692 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 9697 "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
+
+# 685 "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)) )
+# 9716 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9722 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9729 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9735 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
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 =
-# 236 "parser_cocci_menhir.mly"
- ( List.map P.id2name _2 )
-# 9208 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 9762 "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
+
+# 689 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 9773 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 9779 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9786 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9792 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9229 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dot_expressions =
-# 1205 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 9236 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9829 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9834 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 9847 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9853 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9861 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9867 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_nest_expressions = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dot_expressions =
-# 1206 "parser_cocci_menhir.mly"
- ( _1 )
-# 9260 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9904 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9909 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 9922 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9928 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9936 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9942 "parser_cocci_menhir.ml"
in
_menhir_env.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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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 = 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 d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9286 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let c : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9291 "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_ =
-# 720 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
-# 9299 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9979 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9984 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 9997 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10003 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10011 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10017 "parser_cocci_menhir.ml"
in
_menhir_env.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.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_ident = Obj.magic _2 in
- let _1 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9326 "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_ =
-# 723 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
- Ast0.wrap(Ast0.DParam _2)] )
-# 9335 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 10054 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10059 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 10073 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10079 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10087 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10093 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9356 "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_ =
-# 1794 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 9363 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 10139 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 10144 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10149 "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
+
+# 640 "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*))) )
+# 10169 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10175 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10183 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10189 "parser_cocci_menhir.ml"
in
_menhir_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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ 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)
-# 9402 "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_ =
-# 1795 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 9409 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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)
-# 9430 "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_ =
-# 1794 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 9437 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10226 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10231 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 10244 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10250 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10258 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10264 "parser_cocci_menhir.ml"
in
_menhir_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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- 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.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
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)
-# 9476 "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_ =
-# 1795 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 9483 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10306 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10311 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10316 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 10334 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10340 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10348 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10354 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 d : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9504 "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_ =
-# 1794 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 9511 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10391 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10396 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 10409 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10415 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10423 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 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.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 = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ 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)
-# 9550 "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_ =
-# 1795 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 9557 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10466 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10471 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 10484 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10490 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10498 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10504 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr =
-# 1194 "parser_cocci_menhir.mly"
- ( _1 )
-# 9581 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 =
-# 1738 "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)) )
-# 9614 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10541 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10546 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 10559 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10565 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10573 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10579 "parser_cocci_menhir.ml"
in
_menhir_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_list = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list_option =
-# 1777 "parser_cocci_menhir.mly"
- ( _1 )
-# 9638 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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 =
-# 1778 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 9655 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 10616 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10621 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 10635 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10641 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10649 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10655 "parser_cocci_menhir.ml"
in
_menhir_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__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 _1 : 'tv_aexpr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list_start =
-# 1765 "parser_cocci_menhir.mly"
- ( [_1] )
-# 9679 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 10701 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 10706 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10711 "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
+
+# 640 "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*))) )
+# 10731 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10737 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10745 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10751 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 : 'tv_eexpr_list_start = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 9711 "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 =
-# 1767 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
-# 9719 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10788 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10793 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 10806 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10812 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10820 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10826 "parser_cocci_menhir.ml"
in
_menhir_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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = cl;
- MenhirLib.EngineTypes.startp = _startpos_cl_;
- MenhirLib.EngineTypes.endp = _endpos_cl_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
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 = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let cl : 'tv_comma_list_dexpr_ = Obj.magic cl in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_error_words =
-# 1564 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.ERRORWORDS(cl))] )
-# 9763 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10868 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10873 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10878 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 10896 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10902 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10910 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10916 "parser_cocci_menhir.ml"
in
_menhir_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;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 239 "parser_cocci_menhir.mly"
- ( Ast.Exists )
-# 9785 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10948 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 10960 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 10966 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 10974 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 10980 "parser_cocci_menhir.ml"
in
_menhir_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.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 240 "parser_cocci_menhir.mly"
- ( Ast.Forall )
-# 9807 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11012 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 11024 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 11030 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11038 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11044 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_exists =
-# 241 "parser_cocci_menhir.mly"
- ( Ast.ReverseForall )
-# 9833 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11076 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 11088 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 11094 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11102 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11108 "parser_cocci_menhir.ml"
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 =
-# 242 "parser_cocci_menhir.mly"
- ( Ast.Undetermined )
-# 9850 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 11140 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 11153 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 11159 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11167 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11173 "parser_cocci_menhir.ml"
in
_menhir_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__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 _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_expr =
-# 1192 "parser_cocci_menhir.mly"
- ( _1 )
-# 9874 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 11214 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 11219 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let p0 = p00 in
+ let r0 = r00 in
+ let ty =
+ let p = p0 in
+ let r = r0 in
+
+# 640 "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*))) )
+# 11238 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 11244 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11252 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11258 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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 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_ =
-# 1374 "parser_cocci_menhir.mly"
- ( r )
-# 9898 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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 =
-# 212 "parser_cocci_menhir.mly"
- ( () )
-# 9915 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11290 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 11302 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 11308 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11316 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11322 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 = 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 parent : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 9940 "parser_cocci_menhir.ml"
- ) = Obj.magic parent in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_parent_ in
- let _v : 'tv_extends =
-# 214 "parser_cocci_menhir.mly"
- ( !Data.install_bindings (parent) )
-# 9947 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11359 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11364 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 11381 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 11387 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11395 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11401 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 83 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 9973 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 83 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 9978 "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))] )
-# 9987 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11433 "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
+
+# 657 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 11445 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11451 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11459 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11465 "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 = 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 ty : 'tv_generic_ctype = Obj.magic ty in
- let _startpos = _startpos_ty_ in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11497 "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_fn_ctype =
-# 572 "parser_cocci_menhir.mly"
- ( P.pointerify ty m )
-# 10017 "parser_cocci_menhir.ml"
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 659 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 11509 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11515 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11523 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11529 "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 = 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"
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 10044 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
+# 11561 "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_fn_ctype =
-# 574 "parser_cocci_menhir.mly"
- ( P.pointerify
- (Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" t])))
- m )
-# 10053 "parser_cocci_menhir.ml"
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 661 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 11573 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11579 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11587 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11593 "parser_cocci_menhir.ml"
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 =
-# 766 "parser_cocci_menhir.mly"
- ( [] )
-# 10070 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11625 "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
+
+# 663 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 11637 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11643 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11651 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11657 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 =
-# 768 "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 )
-# 10104 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11689 "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
+
+# 665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 11701 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11707 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11715 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11721 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 = 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_fninfo_nt = Obj.magic r in
- let t : 'tv_fn_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_fninfo =
-# 773 "parser_cocci_menhir.mly"
- ( (Ast0.FType(t))::r )
-# 10134 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11753 "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
+
+# 667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 11765 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11771 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11779 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11785 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : (
-# 53 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 10161 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 775 "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 )
-# 10171 "parser_cocci_menhir.ml"
+# 11823 "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
+
+# 669 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 11837 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11843 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11851 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11857 "parser_cocci_menhir.ml"
in
_menhir_env.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 = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : (
-# 55 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10198 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 780 "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 )
-# 10208 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11904 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11910 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11915 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 11934 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 11943 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 11949 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11957 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11963 "parser_cocci_menhir.ml"
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_nt =
-# 786 "parser_cocci_menhir.mly"
- ( [] )
-# 10225 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12015 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12021 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12027 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12049 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 12058 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 12064 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12072 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12078 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 _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 =
-# 788 "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 )
-# 10259 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_type_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
+
+# 676 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 12126 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 12132 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12140 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12146 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 _2 : 'tv_fninfo_nt = Obj.magic _2 in
- let _1 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10286 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 794 "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 )
-# 10296 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12193 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12199 "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 )
+# 12219 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 12229 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 12235 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12243 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12249 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 _2 : 'tv_fninfo_nt = Obj.magic _2 in
- let _1 : (
-# 55 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10323 "parser_cocci_menhir.ml"
- ) = 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.FAttr(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate init")
- with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
-# 10333 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12301 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12307 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_type_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 )
+# 12331 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 12341 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 12347 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12355 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12361 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fun_after_dots =
-# 1686 "parser_cocci_menhir.mly"
- ([])
-# 10350 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12408 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12414 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 12419 "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
+
+# 685 "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)) )
+# 12439 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 12445 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12453 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12459 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.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 = 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_fun_after_exp = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1687 "parser_cocci_menhir.mly"
- (_2)
-# 10378 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 12491 "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
+
+# 689 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 12503 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 12509 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12517 "parser_cocci_menhir.ml"
+
+ in
+
+# 702 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12523 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 =
-# 1688 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 10408 "parser_cocci_menhir.ml"
+ let r : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12544 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 704 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 12551 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 =
-# 1689 "parser_cocci_menhir.mly"
- (_1@_2)
-# 10438 "parser_cocci_menhir.ml"
+ let r : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12572 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 706 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 12579 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fun_after_dots_or =
-# 1696 "parser_cocci_menhir.mly"
- ([])
-# 10455 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12610 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12616 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_ctype =
+# 708 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 12625 "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_fun_after_exp_or = Obj.magic _2 in
+ let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots_or =
-# 1697 "parser_cocci_menhir.mly"
- (_2)
-# 10483 "parser_cocci_menhir.ml"
+ let _v : 'tv_d_ident =
+# 1280 "parser_cocci_menhir.mly"
+ ( (_1, function t -> P.arrayify t _2) )
+# 12655 "parser_cocci_menhir.ml"
in
_menhir_env.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 = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_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 =
-# 1698 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 10513 "parser_cocci_menhir.ml"
+ let a : 'tv_list_array_dec_ = Obj.magic a in
+ let i : 'tv_disj_ident = Obj.magic i in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_a_ in
+ let _v : 'tv_decl =
+# 1032 "parser_cocci_menhir.mly"
+ ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) )
+# 12691 "parser_cocci_menhir.ml"
in
_menhir_env.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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ 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 =
-# 1699 "parser_cocci_menhir.mly"
- (_1@_2)
-# 10543 "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 =
+# 1033 "parser_cocci_menhir.mly"
+ ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
+# 12715 "parser_cocci_menhir.ml"
in
_menhir_env.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 = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = 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 _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 =
-# 1692 "parser_cocci_menhir.mly"
- (_1::_2)
-# 10573 "parser_cocci_menhir.ml"
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12771 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12777 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12782 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let i : 'tv_disj_ident = Obj.magic i in
+ let s : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12788 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12793 "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 =
+# 1036 "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)) )
+# 12806 "parser_cocci_menhir.ml"
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 =
-# 1702 "parser_cocci_menhir.mly"
- ([])
-# 10590 "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 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 12827 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl =
+# 1043 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
+# 12835 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 12856 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_exp_or =
-# 1703 "parser_cocci_menhir.mly"
- (_1::_2)
-# 10620 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl =
+# 1045 "parser_cocci_menhir.mly"
+ ( tmeta_to_param _1 )
+# 12863 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fun_after_stm =
-# 1681 "parser_cocci_menhir.mly"
- ([])
-# 10637 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 12884 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_ident =
+# 1949 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 12891 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = Obj.repr _v;
MenhirLib.EngineTypes.startp = _startpos;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _1 : (
+# 130 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 12912 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1682 "parser_cocci_menhir.mly"
- (_1::_2)
-# 10667 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_ident =
+# 1951 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) )
+# 12920 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1683 "parser_cocci_menhir.mly"
- (_1@_2)
-# 10697 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_list_decl_ =
+# 1973 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+ (fun c -> Ast0.PComma c))) )
+# 12948 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_fun_after_stm = Obj.magic _1 in
+ let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_fun_start =
-# 1678 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 10721 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_list_name_opt_decl_ =
+# 1973 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+ (fun c -> Ast0.PComma c))) )
+# 12976 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 12997 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1482 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 10745 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_statement =
+# 1343 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 13005 "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 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 10766 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_decl_var = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1484 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 10774 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_statement =
+# 1346 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+ _1 )
+# 13033 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : 'tv_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1351 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 13057 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13088 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 10795 "parser_cocci_menhir.ml"
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13094 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1487 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 10803 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_decl_statement =
+# 1360 "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))] )
+# 13109 "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 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 10824 "parser_cocci_menhir.ml"
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 13130 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1490 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 10833 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_statement_expr =
+# 1373 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 13138 "parser_cocci_menhir.ml"
in
_menhir_env.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.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.semv = _1;
+ 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)
-# 10893 "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)
-# 10899 "parser_cocci_menhir.ml"
- ) = Obj.magic lb in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10904 "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)
-# 10910 "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 =
-# 758 "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)) )
-# 10924 "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 =
+# 1376 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+ _1 )
+# 13166 "parser_cocci_menhir.ml"
in
_menhir_env.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.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.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 =
+# 1381 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 13190 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 pt : (
-# 107 "parser_cocci_menhir.mly"
+ let _3 : (
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 10970 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 13221 "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 : (
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 10975 "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"
+# 13227 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_decl_statement_expr =
+# 1390 "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))] )
+# 13241 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 10981 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
+# 13267 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv 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 =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var =
+# 1166 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
+# 13275 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 13296 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_var =
+# 1167 "parser_cocci_menhir.mly"
+ ( [P.meta_decl _1] )
+# 13303 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13334 "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 )
-# 10991 "parser_cocci_menhir.ml"
+# 13344 "parser_cocci_menhir.ml"
in
-# 735 "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)) )
-# 11003 "parser_cocci_menhir.ml"
+# 1169 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
+ d )
+# 13353 "parser_cocci_menhir.ml"
in
_menhir_env.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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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.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)
-# 11054 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11059 "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"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 11065 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
+# 13389 "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_pt_ in
- let _v : 'tv_funproto = let s =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 11077 "parser_cocci_menhir.ml"
+# 13401 "parser_cocci_menhir.ml"
in
-# 735 "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)) )
-# 11089 "parser_cocci_menhir.ml"
+# 1169 "parser_cocci_menhir.mly"
+ ( List.map
+ (function (id,fn) ->
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
+ d )
+# 13410 "parser_cocci_menhir.ml"
in
_menhir_env.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.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.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 =
+# 1173 "parser_cocci_menhir.mly"
+ ( [f] )
+# 13434 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
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.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)
-# 11135 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 11140 "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"
+# 13475 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 11146 "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)
-# 11152 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
+# 13481 "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_pt_ in
- let _v : 'tv_funproto = let s =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
# 39 "standard.mly"
( None )
-# 11160 "parser_cocci_menhir.ml"
+# 13491 "parser_cocci_menhir.ml"
in
-# 744 "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)) )
-# 11173 "parser_cocci_menhir.ml"
+# 1175 "parser_cocci_menhir.mly"
+ (let (id,fn) = d in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 13498 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 pt : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11224 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 11229 "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"
+# 13544 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 11235 "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)
-# 11241 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
+# 13550 "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_pt_ in
- let _v : 'tv_funproto = let s =
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 11251 "parser_cocci_menhir.ml"
+# 13562 "parser_cocci_menhir.ml"
in
-# 744 "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)) )
-# 11264 "parser_cocci_menhir.ml"
+# 1175 "parser_cocci_menhir.mly"
+ (let (id,fn) = d in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 13569 "parser_cocci_menhir.ml"
in
_menhir_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.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let r0 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11285 "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
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13600 "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 )
+# 13610 "parser_cocci_menhir.ml"
+
+ in
+ let s =
-# 580 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11294 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 13617 "parser_cocci_menhir.ml"
in
-# 504 "parser_cocci_menhir.mly"
- ( q None )
-# 11300 "parser_cocci_menhir.ml"
+# 1180 "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 )
+# 13628 "parser_cocci_menhir.ml"
in
_menhir_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.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 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
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13664 "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
-# 582 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11330 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 13676 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 13683 "parser_cocci_menhir.ml"
in
-# 504 "parser_cocci_menhir.mly"
- ( q None )
-# 11336 "parser_cocci_menhir.ml"
+# 1180 "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 )
+# 13694 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 _1 : 'tv_generic_ctype_full = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_generic_ctype =
-# 505 "parser_cocci_menhir.mly"
- ( _1 )
-# 11360 "parser_cocci_menhir.ml"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13730 "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 )
+# 13741 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 13749 "parser_cocci_menhir.ml"
+
+ in
+
+# 1180 "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 )
+# 13760 "parser_cocci_menhir.ml"
in
_menhir_env.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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11386 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11391 "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
-
-# 580 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11402 "parser_cocci_menhir.ml"
-
- in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13801 "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
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11408 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 13814 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 13822 "parser_cocci_menhir.ml"
in
-# 457 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
-# 11414 "parser_cocci_menhir.ml"
+# 1180 "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 )
+# 13833 "parser_cocci_menhir.ml"
in
_menhir_env.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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11440 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11445 "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
-
-# 582 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11456 "parser_cocci_menhir.ml"
-
- in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13874 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13880 "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 )
+# 13890 "parser_cocci_menhir.ml"
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11462 "parser_cocci_menhir.ml"
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 13897 "parser_cocci_menhir.ml"
in
-# 457 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
-# 11468 "parser_cocci_menhir.ml"
+# 1188 "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))] )
+# 13907 "parser_cocci_menhir.ml"
in
_menhir_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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11489 "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 =
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13953 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 13959 "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
-# 586 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 11497 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 13971 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 13978 "parser_cocci_menhir.ml"
in
-# 457 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty]))) )
-# 11503 "parser_cocci_menhir.ml"
+# 1188 "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))] )
+# 13988 "parser_cocci_menhir.ml"
in
_menhir_env.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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11529 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11534 "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
-
-# 580 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11545 "parser_cocci_menhir.ml"
-
- in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14034 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14040 "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 )
+# 14051 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11551 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 14059 "parser_cocci_menhir.ml"
in
-# 459 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
-# 11557 "parser_cocci_menhir.ml"
+# 1188 "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))] )
+# 14069 "parser_cocci_menhir.ml"
in
_menhir_env.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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11583 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11588 "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
-
-# 582 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11599 "parser_cocci_menhir.ml"
-
- in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14120 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14126 "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 )
+# 14139 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11605 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 14147 "parser_cocci_menhir.ml"
in
-# 459 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
-# 11611 "parser_cocci_menhir.ml"
+# 1188 "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))] )
+# 14157 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11632 "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 =
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14218 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14223 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14229 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14234 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14240 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14245 "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 =
-# 586 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 11640 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 14254 "parser_cocci_menhir.ml"
in
-# 459 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty]))))
-# 11646 "parser_cocci_menhir.ml"
+# 1198 "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))] )
+# 14266 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
+ 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 = 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)
-# 11672 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11677 "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
-
-# 580 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11688 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11694 "parser_cocci_menhir.ml"
-
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14332 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14337 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14343 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14348 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14354 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14359 "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 )
+# 14370 "parser_cocci_menhir.ml"
+
in
-# 461 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
-# 11700 "parser_cocci_menhir.ml"
+# 1198 "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))] )
+# 14382 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
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 = _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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11726 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11731 "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
-
-# 582 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11742 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11748 "parser_cocci_menhir.ml"
-
- in
-
-# 461 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
-# 11754 "parser_cocci_menhir.ml"
+ let _5 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14423 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14428 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14434 "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 =
+# 1206 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
+# 14443 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11775 "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 =
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14514 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14520 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14525 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14531 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14536 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14542 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14547 "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 =
-# 586 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 11783 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 14556 "parser_cocci_menhir.ml"
in
-# 461 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty]))) )
-# 11789 "parser_cocci_menhir.ml"
+# 1212 "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))])
+# 14568 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 11810 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_generic_ctype_full =
-# 463 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" t])) )
-# 11817 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 t : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11838 "parser_cocci_menhir.ml"
- ) = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_generic_ctype_full =
-# 465 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" t])) )
-# 11845 "parser_cocci_menhir.ml"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14644 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14650 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14655 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14661 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14666 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14672 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14677 "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 )
+# 14688 "parser_cocci_menhir.ml"
+
+ in
+
+# 1212 "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))])
+# 14700 "parser_cocci_menhir.ml"
in
_menhir_env.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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
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 = 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 ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11871 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14736 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let s : (
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 11876 "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
-
-# 580 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 11887 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11893 "parser_cocci_menhir.ml"
-
- in
-
-# 467 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
-# 11899 "parser_cocci_menhir.ml"
+# 14743 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var =
+# 1220 "parser_cocci_menhir.mly"
+ ( let s = P.clt2mcode "typedef" s in
+ List.map
+ (function id ->
+ Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
+ id )
+# 14754 "parser_cocci_menhir.ml"
in
_menhir_env.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)
-# 11925 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11930 "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
-
-# 582 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 11941 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 11947 "parser_cocci_menhir.ml"
-
- in
-
-# 467 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
-# 11953 "parser_cocci_menhir.ml"
+ let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_define_param_list_option =
+# 955 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
+ (fun c -> Ast0.DPComma c))) )
+# 14782 "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)
-# 11974 "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 =
-
-# 586 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 11982 "parser_cocci_menhir.ml"
-
- in
-
-# 467 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty]))) )
-# 11988 "parser_cocci_menhir.ml"
+ let _1 : (
+# 150 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 14803 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_defineop =
+# 904 "parser_cocci_menhir.mly"
+ ( let (clt,ident) = _1 in
+ let aft = P.get_aft clt in (* move stuff after the define to the ident *)
+ function body ->
+ Ast0.wrap
+ (Ast0.Define
+ (P.clt2mcode "#define" (P.drop_aft clt),
+ (match ident with
+ TMetaId((nm,constraints,seed,pure,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap
+ (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
+ | TIdent((nm,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")),
+ Ast0.wrap Ast0.NoParams,
+ body)) )
+# 14829 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty;
- MenhirLib.EngineTypes.startp = _startpos_ty_;
- MenhirLib.EngineTypes.endp = _endpos_ty_;
+ MenhirLib.EngineTypes.semv = _2;
+ 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let ty1 : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12019 "parser_cocci_menhir.ml"
- ) = Obj.magic ty1 in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12024 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12029 "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
-
-# 580 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 12040 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12046 "parser_cocci_menhir.ml"
-
- in
-
-# 469 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
-# 12055 "parser_cocci_menhir.ml"
+ let _3 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14860 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_define_param_list_option = Obj.magic _2 in
+ let _1 : (
+# 151 "parser_cocci_menhir.mly"
+ (Data.clt * token * int * int)
+# 14866 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_defineop =
+# 925 "parser_cocci_menhir.mly"
+ ( let (clt,ident,parenoff,parencol) = _1 in
+ let aft = P.get_aft clt in (* move stuff after the define to the ( *)
+ (* clt is the start of the #define itself *)
+ let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
+ let lp =
+ P.clt2mcode "("
+ (arity,line,lline,parenoff,parencol,[],[],[]) in
+ function body ->
+ Ast0.wrap
+ (Ast0.Define
+ (P.clt2mcode "#define" (P.drop_aft clt),
+ (match ident with
+ TMetaId((nm,constraints,seed,pure,clt)) ->
+ Ast0.wrap
+ (Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
+ | TIdent((nm,clt)) ->
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")),
+ (let clt = P.set_aft aft _3 in
+ Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" clt))),body)) )
+# 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 {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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 =
+# 296 "parser_cocci_menhir.mly"
+ ( _1 )
+# 14919 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let ty1 : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12086 "parser_cocci_menhir.ml"
- ) = Obj.magic ty1 in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12091 "parser_cocci_menhir.ml"
- ) = Obj.magic ty in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12096 "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
-
-# 582 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 12107 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12113 "parser_cocci_menhir.ml"
-
- in
-
-# 469 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
-# 12122 "parser_cocci_menhir.ml"
+ let _3 : 'tv_dep = Obj.magic _3 in
+ let _1 : 'tv_dep = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_dep =
+# 297 "parser_cocci_menhir.mly"
+ ( Ast.AndDep(_1, _3) )
+# 14953 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let ty1 : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12148 "parser_cocci_menhir.ml"
- ) = Obj.magic ty1 in
- let ty : (
-# 49 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12153 "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 =
-
-# 586 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 12161 "parser_cocci_menhir.ml"
-
- in
-
-# 469 "parser_cocci_menhir.mly"
- ( q (Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty;P.clt2mcode "long" ty1]))) )
-# 12170 "parser_cocci_menhir.ml"
+ let _3 : 'tv_dep = Obj.magic _3 in
+ let _1 : 'tv_dep = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_dep =
+# 298 "parser_cocci_menhir.mly"
+ ( Ast.OrDep (_1, _3) )
+# 14987 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 292 "parser_cocci_menhir.mly"
+ ( Ast.NoDep )
+# 15004 "parser_cocci_menhir.ml"
in
_menhir_env.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 = parents;
+ MenhirLib.EngineTypes.startp = _startpos_parents_;
+ MenhirLib.EngineTypes.endp = _endpos_parents_;
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.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 i : 'tv_ident = Obj.magic i in
- let s : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12197 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_generic_ctype_full =
-# 474 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 12204 "parser_cocci_menhir.ml"
+ let parents : 'tv_dep = Obj.magic parents in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_parents_ in
+ let _v : 'tv_depends =
+# 293 "parser_cocci_menhir.mly"
+ ( parents )
+# 15036 "parser_cocci_menhir.ml"
in
_menhir_env.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 = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let 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 =
-# 476 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 12234 "parser_cocci_menhir.ml"
+ let _2 : 'tv_disj_ident = Obj.magic _2 in
+ let _1 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15063 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_designator =
+# 1329 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
+# 15070 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ 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.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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let r : (
-# 101 "parser_cocci_menhir.mly"
+ let _3 : (
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 12270 "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"
+# 15101 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 12276 "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 )
-# 12285 "parser_cocci_menhir.ml"
-
- in
-
-# 479 "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)) )
-# 12295 "parser_cocci_menhir.ml"
+# 15107 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_designator =
+# 1331 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
+# 15114 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = _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 = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let r : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12336 "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"
+ let _5 : (
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 12342 "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 )
-# 12353 "parser_cocci_menhir.ml"
-
- in
-
-# 479 "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)) )
-# 12363 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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.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"
+# 15155 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : 'tv_eexpr = Obj.magic _4 in
+ let _3 : (
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 12399 "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"
+# 15161 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 171 "parser_cocci_menhir.mly"
(Data.clt)
-# 12405 "parser_cocci_menhir.ml"
- ) = Obj.magic l in
- let s : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12410 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_generic_ctype_full =
-# 485 "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)) )
-# 12421 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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 = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- 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;
- };
- };
- } = _menhir_stack in
- let p : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12451 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let r : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 12456 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let _startpos = _startpos_r_ in
- let _endpos = _endpos_p_ in
- let _v : 'tv_generic_ctype_full =
-# 491 "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*))) )
-# 12468 "parser_cocci_menhir.ml"
+# 15167 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_designator =
+# 1333 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
+ _4,P.clt2mcode "]" _5) )
+# 15175 "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 = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let p : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12489 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let _startpos = _startpos_p_ in
- let _endpos = _endpos_p_ in
- let _v : 'tv_generic_ctype_full =
-# 498 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 12496 "parser_cocci_menhir.ml"
+ let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dexpr =
+# 1412 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15199 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _2;
+ 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.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let p : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12522 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12527 "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
-
-# 580 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,x)) )
-# 12538 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12544 "parser_cocci_menhir.ml"
-
- in
-
-# 500 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
-# 12551 "parser_cocci_menhir.ml"
+ let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_disable =
+# 311 "parser_cocci_menhir.mly"
+ ( List.map P.id2name _2 )
+# 15227 "parser_cocci_menhir.ml"
in
_menhir_env.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;
- };
+ MenhirLib.EngineTypes.state = _menhir_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 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12577 "parser_cocci_menhir.ml"
- ) = Obj.magic p in
- let r00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12582 "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
-
-# 582 "parser_cocci_menhir.mly"
- ( function x -> Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,x)) )
-# 12593 "parser_cocci_menhir.ml"
-
- in
-
-# 585 "parser_cocci_menhir.mly"
- ( function x -> s (Some x) )
-# 12599 "parser_cocci_menhir.ml"
-
- in
-
-# 500 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- q (Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure))) )
-# 12606 "parser_cocci_menhir.ml"
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_disj_ident =
+# 1937 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15251 "parser_cocci_menhir.ml"
in
_menhir_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 = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 p : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 12627 "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 =
-
-# 586 "parser_cocci_menhir.mly"
- ( function x -> x )
-# 12635 "parser_cocci_menhir.ml"
-
- in
-
-# 500 "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 rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15282 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15288 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_disj_ident =
+# 1939 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 15297 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _1 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15318 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1495 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 12666 "parser_cocci_menhir.ml"
+ let _v : 'tv_dot_expressions =
+# 1421 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
+# 15325 "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 : (
-# 61 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 12687 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_nest_expressions = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1497 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 12695 "parser_cocci_menhir.ml"
+ let _v : 'tv_dot_expressions =
+# 1422 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15349 "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 = 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 i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_ident_or_const =
-# 1449 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 12719 "parser_cocci_menhir.ml"
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dparam =
+# 951 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DParam _1) )
+# 15373 "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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12740 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident_or_const =
-# 1451 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 12748 "parser_cocci_menhir.ml"
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15394 "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_ =
+# 2259 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15401 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.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.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 _2 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12773 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 253 "parser_cocci_menhir.mly"
- ( Common.Left(P.id2name _2) )
-# 12780 "parser_cocci_menhir.ml"
+ let w : 'tv_eexpr = Obj.magic w in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15440 "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_ =
+# 2260 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15447 "parser_cocci_menhir.ml"
in
_menhir_env.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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 79 "parser_cocci_menhir.mly"
- (string)
-# 12805 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 254 "parser_cocci_menhir.mly"
- ( Common.Right _2 )
-# 12812 "parser_cocci_menhir.ml"
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15468 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
+# 2259 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15475 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 _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)
-# 12840 "parser_cocci_menhir.ml"
- ) =
-# 249 "parser_cocci_menhir.mly"
- ( _1 )
-# 12844 "parser_cocci_menhir.ml"
+ let w : 'tv_enum_decl_one = Obj.magic w in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15514 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
+# 2260 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15521 "parser_cocci_menhir.ml"
in
_menhir_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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ 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)
-# 12872 "parser_cocci_menhir.ml"
- ) =
-# 250 "parser_cocci_menhir.mly"
- ( _1 )
-# 12876 "parser_cocci_menhir.ml"
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15542 "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_ =
+# 2259 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15549 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 _1 : (
-# 80 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 12897 "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))) )
-# 12912 "parser_cocci_menhir.ml"
+ let w : 'tv_initialize = Obj.magic w in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15588 "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_ =
+# 2260 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15595 "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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
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 =
-# 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))) )
-# 12948 "parser_cocci_menhir.ml"
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15616 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
+# 2259 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15623 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let d : 'tv_defineop = Obj.magic d in
+ let w : 'tv_struct_decl_one = Obj.magic w in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15662 "parser_cocci_menhir.ml"
+ ) = 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]))) )
-# 12983 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
+# 2260 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15669 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
- let _1 : 'tv_defineop = Obj.magic _1 in
+ let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = 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))) )
-# 13025 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eexpr =
+# 1410 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15693 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr = Obj.magic _1 in
+ let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_initialize =
-# 1064 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 13049 "parser_cocci_menhir.ml"
+ let _v : 'tv_eexpr_list_option =
+# 2239 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
+ (fun c -> Ast0.EComma c))) )
+# 15721 "parser_cocci_menhir.ml"
in
_menhir_env.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)
-# 13080 "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)
-# 13086 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize =
-# 1066 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 13093 "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_empty_list_start_aexpr_TEllipsis_ =
+# 2001 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15738 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13119 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13124 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize =
-# 1068 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
- P.clt2mcode "}" _2)) )
-# 13133 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
+# 2002 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15762 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
+# 2001 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15779 "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 : (
-# 65 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 13154 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_initialize =
-# 1072 "parser_cocci_menhir.mly"
- (let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 13162 "parser_cocci_menhir.ml"
+ let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
+# 2002 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15803 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2001 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15820 "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_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_initialize2 =
-# 1078 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 13186 "parser_cocci_menhir.ml"
+ let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2002 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15844 "parser_cocci_menhir.ml"
in
_menhir_env.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)
-# 13217 "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)
-# 13223 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1080 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 13230 "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_empty_list_start_one_dec_decl__TEllipsis_ =
+# 2001 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15861 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13256 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13261 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize2 =
-# 1082 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
- P.clt2mcode "}" _2)) )
-# 13270 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
+# 2002 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15885 "parser_cocci_menhir.ml"
in
_menhir_env.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)
-# 13302 "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 =
-# 1087 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 13310 "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_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2001 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15902 "parser_cocci_menhir.ml"
in
_menhir_env.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_initialize2 = Obj.magic _3 in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13342 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1089 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 13350 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2002 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15926 "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_initialize_list_start = Obj.magic _1 in
+ let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_initialize_list =
-# 1101 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 13374 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_decl_list =
+# 805 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
+# 15950 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13400 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize_list_start =
-# 1104 "parser_cocci_menhir.mly"
- ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
-# 13408 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_decl_one =
+# 776 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15974 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_initialize_list_start = Obj.magic _3 in
+ let _3 : 'tv_enum_val = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 13440 "parser_cocci_menhir.ml"
+# 16006 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_initialize_list_start =
-# 1106 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
-# 13448 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_decl_one =
+# 778 "parser_cocci_menhir.mly"
+ ( let id = Ast0.wrap(Ast0.Ident(_1)) in
+ Ast0.wrap
+ (Ast0.Assignment
+ (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
+ false)) )
+# 16018 "parser_cocci_menhir.ml"
in
_menhir_env.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;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ 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_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 =
-# 1109 "parser_cocci_menhir.mly"
- ( (P.mkidots "..." d)::
- (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
-# 13479 "parser_cocci_menhir.ml"
+ let _1 : 'tv_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 785 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 16042 "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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16063 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_invalid =
-# 1202 "parser_cocci_menhir.mly"
- ( raise (Semantic_cocci.Semantic "not matchable") )
-# 13501 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_val =
+# 787 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 16071 "parser_cocci_menhir.ml"
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_is_expression =
-# 245 "parser_cocci_menhir.mly"
- ( false )
-# 13518 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 16092 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 789 "parser_cocci_menhir.mly"
+ ( tmeta_to_exp _1 )
+# 16099 "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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 16120 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_is_expression =
-# 246 "parser_cocci_menhir.mly"
- ( true )
-# 13540 "parser_cocci_menhir.ml"
+ let _v : 'tv_enum_val =
+# 791 "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)) )
+# 16129 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _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 _1 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 16150 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 1846 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13568 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 795 "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)) )
+# 16159 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _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 _1 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 16180 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 1847 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13596 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 799 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,ty,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
+# 16189 "parser_cocci_menhir.ml"
in
_menhir_env.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.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_ =
-# 1846 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13624 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_exists =
+# 314 "parser_cocci_menhir.mly"
+ ( Ast.Exists )
+# 16211 "parser_cocci_menhir.ml"
in
_menhir_env.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.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_ =
-# 1847 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13652 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_exists =
+# 315 "parser_cocci_menhir.mly"
+ ( Ast.Forall )
+# 16233 "parser_cocci_menhir.ml"
in
_menhir_env.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_ =
-# 1846 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13680 "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_exists =
+# 316 "parser_cocci_menhir.mly"
+ ( Ast.Undetermined )
+# 16250 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _1;
+ 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 _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_dexpr_ =
-# 1847 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13708 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_expr =
+# 1408 "parser_cocci_menhir.mly"
+ ( _1 )
+# 16274 "parser_cocci_menhir.ml"
in
_menhir_env.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 = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ 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_ =
-# 1846 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13736 "parser_cocci_menhir.ml"
+ let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_expr_dots_TEllipsis_ =
+# 1648 "parser_cocci_menhir.mly"
+ ( r )
+# 16298 "parser_cocci_menhir.ml"
in
_menhir_env.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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ 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_ =
-# 1847 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13764 "parser_cocci_menhir.ml"
+ let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 570 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify Type_cocci.Unknown m )
+# 16322 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = 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.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_single_statement = Obj.magic t in
+ let m : 'tv_list_TMul_ = Obj.magic m in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 1846 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 13792 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 572 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
+# 16350 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = 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.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_single_statement = Obj.magic t in
+ let m : 'tv_list_TMul_ = Obj.magic m in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 1847 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 13820 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 574 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify
+ (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
+# 16379 "parser_cocci_menhir.ml"
in
_menhir_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.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.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 m : 'tv_list_TMul_ = Obj.magic m in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 13858 "parser_cocci_menhir.ml"
- ) =
-# 1818 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
-# 13862 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 577 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify
+ (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
+# 16408 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 287 "parser_cocci_menhir.mly"
+ ( () )
+# 16425 "parser_cocci_menhir.ml"
in
_menhir_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 = parent;
+ MenhirLib.EngineTypes.startp = _startpos_parent_;
+ MenhirLib.EngineTypes.endp = _endpos_parent_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.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 parent : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 16450 "parser_cocci_menhir.ml"
+ ) = Obj.magic parent in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 13900 "parser_cocci_menhir.ml"
- ) =
-# 1820 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
-# 13904 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_parent_ in
+ let _v : 'tv_extends =
+# 289 "parser_cocci_menhir.mly"
+ ( !Data.install_bindings (parent) )
+# 16457 "parser_cocci_menhir.ml"
in
_menhir_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 = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _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 _2 : (
+# 152 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16483 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 152 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16488 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 13942 "parser_cocci_menhir.ml"
- ) =
-# 1822 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
-# 13946 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_filespec =
+# 842 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap
+ (Ast0.FILEINFO(P.id2mcode _1,
+ P.id2mcode _2))] )
+# 16497 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = sl;
- MenhirLib.EngineTypes.startp = _startpos_sl_;
- MenhirLib.EngineTypes.endp = _endpos_sl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s1;
- MenhirLib.EngineTypes.startp = _startpos_s1_;
- MenhirLib.EngineTypes.endp = _endpos_s1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
- let s1 : 'tv_single_statement = Obj.magic s1 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 13984 "parser_cocci_menhir.ml"
- ) =
-# 1824 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
-# 13988 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_fn_ident =
+# 1914 "parser_cocci_menhir.mly"
+ ( _1 )
+# 16521 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = tl;
- MenhirLib.EngineTypes.startp = _startpos_tl_;
- MenhirLib.EngineTypes.endp = _endpos_tl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t1;
- MenhirLib.EngineTypes.startp = _startpos_t1_;
- MenhirLib.EngineTypes.endp = _endpos_t1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 _1 : (
+# 129 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 16542 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 14026 "parser_cocci_menhir.ml"
- ) =
-# 1826 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
-# 14030 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_fn_ident =
+# 1916 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16550 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_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_nest_start__ = Obj.magic el in
- let e1 : 'tv_nest_start = Obj.magic e1 in
+ let _1 : (
+# 129 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 16571 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 14068 "parser_cocci_menhir.ml"
- ) =
-# 1828 "parser_cocci_menhir.mly"
- ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
-# 14072 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_fn_ident =
+# 1919 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16580 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 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)
-# 14110 "parser_cocci_menhir.ml"
- ) =
-# 1830 "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 )
-# 14127 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fninfo =
+# 987 "parser_cocci_menhir.mly"
+ ( [] )
+# 16597 "parser_cocci_menhir.ml"
in
_menhir_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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_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_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)
-# 14151 "parser_cocci_menhir.ml"
- ) =
-# 182 "parser_cocci_menhir.mly"
- ( m "" )
-# 14155 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _1 : 'tv_storage = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 989 "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 )
+# 16631 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = nm;
- MenhirLib.EngineTypes.startp = _startpos_nm_;
- MenhirLib.EngineTypes.endp = _endpos_nm_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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)
-# 14183 "parser_cocci_menhir.ml"
- ) =
-# 197 "parser_cocci_menhir.mly"
- ( P.make_iso_rule_name_result (P.id2name nm) )
-# 14187 "parser_cocci_menhir.ml"
+ let r : 'tv_fninfo_nt = Obj.magic r in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_fninfo =
+# 994 "parser_cocci_menhir.mly"
+ ( (Ast0.FType(t))::r )
+# 16661 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_fninfo = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 14208 "parser_cocci_menhir.ml"
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 16688 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_iter_ident =
-# 1509 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 14215 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 996 "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 )
+# 16698 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_fninfo = Obj.magic _2 in
let _1 : (
-# 62 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 14236 "parser_cocci_menhir.ml"
+# 121 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16725 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_iter_ident =
-# 1511 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 14244 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 1001 "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 )
+# 16735 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_TMul_ =
-# 114 "standard.mly"
- ( [] )
-# 14261 "parser_cocci_menhir.ml"
+ let _v : 'tv_fninfo_nt =
+# 1007 "parser_cocci_menhir.mly"
+ ( [] )
+# 16752 "parser_cocci_menhir.ml"
in
_menhir_env.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_list_TMul_ = Obj.magic xs in
- let x : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 14288 "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 )
-# 14295 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+ let _1 : 'tv_storage = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 1009 "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 )
+# 16786 "parser_cocci_menhir.ml"
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_array_dec_ =
-# 114 "standard.mly"
- ( [] )
-# 14312 "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_fninfo_nt = Obj.magic _2 in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 16813 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 1015 "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 )
+# 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 = 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_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 )
-# 14342 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+ let _1 : (
+# 121 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16850 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 1020 "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 )
+# 16860 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_case_line_ =
-# 114 "standard.mly"
- ( [] )
-# 14359 "parser_cocci_menhir.ml"
- in
+ let _v : 'tv_fun_after_dots =
+# 2172 "parser_cocci_menhir.mly"
+ ([])
+# 16877 "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 = 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.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
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 )
-# 14389 "parser_cocci_menhir.ml"
+ 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 =
+# 2173 "parser_cocci_menhir.mly"
+ (_2)
+# 16905 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 14406 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fun_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 2174 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 16935 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 14436 "parser_cocci_menhir.ml"
+ 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 =
+# 2175 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 16965 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
-# 114 "standard.mly"
- ( [] )
-# 14453 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_dots_or =
+# 2182 "parser_cocci_menhir.mly"
+ ([])
+# 16982 "parser_cocci_menhir.ml"
in
_menhir_env.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.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
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 )
-# 14483 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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_designator_ =
-# 114 "standard.mly"
- ( [] )
-# 14500 "parser_cocci_menhir.ml"
+ 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 =
+# 2183 "parser_cocci_menhir.mly"
+ (_2)
+# 17010 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 14530 "parser_cocci_menhir.ml"
+ 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 =
+# 2184 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 17040 "parser_cocci_menhir.ml"
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_dp_comma_args_TEllipsis__ =
-# 114 "standard.mly"
- ( [] )
-# 14547 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots_or =
+# 2185 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 17070 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 14577 "parser_cocci_menhir.ml"
+ 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 =
+# 2178 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 17100 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_incl_ =
-# 114 "standard.mly"
- ( [] )
-# 14594 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_exp_or =
+# 2188 "parser_cocci_menhir.mly"
+ ([])
+# 17117 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 14624 "parser_cocci_menhir.ml"
+ 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 =
+# 2189 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 17147 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_iso_ctype__ =
-# 114 "standard.mly"
- ( [] )
-# 14641 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_stm =
+# 2167 "parser_cocci_menhir.mly"
+ ([])
+# 17164 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 14671 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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"
- ( [] )
-# 14688 "parser_cocci_menhir.ml"
+ 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 =
+# 2168 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 17194 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 14718 "parser_cocci_menhir.ml"
+ 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 =
+# 2169 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 17224 "parser_cocci_menhir.ml"
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_dexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 14735 "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 = _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 = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let xs : 'tv_list_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 )
-# 14765 "parser_cocci_menhir.ml"
+ 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 =
+# 2164 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 17248 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 14782 "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 = _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 = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let xs : 'tv_list_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 )
-# 14812 "parser_cocci_menhir.ml"
+ let _1 : 'tv_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1905 "parser_cocci_menhir.mly"
+ ( _1 )
+# 17272 "parser_cocci_menhir.ml"
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_single_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 14829 "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 = _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 = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let xs : 'tv_list_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 )
-# 14859 "parser_cocci_menhir.ml"
+ let _1 : (
+# 129 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 17293 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1907 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17301 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_ctype__ =
-# 114 "standard.mly"
- ( [] )
-# 14876 "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 : (
+# 129 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 17322 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1910 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17331 "parser_cocci_menhir.ml"
in
_menhir_env.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 = rb;
+ MenhirLib.EngineTypes.startp = _startpos_rb_;
+ MenhirLib.EngineTypes.endp = _endpos_rb_;
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 = 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 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 )
-# 14906 "parser_cocci_menhir.ml"
+ let rb : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17391 "parser_cocci_menhir.ml"
+ ) = Obj.magic rb in
+ let b : 'tv_fun_start = Obj.magic b in
+ let lb : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17397 "parser_cocci_menhir.ml"
+ ) = Obj.magic lb in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17402 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_decl_ = Obj.magic d in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17408 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let i : 'tv_fn_ident = Obj.magic i in
+ let f : 'tv_fninfo = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_rb_ in
+ let _v : 'tv_fundecl =
+# 978 "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)) )
+# 17423 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 14923 "parser_cocci_menhir.ml"
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17469 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17474 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17480 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let id : 'tv_fn_ident = Obj.magic id in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pt_ in
+ let _v : 'tv_funproto = let s =
+
+# 39 "standard.mly"
+ ( None )
+# 17490 "parser_cocci_menhir.ml"
+
+ in
+
+# 966 "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)) )
+# 17502 "parser_cocci_menhir.ml"
in
_menhir_env.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 = pt;
+ MenhirLib.EngineTypes.startp = _startpos_pt_;
+ MenhirLib.EngineTypes.endp = _endpos_pt_;
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 = 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 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 )
-# 14953 "parser_cocci_menhir.ml"
+ let pt : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17553 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17558 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17564 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let id : 'tv_fn_ident = Obj.magic id in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pt_ in
+ let _v : 'tv_funproto = let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 17576 "parser_cocci_menhir.ml"
+
+ in
+
+# 966 "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)) )
+# 17588 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 14970 "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 = _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 = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let xs : 'tv_list_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 )
-# 15000 "parser_cocci_menhir.ml"
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident =
+# 1924 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 17612 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15017 "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 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 17633 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident =
+# 1926 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,seed,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) )
+# 17641 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ 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 )
-# 15047 "parser_cocci_menhir.ml"
+ 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 =
+# 1878 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
+# 17665 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15064 "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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17686 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident_or_const =
+# 1880 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 17694 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 )
-# 15094 "parser_cocci_menhir.ml"
+ let _1 : (
+# 149 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17715 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_incl =
+# 327 "parser_cocci_menhir.mly"
+ ( let (x,_) = _1 in Data.Include(x) )
+# 17722 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15111 "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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17747 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 328 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Left(P.id2name _2)) )
+# 17754 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 )
-# 15141 "parser_cocci_menhir.ml"
+ let _2 : (
+# 148 "parser_cocci_menhir.mly"
+ (string)
+# 17779 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 329 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Right _2) )
+# 17786 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15158 "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_comma_list_pure_ident_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 331 "parser_cocci_menhir.mly"
+ ( let names = List.map P.id2name _2 in
+ Iteration.parsed_virtual_rules :=
+ Common.union_set names !Iteration.parsed_virtual_rules;
+ (* ensure that the names of virtual and real rules don't overlap *)
+ List.iter
+ (function name -> Hashtbl.add Data.all_metadecls name [])
+ names;
+ Data.Virt(names) )
+# 17821 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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) )
-# 15197 "parser_cocci_menhir.ml"
-
- in
-
-# 116 "standard.mly"
- ( x :: xs )
-# 15203 "parser_cocci_menhir.ml"
+ let _1 : 'tv_list_incl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 217 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 17849 "parser_cocci_menhir.ml"
+ ) =
+# 323 "parser_cocci_menhir.mly"
+ ( _1 )
+# 17853 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15220 "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_list_incl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 217 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 17881 "parser_cocci_menhir.ml"
+ ) =
+# 324 "parser_cocci_menhir.mly"
+ ( _1 )
+# 17885 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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 )
-# 15250 "parser_cocci_menhir.ml"
+ let _1 : (
+# 149 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17906 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_includes =
+# 848 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include"
+ (P.drop_pos (P.drop_aft (P.id2clt _1))),
+ let (arity,ln,lln,offset,col,strbef,straft,pos) =
+ P.id2clt _1 in
+ let clt =
+ (arity,ln,lln,offset,0,strbef,straft,pos) in
+ P.clt2mcode
+ (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
+ (P.drop_bef clt))) )
+# 17922 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15267 "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 : (
+# 149 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17943 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_includes =
+# 859 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include"
+ (P.drop_pos (P.drop_aft (P.id2clt _1))),
+ let (arity,ln,lln,offset,col,strbef,straft,pos) =
+ P.id2clt _1 in
+ let clt =
+ (arity,ln,lln,offset,0,strbef,straft,pos) in
+ P.clt2mcode
+ (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
+ (P.drop_bef clt))) )
+# 17959 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_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_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 )
-# 15291 "parser_cocci_menhir.ml"
+ let _1 : (
+# 150 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 17984 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_includes =
+# 870 "parser_cocci_menhir.mly"
+ ( let (clt,ident) = _1 in
+ let aft = P.get_aft clt in (* move stuff after the define to the ident *)
+ Ast0.wrap
+ (Ast0.Undef
+ (P.clt2mcode "#undef" (P.drop_aft clt),
+ (match ident with
+ TMetaId((nm,constraints,seed,pure,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure))
+ | TIdent((nm,clt)) ->
+ let clt = P.set_aft aft clt in
+ Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")))) )
+# 18006 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15308 "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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let d : 'tv_defineop = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_includes =
+# 887 "parser_cocci_menhir.mly"
+ ( d (Ast0.wrap(Ast0.DOTS([]))) )
+# 18034 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__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 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 )
-# 15332 "parser_cocci_menhir.ml"
+ let t : 'tv_ctype = Obj.magic t in
+ let d : 'tv_defineop = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_includes =
+# 889 "parser_cocci_menhir.mly"
+ ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
+ d (Ast0.wrap(Ast0.DOTS([ty]))) )
+# 18069 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15349 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
+ let _1 : 'tv_defineop = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_includes =
+# 892 "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))) )
+# 18111 "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_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 )
-# 15373 "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_initialize =
+# 1286 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18135 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15390 "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 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18166 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18172 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize =
+# 1288 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 18184 "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_filespec = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_filespec_ =
-# 59 "standard.mly"
- ( x )
-# 15414 "parser_cocci_menhir.ml"
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 18205 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize =
+# 1295 "parser_cocci_menhir.mly"
+ (let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 18213 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15431 "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_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1301 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18237 "parser_cocci_menhir.ml"
in
_menhir_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 : '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 )
-# 15455 "parser_cocci_menhir.ml"
+ let _3 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18268 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18274 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1303 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 18286 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15472 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_initialize2 = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18318 "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 =
+# 1311 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
+# 18326 "parser_cocci_menhir.ml"
in
_menhir_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_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 )
-# 15496 "parser_cocci_menhir.ml"
+ 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 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18358 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1313 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
+# 18366 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15513 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 18387 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1315 "parser_cocci_menhir.mly"
+ (let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 18395 "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_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 )
-# 15537 "parser_cocci_menhir.ml"
+ let _1 : (
+# 134 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 18416 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1318 "parser_cocci_menhir.mly"
+ (let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Ast.AnyLen -> Ast0.AnyListLen
+ | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+ | Ast.CstLen n -> Ast0.CstListLen n in
+ Ast0.wrap(Ast0.MetaInitList(nm,lenname,pure)) )
+# 18430 "parser_cocci_menhir.ml"
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"
- ( [] )
-# 15554 "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_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize_list =
+# 1338 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
+# 18454 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_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 )
-# 15578 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_invalid =
+# 1418 "parser_cocci_menhir.mly"
+ ( raise (Semantic_cocci.Semantic "not matchable") )
+# 18476 "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"
- ( [] )
-# 15595 "parser_cocci_menhir.ml"
+ let _v : 'tv_is_expression =
+# 319 "parser_cocci_menhir.mly"
+ ( false )
+# 18493 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_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 )
-# 15619 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_plus_start_ =
-# 57 "standard.mly"
- ( [] )
-# 15636 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_is_expression =
+# 320 "parser_cocci_menhir.mly"
+ ( true )
+# 18515 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 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 )
-# 15660 "parser_cocci_menhir.ml"
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_ctype_ =
+# 2315 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18543 "parser_cocci_menhir.ml"
in
_menhir_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.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_t_ in
+ let _startpos = _startpos__1_ in
let _endpos = _endpos_t_ in
- let _v : 'tv_meta_exp_type =
-# 444 "parser_cocci_menhir.mly"
- ( [Ast0_cocci.ast0_type_to_type t] )
-# 15684 "parser_cocci_menhir.ml"
+ let _v : 'tv_iso_ctype_ =
+# 2316 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18571 "parser_cocci_menhir.ml"
in
_menhir_env.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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let t : 'tv_comma_list_ctype_ = Obj.magic t in
+ let t : 'tv_decl_var = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_meta_exp_type =
-# 446 "parser_cocci_menhir.mly"
- ( List.map
- (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
- t )
-# 15724 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 2315 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18599 "parser_cocci_menhir.ml"
in
_menhir_env.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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_pure_ident = Obj.magic _3 in
- let _1 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 15755 "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__3_ in
- let _v : 'tv_meta_ident =
-# 1388 "parser_cocci_menhir.mly"
- ( (Some _1,P.id2name _3) )
-# 15762 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 2316 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18627 "parser_cocci_menhir.ml"
in
_menhir_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.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let m : 'tv_metadec = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
- let _v : (
-# 157 "parser_cocci_menhir.mly"
- ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 15786 "parser_cocci_menhir.ml"
- ) =
-# 181 "parser_cocci_menhir.mly"
- ( m (!Ast0.rule_name) )
-# 15790 "parser_cocci_menhir.ml"
+ let t : 'tv_eexpr = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_eexpr_ =
+# 2315 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18655 "parser_cocci_menhir.ml"
in
_menhir_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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 =
-
-# 305 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaFreshIdDecl(arity,name)) in
- !Data.add_id_meta name [] pure; tok) )
-# 15841 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 15847 "parser_cocci_menhir.ml"
+ let t : 'tv_eexpr = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_eexpr_ =
+# 2316 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18683 "parser_cocci_menhir.ml"
in
_menhir_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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 =
-
-# 309 "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) )
-# 15894 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 15900 "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_ =
+# 2315 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18711 "parser_cocci_menhir.ml"
in
_menhir_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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 =
-
-# 313 "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) )
-# 15951 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 15957 "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_ =
+# 2316 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18739 "parser_cocci_menhir.ml"
in
_menhir_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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 =
-
-# 317 "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) )
-# 16008 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16014 "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_ =
+# 2315 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18767 "parser_cocci_menhir.ml"
in
_menhir_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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
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 =
-
-# 321 "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) )
-# 16061 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16067 "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_ =
+# 2316 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18795 "parser_cocci_menhir.ml"
in
_menhir_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 = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
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 =
-
-# 325 "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) )
-# 16114 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16120 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18833 "parser_cocci_menhir.ml"
+ ) =
+# 2283 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
+# 18837 "parser_cocci_menhir.ml"
in
_menhir_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 = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
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 =
-
-# 329 "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) )
-# 16167 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16173 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18875 "parser_cocci_menhir.ml"
+ ) =
+# 2285 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
+# 18879 "parser_cocci_menhir.ml"
in
_menhir_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 = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
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 =
-
-# 333 "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) )
-# 16224 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16230 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18917 "parser_cocci_menhir.ml"
+ ) =
+# 2287 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
+# 18921 "parser_cocci_menhir.ml"
in
_menhir_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 = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
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 =
-
-# 337 "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")) )
-# 16278 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16284 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18959 "parser_cocci_menhir.ml"
+ ) =
+# 2289 "parser_cocci_menhir.mly"
+ ( let ffn x = Ast0.ExprTag x in
+ let fn x = Ast0.TestExprTag x in
+ P.iso_adjust ffn fn e1 el )
+# 18965 "parser_cocci_menhir.ml"
in
_menhir_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 = sl;
+ MenhirLib.EngineTypes.startp = _startpos_sl_;
+ MenhirLib.EngineTypes.endp = _endpos_sl_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = s1;
+ MenhirLib.EngineTypes.startp = _startpos_s1_;
+ MenhirLib.EngineTypes.endp = _endpos_s1_;
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 ->
- if arity = Ast.NONE && pure = Ast0.Impure
- then (!Data.add_declarer_name name; [])
- else raise (Semantic_cocci.Semantic "bad declarer")) )
-# 16336 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16342 "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 : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 19003 "parser_cocci_menhir.ml"
+ ) =
+# 2293 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
+# 19007 "parser_cocci_menhir.ml"
in
_menhir_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 = tl;
+ MenhirLib.EngineTypes.startp = _startpos_tl_;
+ MenhirLib.EngineTypes.endp = _endpos_tl_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = t1;
+ MenhirLib.EngineTypes.startp = _startpos_t1_;
+ MenhirLib.EngineTypes.endp = _endpos_t1_;
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 =
-
-# 347 "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")) )
-# 16394 "parser_cocci_menhir.ml"
-
- in
-
-# 259 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 16400 "parser_cocci_menhir.ml"
+ 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 : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 19045 "parser_cocci_menhir.ml"
+ ) =
+# 2295 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
+# 19049 "parser_cocci_menhir.ml"
in
_menhir_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 = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
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_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 =
-
-# 355 "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) )
-# 16447 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16453 "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 : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 19087 "parser_cocci_menhir.ml"
+ ) =
+# 2297 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
+# 19091 "parser_cocci_menhir.ml"
in
_menhir_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 = dl;
+ MenhirLib.EngineTypes.startp = _startpos_dl_;
+ MenhirLib.EngineTypes.endp = _endpos_dl_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = d1;
+ MenhirLib.EngineTypes.startp = _startpos_d1_;
+ MenhirLib.EngineTypes.endp = _endpos_d1_;
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_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 =
-
-# 359 "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) )
-# 16500 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16506 "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 : (
+# 233 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 19129 "parser_cocci_menhir.ml"
+ ) =
+# 2299 "parser_cocci_menhir.mly"
+ ( let check_one = function
+ [x] -> x
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "only one variable per declaration in an isomorphism rule") in
+ let d1 = check_one d1 in
+ let dl =
+ List.map
+ (function
+ Common.Left x -> Common.Left(check_one x)
+ | Common.Right x -> Common.Right(check_one x))
+ dl in
+ let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
+# 19146 "parser_cocci_menhir.ml"
in
_menhir_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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_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 =
-
-# 363 "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) )
-# 16558 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16564 "parser_cocci_menhir.ml"
+ let m : 'tv_metadec = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : (
+# 236 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 19170 "parser_cocci_menhir.ml"
+ ) =
+# 253 "parser_cocci_menhir.mly"
+ ( m "" )
+# 19174 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = nm;
+ MenhirLib.EngineTypes.startp = _startpos_nm_;
+ MenhirLib.EngineTypes.endp = _endpos_nm_;
+ 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.MetaDeclarerDecl(arity,name)) in
- !Data.add_declarer_meta name constraints pure; tok) )
-# 16611 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16617 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
+ let nm : 'tv_pure_ident = Obj.magic nm in
+ let _startpos = _startpos_nm_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 220 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 19202 "parser_cocci_menhir.ml"
+ ) =
+# 268 "parser_cocci_menhir.mly"
+ ( P.make_iso_rule_name_result (P.id2name nm) )
+# 19206 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
MenhirLib.EngineTypes.startp = _startpos;
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 = 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 =
-
-# 372 "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) )
-# 16664 "parser_cocci_menhir.ml"
-
- in
-
-# 263 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16670 "parser_cocci_menhir.ml"
+ let _1 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 19227 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_iter_ident =
+# 1956 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 19234 "parser_cocci_menhir.ml"
in
_menhir_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_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 =
-
-# 378 "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) )
-# 16717 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16723 "parser_cocci_menhir.ml"
+ let _1 : (
+# 130 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 19255 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_iter_ident =
+# 1958 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,Ast.NoVal,pure)) )
+# 19263 "parser_cocci_menhir.ml"
in
_menhir_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.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 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 )
-# 16776 "parser_cocci_menhir.ml"
-
- in
-
-# 382 "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))) )
-# 16789 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16795 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_TMul_ =
+# 114 "standard.mly"
+ ( [] )
+# 19280 "parser_cocci_menhir.ml"
in
_menhir_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 = 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.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l0;
- MenhirLib.EngineTypes.startp = _startpos_l0_;
- MenhirLib.EngineTypes.endp = _endpos_l0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = 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_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 )
-# 16856 "parser_cocci_menhir.ml"
-
- in
-
-# 382 "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))) )
-# 16869 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16875 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_TMul_ = Obj.magic xs in
+ let x : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19307 "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 )
+# 19314 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 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
-
-# 391 "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))) )
-# 16942 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 16948 "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"
+ ( [] )
+# 19331 "parser_cocci_menhir.ml"
in
_menhir_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 = 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.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;
- };
- };
- };
- };
+ 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_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
-
-# 401 "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) )
-# 17003 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17009 "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 )
+# 19361 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_case_line_ =
+# 114 "standard.mly"
+ ( [] )
+# 19378 "parser_cocci_menhir.ml"
in
_menhir_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 = 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__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;
- };
- };
- };
- };
- };
+ 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_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
-
-# 406 "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) )
-# 17068 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17074 "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 )
+# 19408 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_decl_var_ =
+# 114 "standard.mly"
+ ( [] )
+# 19425 "parser_cocci_menhir.ml"
in
_menhir_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_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 )
-# 17120 "parser_cocci_menhir.ml"
-
- in
-
-# 411 "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) )
-# 17128 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17134 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_decl_var_ = Obj.magic xs in
+ let x : 'tv_decl_var = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_decl_var_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 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.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let 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 )
-# 17188 "parser_cocci_menhir.ml"
-
- in
-
-# 411 "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) )
-# 17196 "parser_cocci_menhir.ml"
-
- in
-
-# 267 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17202 "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"
+ ( [] )
+# 19472 "parser_cocci_menhir.ml"
in
_menhir_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_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 =
-
-# 417 "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) )
-# 17249 "parser_cocci_menhir.ml"
-
- in
-
-# 271 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17255 "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 )
+# 19502 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = vl0;
- MenhirLib.EngineTypes.startp = _startpos_vl0_;
- MenhirLib.EngineTypes.endp = _endpos_vl0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- } = _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
-
-# 421 "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) )
-# 17321 "parser_cocci_menhir.ml"
-
- in
-
-# 271 "parser_cocci_menhir.mly"
- ( P.create_metadec_ne ar ispure kindfn ids )
-# 17327 "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"
+ ( [] )
+# 19519 "parser_cocci_menhir.ml"
in
_menhir_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.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = 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_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 =
-# 277 "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 )
-# 17377 "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 )
+# 19549 "parser_cocci_menhir.ml"
in
_menhir_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.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 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 =
-# 287 "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 )
-# 17444 "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"
+ ( [] )
+# 19566 "parser_cocci_menhir.ml"
in
_menhir_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 = 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__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;
- };
- };
- };
- };
- };
- };
- };
+ 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 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 =
-# 296 "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 )
-# 17511 "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 )
+# 19596 "parser_cocci_menhir.ml"
in
_menhir_env.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_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_ =
-# 1788 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17541 "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"
+ ( [] )
+# 19613 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = 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_eexpr = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_eexpr_eexpr_ =
-# 1788 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17571 "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 )
+# 19643 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.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_ =
-# 1788 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17601 "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_eexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 19660 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = 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_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_ =
-# 1788 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17631 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
+ let x : 'tv_iso_eexpr_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_eexpr__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19690 "parser_cocci_menhir.ml"
in
_menhir_env.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_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_ =
-# 1788 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17661 "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"
+ ( [] )
+# 19707 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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_ =
-# 1788 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17691 "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 )
+# 19737 "parser_cocci_menhir.ml"
in
_menhir_env.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_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_ =
-# 1788 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 17721 "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"
+ ( [] )
+# 19754 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let 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 =
-# 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 )
-# 17759 "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 )
+# 19784 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 =
-# 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 )
-# 17797 "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"
+ ( [] )
+# 19801 "parser_cocci_menhir.ml"
in
_menhir_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_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)
-# 17825 "parser_cocci_menhir.ml"
- ) =
-# 177 "parser_cocci_menhir.mly"
- ( _1 )
-# 17829 "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 )
+# 19831 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let m : 'tv_minus_exp_body = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 137 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 17857 "parser_cocci_menhir.ml"
- ) =
-# 177 "parser_cocci_menhir.mly"
- ( m )
-# 17861 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_disj_ident__ =
+# 114 "standard.mly"
+ ( [] )
+# 19848 "parser_cocci_menhir.ml"
in
_menhir_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 = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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)
-# 17889 "parser_cocci_menhir.ml"
- ) =
-# 178 "parser_cocci_menhir.mly"
- ( m )
-# 17893 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_disj_ident__ = Obj.magic xs in
+ let x : 'tv_mzl_disj_ident_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_disj_ident__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19878 "parser_cocci_menhir.ml"
in
_menhir_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_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)
-# 17921 "parser_cocci_menhir.ml"
- ) =
-# 173 "parser_cocci_menhir.mly"
- ( _1 )
-# 17925 "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"
+ ( [] )
+# 19895 "parser_cocci_menhir.ml"
in
_menhir_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 = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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)
-# 17953 "parser_cocci_menhir.ml"
- ) =
-# 173 "parser_cocci_menhir.mly"
- ( m )
-# 17957 "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 )
+# 19925 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let m : 'tv_minus_body = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 134 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 17985 "parser_cocci_menhir.ml"
- ) =
-# 174 "parser_cocci_menhir.mly"
- ( m )
-# 17989 "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"
+ ( [] )
+# 19942 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_fundecl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1597 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 18013 "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 )
+# 19972 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_ctype = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1598 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 18037 "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"
+ ( [] )
+# 19989 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_top_init = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1599 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 18061 "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 )
+# 20019 "parser_cocci_menhir.ml"
in
_menhir_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_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 =
-# 1601 "parser_cocci_menhir.mly"
- ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 18085 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_mctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 20036 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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)
-# 18112 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_ctype_ =
-# 1791 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18119 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_mctype__ = Obj.magic xs in
+ let x : 'tv_mzl_mctype_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_mctype__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 20066 "parser_cocci_menhir.ml"
in
_menhir_env.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_eexpr = Obj.magic b in
- let a : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18146 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_eexpr_ =
-# 1791 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18153 "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"
+ ( [] )
+# 20083 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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)
-# 18180 "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_ =
-# 1791 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18187 "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 )
+# 20113 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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"
+ ( [] )
+# 20130 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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)
-# 18214 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_fun_start_ =
-# 1791 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18221 "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 )
+# 20160 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_pair_edots_when_TEllipsis_eexpr__dexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 20177 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 b : 'tv_rule_elem_statement = Obj.magic b in
- let a : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18248 "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_ =
-# 1791 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18255 "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) )
+# 20216 "parser_cocci_menhir.ml"
+
+ in
+
+# 116 "standard.mly"
+ ( x :: xs )
+# 20222 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_whenppdecs_ =
+# 114 "standard.mly"
+ ( [] )
+# 20239 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
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 = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
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)
-# 18282 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_statement_ =
-# 1791 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 18289 "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 )
+# 20269 "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_pure_ident_or_meta_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_name_opt_decl =
-# 829 "parser_cocci_menhir.mly"
- ( _1 )
-# 18313 "parser_cocci_menhir.ml"
+ let _v : 'tv_list_len =
+# 418 "parser_cocci_menhir.mly"
+ ( Common.Left _1 )
+# 20293 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = _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 =
-# 830 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, None)) )
-# 18337 "parser_cocci_menhir.ml"
+ let _1 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 20314 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_list_len =
+# 419 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in Common.Right (int_of_string x) )
+# 20321 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18388 "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)
-# 18394 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18399 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let s : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18404 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18409 "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 =
-# 833 "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)) )
-# 18422 "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"
+ ( [] )
+# 20338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_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 =
-# 1712 "parser_cocci_menhir.mly"
- (_1@_2)
-# 18452 "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 )
+# 20362 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : 'tv_nest_after_exp = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1713 "parser_cocci_menhir.mly"
- (_2)
-# 18480 "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_disable_ =
+# 57 "standard.mly"
+ ( [] )
+# 20379 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_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 =
-# 1714 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 18510 "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 )
+# 20403 "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_nest_after_exp =
-# 1722 "parser_cocci_menhir.mly"
- ([])
-# 18527 "parser_cocci_menhir.ml"
+ let _v : 'tv_loption_filespec_ =
+# 57 "standard.mly"
+ ( [] )
+# 20420 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_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 =
-# 1723 "parser_cocci_menhir.mly"
- (_1::_2)
-# 18557 "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 )
+# 20444 "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_nest_after_stm =
-# 1717 "parser_cocci_menhir.mly"
- ([])
-# 18574 "parser_cocci_menhir.ml"
+ let _v : 'tv_loption_minus_start_ =
+# 57 "standard.mly"
+ ( [] )
+# 20461 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_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 =
-# 1718 "parser_cocci_menhir.mly"
- (_1::_2)
-# 18604 "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 )
+# 20485 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 =
-# 1719 "parser_cocci_menhir.mly"
- (_1@_2)
-# 18634 "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"
+ ( [] )
+# 20502 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let c : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18665 "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)
-# 18671 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_nest_expressions =
-# 1211 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...>" c, None, false)) )
-# 18680 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 )
+# 20526 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
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 = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let c : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18711 "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)
-# 18717 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_nest_expressions =
-# 1215 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...+>" c, None, true)) )
-# 18726 "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"
+ ( [] )
+# 20543 "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_after_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_nest_start =
-# 1709 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 18750 "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 )
+# 20567 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 20588 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (unit)
-# 18772 "parser_cocci_menhir.ml"
- ) =
-# 1854 "parser_cocci_menhir.mly"
- ( () )
-# 18776 "parser_cocci_menhir.ml"
+ let _v : 'tv_mctype =
+# 713 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 20595 "parser_cocci_menhir.ml"
in
_menhir_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_ctype = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (unit)
-# 18802 "parser_cocci_menhir.ml"
- ) =
-# 1855 "parser_cocci_menhir.mly"
- ( () )
-# 18806 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mctype =
+# 714 "parser_cocci_menhir.mly"
+ (_1)
+# 20619 "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 = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : (
-# 168 "parser_cocci_menhir.mly"
- (unit)
-# 18828 "parser_cocci_menhir.ml"
- ) =
-# 1856 "parser_cocci_menhir.mly"
- ( () )
-# 18832 "parser_cocci_menhir.ml"
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_meta_exp_type =
+# 613 "parser_cocci_menhir.mly"
+ ( [Ast0_cocci.ast0_type_to_type t] )
+# 20643 "parser_cocci_menhir.ml"
in
_menhir_env.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.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.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let 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__ =
-# 1379 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 18863 "parser_cocci_menhir.ml"
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_exp_type =
+# 615 "parser_cocci_menhir.mly"
+ ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
+# 20675 "parser_cocci_menhir.ml"
in
_menhir_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.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let x : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18884 "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 ] )
-# 18891 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let t : 'tv_comma_list_ctype_ = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_meta_exp_type =
+# 617 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
+ t )
+# 20715 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
- let x : (
-# 99 "parser_cocci_menhir.mly"
- (Data.clt)
-# 18918 "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 )
-# 18925 "parser_cocci_menhir.ml"
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 20746 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_ident =
+# 1686 "parser_cocci_menhir.mly"
+ ( (Some _1,P.id2name _3) )
+# 20753 "parser_cocci_menhir.ml"
in
_menhir_env.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.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_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 _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 20784 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_not_ceq =
-# 1436 "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] )
-# 18957 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_ident =
+# 1687 "parser_cocci_menhir.mly"
+ ( (Some _1,_3) )
+# 20791 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_not_ceq =
-# 1442 "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 )
-# 18997 "parser_cocci_menhir.ml"
+ let m : 'tv_metadec = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : (
+# 228 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 20815 "parser_cocci_menhir.ml"
+ ) =
+# 252 "parser_cocci_menhir.mly"
+ ( m (!Ast0.rule_name) )
+# 20819 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- 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 i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_not_eq =
-# 1403 "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))] )
-# 19031 "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 =
+
+# 430 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in
+ !Data.add_meta_meta name pure; tok) )
+# 20866 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 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.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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.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 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 =
-# 1411 "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 )
-# 19071 "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 =
+
+# 434 "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) )
+# 20919 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 20925 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
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 = 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 i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_not_eqe =
-# 1419 "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))))] )
-# 19103 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 438 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
+ !Data.add_paramlist_meta name len pure; tok) )
+# 20977 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 20983 "parser_cocci_menhir.ml"
in
_menhir_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 = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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.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 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 =
-# 1425 "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 )
-# 19146 "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 =
+
+# 443 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
+ !Data.add_explist_meta name len pure; tok) )
+# 21035 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21041 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.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 =
-# 1456 "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] )
-# 19183 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 448 "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) )
+# 21088 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21094 "parser_cocci_menhir.ml"
in
_menhir_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 = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ 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.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 l : 'tv_comma_list_meta_ident_ = Obj.magic l in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_not_pos =
-# 1467 "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 )
-# 19231 "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 =
+
+# 452 "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) )
+# 21141 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21147 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_one_dec_decl_ =
-# 1541 "parser_cocci_menhir.mly"
- ( _1 )
-# 19255 "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 =
+
+# 456 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaInitListDecl(arity,name,len)) in
+ !Data.add_initlist_meta name len pure; tok) )
+# 21199 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21205 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 66 "parser_cocci_menhir.mly"
- (Parse_aux.list_info)
-# 19276 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_one_dec_decl_ =
-# 1543 "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)) )
-# 19289 "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 =
+
+# 461 "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) )
+# 21252 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21258 "parser_cocci_menhir.ml"
in
_menhir_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 : '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_ =
-# 1541 "parser_cocci_menhir.mly"
- ( _1 )
-# 19313 "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 =
+
+# 465 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
+ !Data.add_decl_meta name pure; tok) )
+# 21305 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21311 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 66 "parser_cocci_menhir.mly"
- (Parse_aux.list_info)
-# 19334 "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_ =
-# 1543 "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)) )
-# 19347 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = 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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19373 "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 =
-# 1000 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 19381 "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 =
+
+# 469 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in
+ !Data.add_field_meta name pure; tok) )
+# 21358 "parser_cocci_menhir.ml"
+
+ in
+
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21364 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19412 "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 =
+ 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 =
-# 39 "standard.mly"
- ( None )
-# 19422 "parser_cocci_menhir.ml"
+# 473 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in
+ !Data.add_field_list_meta name len pure; tok) )
+# 21416 "parser_cocci_menhir.ml"
in
-# 1002 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 19429 "parser_cocci_menhir.ml"
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21422 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19465 "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
+ 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 =
-# 41 "standard.mly"
- ( Some x )
-# 19477 "parser_cocci_menhir.ml"
+# 478 "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) )
+# 21473 "parser_cocci_menhir.ml"
in
-# 1002 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 19484 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let f : 'tv_funproto = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_f_ in
- let _v : 'tv_one_decl_var =
-# 1004 "parser_cocci_menhir.mly"
- ( f )
-# 19508 "parser_cocci_menhir.ml"
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21479 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ 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 = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19549 "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)
-# 19555 "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 =
+ 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 =
-# 39 "standard.mly"
- ( None )
-# 19565 "parser_cocci_menhir.ml"
+# 482 "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")) )
+# 21527 "parser_cocci_menhir.ml"
in
-# 1006 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 19572 "parser_cocci_menhir.ml"
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21533 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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.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 = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
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 = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19618 "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)
-# 19624 "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
+ 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 =
-# 41 "standard.mly"
- ( Some x )
-# 19636 "parser_cocci_menhir.ml"
+# 487 "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")) )
+# 21585 "parser_cocci_menhir.ml"
in
-# 1006 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 19643 "parser_cocci_menhir.ml"
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21591 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
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.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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19674 "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 )
-# 19684 "parser_cocci_menhir.ml"
-
- in
- let s =
+ 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 =
-# 39 "standard.mly"
- ( None )
-# 19691 "parser_cocci_menhir.ml"
+# 492 "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")) )
+# 21643 "parser_cocci_menhir.ml"
in
-# 1011 "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)) )
-# 19699 "parser_cocci_menhir.ml"
+# 343 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21649 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19735 "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 )
-# 19747 "parser_cocci_menhir.ml"
-
- in
- let s =
+ 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 =
-# 39 "standard.mly"
- ( None )
-# 19754 "parser_cocci_menhir.ml"
+# 423 "parser_cocci_menhir.mly"
+ ( (fun name check_meta seed ->
+ let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
+ !Data.add_fresh_id_meta name seed; tok) )
+# 21688 "parser_cocci_menhir.ml"
in
-# 1011 "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)) )
-# 19762 "parser_cocci_menhir.ml"
+# 346 "parser_cocci_menhir.mly"
+ ( P.create_fresh_metadec kindfn ids )
+# 21694 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19798 "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 )
-# 19809 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
-# 41 "standard.mly"
- ( Some x )
-# 19817 "parser_cocci_menhir.ml"
+# 499 "parser_cocci_menhir.mly"
+ (
+ let idfn arity name pure check_meta constraints =
+ let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+ !Data.add_id_meta name constraints pure; tok in
+ let virtfn arity name pure check_meta virtual_env =
+ try
+ let vl = List.assoc name virtual_env in
+ !Data.add_virt_id_meta_found name vl; []
+ with Not_found ->
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [name]
+ !Iteration.parsed_virtual_identifiers;
+ let name = ("virtual",name) in
+ let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+ !Data.add_virt_id_meta_not_found name pure; tok in
+ (idfn,virtfn) )
+# 21754 "parser_cocci_menhir.ml"
in
-# 1011 "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)) )
-# 19825 "parser_cocci_menhir.ml"
+# 352 "parser_cocci_menhir.mly"
+ ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
+ let (idfn,virtfn) = kindfn in
+ function cr ->
+ (P.create_metadec_with_constraints ar ispure idfn normal cr) @
+ (P.create_metadec_virt ar ispure virtfn virt cr) )
+# 21764 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x1;
- MenhirLib.EngineTypes.startp = _startpos_x1_;
- MenhirLib.EngineTypes.endp = _endpos_x1_;
+ 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 = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19866 "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 )
-# 19879 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
-# 41 "standard.mly"
- ( Some x )
-# 19887 "parser_cocci_menhir.ml"
+# 518 "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) )
+# 21811 "parser_cocci_menhir.ml"
in
-# 1011 "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)) )
-# 19895 "parser_cocci_menhir.ml"
+# 361 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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 = 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 pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 19936 "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)
-# 19942 "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 )
-# 19952 "parser_cocci_menhir.ml"
-
- in
- let s =
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
-# 39 "standard.mly"
- ( None )
-# 19959 "parser_cocci_menhir.ml"
+# 522 "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) )
+# 21869 "parser_cocci_menhir.ml"
in
-# 1016 "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)) )
-# 19969 "parser_cocci_menhir.ml"
+# 361 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21875 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
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 = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20015 "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)
-# 20021 "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 )
-# 20033 "parser_cocci_menhir.ml"
-
- in
- let s =
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
-# 39 "standard.mly"
- ( None )
-# 20040 "parser_cocci_menhir.ml"
+# 527 "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) )
+# 21922 "parser_cocci_menhir.ml"
in
-# 1016 "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)) )
-# 20050 "parser_cocci_menhir.ml"
+# 361 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21928 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
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 = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20096 "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)
-# 20102 "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 )
-# 20113 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
-# 41 "standard.mly"
- ( Some x )
-# 20121 "parser_cocci_menhir.ml"
+# 531 "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) )
+# 21975 "parser_cocci_menhir.ml"
in
-# 1016 "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)) )
-# 20131 "parser_cocci_menhir.ml"
+# 361 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21981 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
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 = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20182 "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)
-# 20188 "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 )
-# 20201 "parser_cocci_menhir.ml"
-
- in
- let s =
- let x = x0 in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
-# 41 "standard.mly"
- ( Some x )
-# 20209 "parser_cocci_menhir.ml"
+# 537 "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) )
+# 22028 "parser_cocci_menhir.ml"
in
-# 1016 "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)) )
-# 20219 "parser_cocci_menhir.ml"
+# 366 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22034 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
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 = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20280 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20285 "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)
-# 20291 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20296 "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)
-# 20302 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20307 "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 =
-
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let l = l0 in
+ let ty =
+
# 39 "standard.mly"
( None )
-# 20316 "parser_cocci_menhir.ml"
+# 22087 "parser_cocci_menhir.ml"
+
+ in
+
+# 541 "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))) )
+# 22100 "parser_cocci_menhir.ml"
in
-# 1026 "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)) )
-# 20328 "parser_cocci_menhir.ml"
+# 366 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22106 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.semv = x00;
+ MenhirLib.EngineTypes.startp = _startpos_x00_;
+ MenhirLib.EngineTypes.endp = _endpos_x00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
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 = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
};
} = _menhir_stack in
- let pv : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20394 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20399 "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)
-# 20405 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20410 "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)
-# 20416 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20421 "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
-
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_metadec = let kindfn =
+ let x0 = x00 in
+ let l = l0 in
+ let ty =
+ let x = x0 in
+
# 41 "standard.mly"
( Some x )
-# 20432 "parser_cocci_menhir.ml"
+# 22167 "parser_cocci_menhir.ml"
+
+ in
+
+# 541 "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))) )
+# 22180 "parser_cocci_menhir.ml"
in
-# 1026 "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)) )
-# 20444 "parser_cocci_menhir.ml"
+# 366 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22186 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__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 = 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_metadec = let kindfn =
+ let m = m0 in
+ let l = l0 in
+
+# 550 "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))) )
+# 22253 "parser_cocci_menhir.ml"
+
+ in
+
+# 366 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22259 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty0;
+ MenhirLib.EngineTypes.startp = _startpos_ty0_;
+ MenhirLib.EngineTypes.endp = _endpos_ty0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ty0 : 'tv_expression_type = Obj.magic ty0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let ty = ty0 in
+
+# 560 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some [ty] in
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+ !Data.add_exp_meta ty name constraints pure; tok) )
+# 22314 "parser_cocci_menhir.ml"
+
+ in
+
+# 366 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22320 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
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.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
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 = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let _5 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20485 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20490 "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)
-# 20496 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_decl_ident = Obj.magic _1 in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+ let ty =
+
+# 39 "standard.mly"
+ ( None )
+# 22366 "parser_cocci_menhir.ml"
+
+ in
+
+# 565 "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) )
+# 22374 "parser_cocci_menhir.ml"
+
+ in
+
+# 366 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22380 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x00;
+ MenhirLib.EngineTypes.startp = _startpos_x00_;
+ MenhirLib.EngineTypes.endp = _endpos_x00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let x0 = x00 in
+ let ty =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 22434 "parser_cocci_menhir.ml"
+
+ in
+
+# 565 "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) )
+# 22442 "parser_cocci_menhir.ml"
+
+ in
+
+# 366 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22448 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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_econstraint_not_ceq_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 582 "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) )
+# 22495 "parser_cocci_menhir.ml"
+
+ in
+
+# 371 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22501 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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_econstraint_not_ceq_or_sub__ = Obj.magic ids in
+ let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+ let vl = vl0 in
+
+# 586 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some vl in
+ (match constraints with
+ Ast0.NotExpCstrt constraints ->
+ List.iter
+ (function c ->
+ match Ast0.unwrap c with
+ Ast0.Constant(_) ->
+ if not
+ (List.exists
+ (function
+ Type_cocci.BaseType(Type_cocci.IntType) -> true
+ | Type_cocci.BaseType(Type_cocci.ShortType) -> true
+ | Type_cocci.BaseType(Type_cocci.LongType) -> true
+ | _ -> false)
+ vl)
+ then
+ failwith "metavariable with int constraint must be an int"
+ | _ -> ())
+ constraints
+ | _ -> ());
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+ !Data.add_exp_meta ty name constraints pure; tok)
+ )
+# 22572 "parser_cocci_menhir.ml"
+
+ in
+
+# 371 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22578 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
+ let a : 'tv_option_TPosAny_ = Obj.magic a in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec =
+# 377 "parser_cocci_menhir.mly"
+ ( (if !Data.in_generating
+ then failwith "position variables not allowed in a generated rule file");
+ let kindfn arity name pure check_meta constraints =
+ let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
+ let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
+ !Data.add_pos_meta name constraints any; tok in
+ P.create_metadec_with_constraints ar false kindfn ids )
+# 22628 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 387 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in
+ !Data.add_paramlist_meta name lenname pure; tok)
+ len ids )
+# 22694 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 395 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in
+ !Data.add_explist_meta name lenname pure; tok)
+ len ids )
+# 22760 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 403 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in
+ !Data.add_field_list_meta name lenname pure; tok)
+ len ids )
+# 22826 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 411 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaInitListDecl(arity,name,lenname)) in
+ !Data.add_initlist_meta name lenname pure; tok)
+ len ids )
+# 22892 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 1930 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 22916 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 22937 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 1931 "parser_cocci_menhir.mly"
+ ( tmeta_to_ident _1 )
+# 22944 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 22965 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 1933 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,seed,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,seed,pure)) )
+# 22973 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23003 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident__ = Obj.magic b in
+ let a : 'tv_disj_ident = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_disj_ident_disj_ident_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23033 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23063 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23093 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23123 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23153 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_mctype__ = Obj.magic b in
+ let a : 'tv_mctype = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_mctype_mctype_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23183 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23213 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 2253 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23243 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let b : 'tv_loption_minus_start_ = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_minus_body =
+# 816 "parser_cocci_menhir.mly"
+ ( match f@b(*@ew*) with
+ [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+ | code -> code )
+# 23275 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 =
+# 830 "parser_cocci_menhir.mly"
+ ( match f@[b](*@ew*) with
+ [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+ | code -> code )
+# 23307 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_minus_exp_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 208 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23335 "parser_cocci_menhir.ml"
+ ) =
+# 248 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23339 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 : (
+# 208 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23367 "parser_cocci_menhir.ml"
+ ) =
+# 248 "parser_cocci_menhir.mly"
+ ( m )
+# 23371 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 : (
+# 208 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23399 "parser_cocci_menhir.ml"
+ ) =
+# 249 "parser_cocci_menhir.mly"
+ ( m )
+# 23403 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_minus_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 205 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23431 "parser_cocci_menhir.ml"
+ ) =
+# 244 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23435 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 : (
+# 205 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23463 "parser_cocci_menhir.ml"
+ ) =
+# 244 "parser_cocci_menhir.mly"
+ ( m )
+# 23467 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 : (
+# 205 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23495 "parser_cocci_menhir.ml"
+ ) =
+# 245 "parser_cocci_menhir.mly"
+ ( m )
+# 23499 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fundecl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2078 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(_1))] )
+# 23523 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2079 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 23547 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_top_init = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2080 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 23571 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2082 "parser_cocci_menhir.mly"
+ ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 23595 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ctype = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23622 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_ctype_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23629 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23656 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_disj_ident_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23663 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_eexpr = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23690 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_eexpr_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23697 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_after_dots_or = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23724 "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_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23731 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_fun_start = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23758 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_fun_start_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23765 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_mctype = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23792 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_mctype_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23799 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_rule_elem_statement = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23826 "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_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23833 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_statement = Obj.magic b in
+ let a : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23860 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_statement_ =
+# 2256 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23867 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_name_opt_decl =
+# 1048 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23891 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23942 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23948 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23953 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let s : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23958 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23963 "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 =
+# 1051 "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)) )
+# 23976 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2198 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 24006 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nest_after_exp = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_dots =
+# 2199 "parser_cocci_menhir.mly"
+ (_2)
+# 24034 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2200 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 24064 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_nest_after_exp =
+# 2208 "parser_cocci_menhir.mly"
+ ([])
+# 24081 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2209 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 24111 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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_nest_after_stm =
+# 2203 "parser_cocci_menhir.mly"
+ ([])
+# 24128 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2204 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 24158 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2205 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 24188 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let c : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24219 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24225 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1427 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...>" c, None, false)) )
+# 24234 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let c : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24265 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24271 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1431 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...+>" c, None, true)) )
+# 24280 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 24301 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nest_expressions =
+# 1434 "parser_cocci_menhir.mly"
+ ( tmeta_to_exp _1 )
+# 24308 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_after_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nest_start =
+# 2195 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 24332 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 239 "parser_cocci_menhir.mly"
+ (unit)
+# 24354 "parser_cocci_menhir.ml"
+ ) =
+# 2323 "parser_cocci_menhir.mly"
+ ( () )
+# 24358 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 239 "parser_cocci_menhir.mly"
+ (unit)
+# 24384 "parser_cocci_menhir.ml"
+ ) =
+# 2324 "parser_cocci_menhir.mly"
+ ( () )
+# 24388 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 239 "parser_cocci_menhir.mly"
+ (unit)
+# 24410 "parser_cocci_menhir.ml"
+ ) =
+# 2325 "parser_cocci_menhir.mly"
+ ( () )
+# 24414 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = dg;
+ MenhirLib.EngineTypes.startp = _startpos_dg_;
+ MenhirLib.EngineTypes.endp = _endpos_dg_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = g;
+ MenhirLib.EngineTypes.startp = _startpos_g_;
+ MenhirLib.EngineTypes.endp = _endpos_g_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _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__ =
+# 1653 "parser_cocci_menhir.mly"
+ ( function dot_builder ->
+ g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 24445 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24466 "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 ] )
+# 24473 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
+ let x : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24500 "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 )
+# 24507 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_aexpr_TEllipsis_ =
+# 2005 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 24531 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24557 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 2007 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24566 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24598 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 2010 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 24608 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 2013 "parser_cocci_menhir.mly"
+ ( _2 )
+# 24636 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24657 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 2014 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24664 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24690 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24695 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 2016 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24703 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24735 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24740 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 2019 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 24750 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 2005 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 24774 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24800 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 2007 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24809 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24841 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 2010 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 24851 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 2013 "parser_cocci_menhir.mly"
+ ( _2 )
+# 24879 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24900 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 2014 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24933 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24938 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 2016 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24946 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24978 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24983 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 2019 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 24993 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2005 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 25017 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25043 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2007 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25052 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25084 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2010 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 25094 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2013 "parser_cocci_menhir.mly"
+ ( _2 )
+# 25122 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2014 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25146 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25172 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2016 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25181 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25213 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 2019 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25224 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_initialize2 = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2005 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 25248 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25274 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2007 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25283 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25315 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2010 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 25325 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2013 "parser_cocci_menhir.mly"
+ ( _2 )
+# 25353 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2014 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25377 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25403 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2016 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25412 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25444 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 2019 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25455 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_one_dec_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 2005 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 25479 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25505 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 2007 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25514 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25546 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 2010 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 25556 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 2013 "parser_cocci_menhir.mly"
+ ( _2 )
+# 25584 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25605 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 2014 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25612 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25638 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25643 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 2016 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25651 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25683 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25688 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 2019 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25698 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2005 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 25722 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25748 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2007 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25757 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25789 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2010 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 25799 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2013 "parser_cocci_menhir.mly"
+ ( _2 )
+# 25827 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25848 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2014 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25855 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25881 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25886 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2016 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25894 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25926 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25931 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 2019 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25941 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let i : 'tv_ident_or_const = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_ceq =
+# 1841 "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] )
+# 25973 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let l : 'tv_comma_list_ident_or_const_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_not_ceq =
+# 1847 "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 )
+# 26013 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ceq;
+ MenhirLib.EngineTypes.startp = _startpos_ceq_;
+ MenhirLib.EngineTypes.endp = _endpos_ceq_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let ceq : 'tv_not_ceq = Obj.magic ceq in
+ let _startpos = _startpos_ceq_ in
+ let _endpos = _endpos_ceq_ in
+ let _v : 'tv_not_ceq_or_sub =
+# 1817 "parser_cocci_menhir.mly"
+ (Ast0.NotExpCstrt ceq)
+# 26037 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let s : 'tv_sub = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_not_ceq_or_sub =
+# 1818 "parser_cocci_menhir.mly"
+ (Ast0.SubExpCstrt s)
+# 26061 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let i : 'tv_pure_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_eqe =
+# 1822 "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))))]
+ )
+# 26094 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_not_eqe =
+# 1829 "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
+ )
+# 26138 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_not_eqid =
+# 1779 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ (* pb: constraints not stored with metavars; too lazy to search for
+ them in the pattern *)
+ then failwith "constraints not allowed in a generated rule file");
+ (match i with
+ (Some rn,id) ->
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
+ Ast.IdNegIdSet([],[i])
+ | (None,i) -> Ast.IdNegIdSet([i],[])) )
+# 26178 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_not_eqid =
+# 1793 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let (str,meta) =
+ List.fold_left
+ (function (str,meta) ->
+ function
+ (Some rn,id) as i ->
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
+ (str,i::meta)
+ | (None,i) -> (i::str,meta))
+ ([],[]) l in
+ Ast.IdNegIdSet(str,meta)
+ )
+# 26230 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 =
+# 1885 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
+ [i] )
+# 26265 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_not_pos =
+# 1894 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ List.map
+ (function i ->
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
+ l )
+# 26309 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_dec_decl_ =
+# 1980 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26333 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 134 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 26354 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_dec_decl_ =
+# 1982 "parser_cocci_menhir.mly"
+ ( let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Ast.AnyLen -> Ast0.AnyListLen
+ | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+ | Ast.CstLen n -> Ast0.CstListLen n in
+ Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
+# 26368 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ =
+# 1980 "parser_cocci_menhir.mly"
+ ( _1 )
+# 26392 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 134 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 26413 "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_ =
+# 1982 "parser_cocci_menhir.mly"
+ ( let (nm,lenname,pure,clt) = _1 in
+ let nm = P.clt2mcode nm clt in
+ let lenname =
+ match lenname with
+ Ast.AnyLen -> Ast0.AnyListLen
+ | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+ | Ast.CstLen n -> Ast0.CstListLen n in
+ Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
+# 26427 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26453 "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 =
+# 1228 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
+# 26461 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 26482 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_one_decl_var =
+# 1229 "parser_cocci_menhir.mly"
+ ( P.meta_decl _1 )
+# 26489 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26520 "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 )
+# 26530 "parser_cocci_menhir.ml"
+
+ in
+
+# 1231 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
+# 26537 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26573 "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 )
+# 26585 "parser_cocci_menhir.ml"
+
+ in
+
+# 1231 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
+# 26592 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let f : 'tv_funproto = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_f_ in
+ let _v : 'tv_one_decl_var =
+# 1233 "parser_cocci_menhir.mly"
+ ( f )
+# 26616 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26657 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26663 "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 )
+# 26673 "parser_cocci_menhir.ml"
+
+ in
+
+# 1235 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
+# 26680 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26726 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26732 "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 )
+# 26744 "parser_cocci_menhir.ml"
+
+ in
+
+# 1235 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
+# 26751 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26782 "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 )
+# 26792 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 26799 "parser_cocci_menhir.ml"
+
+ in
+
+# 1240 "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)) )
+# 26807 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26843 "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 )
+# 26855 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 26862 "parser_cocci_menhir.ml"
+
+ in
+
+# 1240 "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)) )
+# 26870 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26906 "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 )
+# 26917 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 26925 "parser_cocci_menhir.ml"
+
+ in
+
+# 1240 "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)) )
+# 26933 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 26974 "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 )
+# 26987 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 26995 "parser_cocci_menhir.ml"
+
+ in
+
+# 1240 "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)) )
+# 27003 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27044 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27050 "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 )
+# 27060 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 27067 "parser_cocci_menhir.ml"
+
+ in
+
+# 1245 "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)) )
+# 27077 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27123 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27129 "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 )
+# 27141 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+
+# 39 "standard.mly"
+ ( None )
+# 27148 "parser_cocci_menhir.ml"
+
+ in
+
+# 1245 "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)) )
+# 27158 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27204 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27210 "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 )
+# 27221 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 27229 "parser_cocci_menhir.ml"
+
+ in
+
+# 1245 "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)) )
+# 27239 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x1;
+ MenhirLib.EngineTypes.startp = _startpos_x1_;
+ MenhirLib.EngineTypes.endp = _endpos_x1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27290 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27296 "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 )
+# 27309 "parser_cocci_menhir.ml"
+
+ in
+ let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 27317 "parser_cocci_menhir.ml"
+
+ in
+
+# 1245 "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)) )
+# 27327 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27388 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27393 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27399 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27404 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27410 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27415 "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 )
+# 27424 "parser_cocci_menhir.ml"
+
+ in
+
+# 1255 "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)) )
+# 27436 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27502 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27507 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27513 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27518 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27524 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27529 "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 )
+# 27540 "parser_cocci_menhir.ml"
+
+ in
+
+# 1255 "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)) )
+# 27552 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27593 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27598 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27604 "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_one_decl_var =
+# 1263 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
+# 27613 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27684 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27690 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27695 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27701 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27706 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27712 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27717 "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 )
+# 27726 "parser_cocci_menhir.ml"
+
+ in
+
+# 1269 "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)))
+# 27738 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27814 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27820 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27825 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27831 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27836 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27842 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 27847 "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 )
+# 27858 "parser_cocci_menhir.ml"
+
+ in
+
+# 1269 "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)))
+# 27870 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_TLocal_ =
+# 29 "standard.mly"
+ ( None )
+# 27887 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : unit = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_TLocal_ =
+# 31 "standard.mly"
+ ( Some x )
+# 27911 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_TPosAny_ =
+# 29 "standard.mly"
+ ( None )
+# 27928 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : unit = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_TPosAny_ =
+# 31 "standard.mly"
+ ( Some x )
+# 27952 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_eexpr_ =
+# 29 "standard.mly"
+ ( None )
+# 27969 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_eexpr = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_eexpr_ =
+# 31 "standard.mly"
+ ( Some x )
+# 27993 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_expr_ =
+# 29 "standard.mly"
+ ( None )
+# 28010 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_expr = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_expr_ =
+# 31 "standard.mly"
+ ( Some x )
+# 28034 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_not_ceq_or_sub_ =
+# 29 "standard.mly"
+ ( None )
+# 28051 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_not_ceq_or_sub = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_not_ceq_or_sub_ =
+# 31 "standard.mly"
+ ( Some x )
+# 28075 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_re_or_not_eqe_or_sub_ =
+# 29 "standard.mly"
+ ( None )
+# 28092 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_re_or_not_eqe_or_sub_ =
+# 31 "standard.mly"
+ ( Some x )
+# 28116 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_option_re_or_not_eqid_ =
+# 29 "standard.mly"
+ ( None )
+# 28133 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_re_or_not_eqid = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_option_re_or_not_eqid_ =
+# 31 "standard.mly"
+ ( Some x )
+# 28157 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_plus_after_dots =
+# 2145 "parser_cocci_menhir.mly"
+ ([])
+# 28174 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_after_exp = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_dots =
+# 2146 "parser_cocci_menhir.mly"
+ (_2)
+# 28202 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_dots =
+# 2148 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
+# 28232 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_dots =
+# 2149 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
+# 28262 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_dots =
+# 2151 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 28292 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 2141 "parser_cocci_menhir.mly"
+ ([])
+# 28309 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_after_exp =
+# 2142 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 28339 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 2154 "parser_cocci_menhir.mly"
+ ([])
+# 28356 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_after_stm =
+# 2155 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 28386 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_stm =
+# 2156 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
+# 28416 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_after_stm =
+# 2158 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 28446 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let b : 'tv_loption_plus_start_ = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_plus_body =
+# 824 "parser_cocci_menhir.mly"
+ ( f@b(*@ew*) )
+# 28476 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = 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_plus_exp_body =
+# 838 "parser_cocci_menhir.mly"
+ ( f@[b](*@ew*) )
+# 28506 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_exp_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 214 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 28534 "parser_cocci_menhir.ml"
+ ) =
+# 250 "parser_cocci_menhir.mly"
+ ( _1 )
+# 28538 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let p : 'tv_plus_exp_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 214 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 28566 "parser_cocci_menhir.ml"
+ ) =
+# 250 "parser_cocci_menhir.mly"
+ ( p )
+# 28570 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let p : 'tv_plus_exp_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 214 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 28598 "parser_cocci_menhir.ml"
+ ) =
+# 251 "parser_cocci_menhir.mly"
+ ( p )
+# 28602 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 211 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 28630 "parser_cocci_menhir.ml"
+ ) =
+# 246 "parser_cocci_menhir.mly"
+ ( _1 )
+# 28634 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let p : 'tv_plus_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 211 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 28662 "parser_cocci_menhir.ml"
+ ) =
+# 246 "parser_cocci_menhir.mly"
+ ( p )
+# 28666 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let p : 'tv_plus_body = Obj.magic p in
+ let _startpos = _startpos_p_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 211 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 28694 "parser_cocci_menhir.ml"
+ ) =
+# 247 "parser_cocci_menhir.mly"
+ ( p )
+# 28698 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_plus_start =
+# 2130 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 28722 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_top_init = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_plus_start =
+# 2131 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 28746 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2133 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
+# 28776 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2135 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
+# 28806 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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 =
+# 2136 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(_1))::_2 )
+# 28836 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_plus_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_plus_start =
+# 2138 "parser_cocci_menhir.mly"
+ ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
+# 28866 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 28887 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pnrule =
+# 301 "parser_cocci_menhir.mly"
+ ( Ast.Dep _1 )
+# 28894 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 28919 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_pnrule =
+# 302 "parser_cocci_menhir.mly"
+ ( Ast.AntiDep _2 )
+# 28926 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 28951 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_pnrule =
+# 303 "parser_cocci_menhir.mly"
+ ( Ast.EverDep _2 )
+# 28958 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 28983 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_pnrule =
+# 304 "parser_cocci_menhir.mly"
+ ( Ast.NeverDep _2 )
+# 28990 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = _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 =
+# 305 "parser_cocci_menhir.mly"
+ ( _2 )
+# 29022 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 1583 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29046 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29082 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29088 "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_ =
+# 1585 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 29097 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29129 "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_ =
+# 1588 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 29137 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 173 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29169 "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_ =
+# 1590 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 29178 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29204 "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_ =
+# 1593 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 29212 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29238 "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_ =
+# 1595 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 29246 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29282 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29288 "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_ =
+# 1597 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 29298 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 1583 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29322 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29358 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29364 "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_ =
+# 1585 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 29373 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29405 "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_ =
+# 1588 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 29413 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 173 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29445 "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_ =
+# 1590 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 29454 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29480 "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_ =
+# 1593 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 29488 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29514 "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_ =
+# 1595 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 29522 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29558 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29564 "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_ =
+# 1597 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 29574 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 1583 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29598 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29634 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29640 "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_ =
+# 1585 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 29649 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29681 "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_ =
+# 1588 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 29689 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 173 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29721 "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_ =
+# 1590 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 29730 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29756 "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_ =
+# 1593 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 29764 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29790 "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_ =
+# 1595 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 29798 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29834 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29840 "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_ =
+# 1597 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 29850 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_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_ =
+# 1583 "parser_cocci_menhir.mly"
+ ( _1 )
+# 29874 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29910 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 171 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29916 "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_ =
+# 1585 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
+ P.clt2mcode "]" _4)) )
+# 29925 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29957 "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_ =
+# 1588 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
+# 29965 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_disj_ident = Obj.magic _3 in
+ let _2 : (
+# 173 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 29997 "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_ =
+# 1590 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
+ _3)) )
+# 30006 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30032 "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_ =
+# 1593 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
+# 30040 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30066 "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_ =
+# 1595 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
+# 30074 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30110 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30116 "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_ =
+# 1597 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
+ _3,
+ P.clt2mcode ")" _4)) )
+# 30126 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_func_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1602 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 30150 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 159 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30177 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
+# 1604 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 30185 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30206 "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_ =
+# 1607 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 30214 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30235 "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_ =
+# 1610 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 30243 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30264 "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_ =
+# 1613 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 30272 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30293 "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_ =
+# 1616 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 30301 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30322 "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_ =
+# 1619 "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)) )
+# 30331 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 30352 "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_ =
+# 1623 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 30360 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30381 "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_ =
+# 1626 "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)) )
+# 30390 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30411 "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_ =
+# 1630 "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)) )
+# 30420 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30441 "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_ =
+# 1634 "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)) )
+# 30450 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30481 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30487 "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_ =
+# 1638 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 30495 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30526 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30532 "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_ =
+# 1641 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 30542 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ =
+# 1645 "parser_cocci_menhir.mly"
+ ( _1 )
+# 30566 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_ =
+# 1602 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 30590 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 159 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30617 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1604 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 30625 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30646 "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_ =
+# 1607 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 30654 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30675 "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_ =
+# 1610 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 30683 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30704 "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_ =
+# 1613 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 30712 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 30733 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1616 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 30741 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30762 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1619 "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)) )
+# 30771 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 30792 "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_ =
+# 1623 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 30800 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30821 "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_ =
+# 1626 "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)) )
+# 30830 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30851 "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_ =
+# 1630 "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)) )
+# 30860 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 30881 "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_ =
+# 1634 "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)) )
+# 30890 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30921 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30927 "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_ =
+# 1638 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 30935 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30966 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 30972 "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_ =
+# 1641 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 30982 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_invalid = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_eexpr_invalid_ =
+# 1645 "parser_cocci_menhir.mly"
+ ( _1 )
+# 31006 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_nest_expressions_ =
+# 1602 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 31030 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 159 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31057 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
+# 1604 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 31065 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31086 "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_ =
+# 1607 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 31094 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31115 "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_ =
+# 1610 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 31123 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31144 "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_ =
+# 1613 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 31152 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31173 "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_ =
+# 1616 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 31181 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31202 "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_ =
+# 1619 "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)) )
+# 31211 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 31232 "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_ =
+# 1623 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 31240 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31261 "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_ =
+# 1626 "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)) )
+# 31270 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31291 "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_ =
+# 1630 "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)) )
+# 31300 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31321 "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_ =
+# 1634 "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)) )
+# 31330 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31361 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31367 "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_ =
+# 1638 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 31375 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31406 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31412 "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_ =
+# 1641 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 31422 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_primary_expr_eexpr_nest_expressions_ =
+# 1645 "parser_cocci_menhir.mly"
+ ( _1 )
+# 31446 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_expr_invalid_ =
+# 1602 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 31470 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 159 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31497 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1604 "parser_cocci_menhir.mly"
+ ( let op = P.clt2mcode Ast.GetRefLabel _1 in
+ Ast0.wrap(Ast0.Unary(Ast0.wrap(Ast0.Ident(_2)), op)) )
+# 31505 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31526 "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_ =
+# 1607 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 31534 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31555 "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_ =
+# 1610 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
+# 31563 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31584 "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_ =
+# 1613 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
+# 31592 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 31613 "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_ =
+# 1616 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
+# 31621 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31642 "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_ =
+# 1619 "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)) )
+# 31651 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.expinfo)
+# 31672 "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_ =
+# 1623 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
+# 31680 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31701 "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_ =
+# 1626 "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)) )
+# 31710 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31731 "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_ =
+# 1630 "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)) )
+# 31740 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 136 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 31761 "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_ =
+# 1634 "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)) )
+# 31770 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31801 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31807 "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_ =
+# 1638 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
+ P.clt2mcode ")" _3)) )
+# 31815 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31846 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 31852 "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_ =
+# 1641 "parser_cocci_menhir.mly"
+ ( let (mids,code) = _2 in
+ Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
+ code, mids,
+ P.clt2mcode ")" _3)) )
+# 31862 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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_invalid = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_primary_expr_expr_invalid_ =
+# 1645 "parser_cocci_menhir.mly"
+ ( _1 )
+# 31886 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure =
+# 261 "parser_cocci_menhir.mly"
+ ( Ast0.Pure )
+# 31908 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure =
+# 262 "parser_cocci_menhir.mly"
+ ( Ast0.Context )
+# 31930 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_pure =
+# 263 "parser_cocci_menhir.mly"
+ ( Ast0.PureContext )
+# 31956 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_pure =
+# 264 "parser_cocci_menhir.mly"
+ ( Ast0.PureContext )
+# 31982 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_pure =
+# 265 "parser_cocci_menhir.mly"
+ ( Ast0.Impure )
+# 31999 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 32020 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident =
+# 1659 "parser_cocci_menhir.mly"
+ ( _1 )
+# 32027 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1662 "parser_cocci_menhir.mly"
+ ( "identifier" )
+# 32049 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1663 "parser_cocci_menhir.mly"
+ ( "expression" )
+# 32071 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1664 "parser_cocci_menhir.mly"
+ ( "statement" )
+# 32093 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1665 "parser_cocci_menhir.mly"
+ ( "function" )
+# 32115 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1666 "parser_cocci_menhir.mly"
+ ( "local" )
+# 32137 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1667 "parser_cocci_menhir.mly"
+ ( "type" )
+# 32159 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1668 "parser_cocci_menhir.mly"
+ ( "parameter" )
+# 32181 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1669 "parser_cocci_menhir.mly"
+ ( "idexpression" )
+# 32203 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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__5_ in
- let _v : 'tv_one_decl_var =
-# 1034 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
- P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 20505 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1670 "parser_cocci_menhir.mly"
+ ( "initialiser" )
+# 32225 "parser_cocci_menhir.ml"
in
_menhir_env.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.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)
-# 20576 "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)
-# 20582 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20587 "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)
-# 20593 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20598 "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)
-# 20604 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20609 "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 )
-# 20618 "parser_cocci_menhir.ml"
-
- in
-
-# 1040 "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)))
-# 20630 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1671 "parser_cocci_menhir.mly"
+ ( "list" )
+# 32247 "parser_cocci_menhir.ml"
in
_menhir_env.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.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)
-# 20706 "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)
-# 20712 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20717 "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)
-# 20723 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20728 "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)
-# 20734 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 20739 "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 )
-# 20750 "parser_cocci_menhir.ml"
-
- in
-
-# 1040 "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)))
-# 20762 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1672 "parser_cocci_menhir.mly"
+ ( "fresh" )
+# 32269 "parser_cocci_menhir.ml"
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 )
-# 20779 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1673 "parser_cocci_menhir.mly"
+ ( "constant" )
+# 32291 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 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 )
-# 20803 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1674 "parser_cocci_menhir.mly"
+ ( "error" )
+# 32313 "parser_cocci_menhir.ml"
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 )
-# 20820 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1675 "parser_cocci_menhir.mly"
+ ( "words" )
+# 32335 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 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 )
-# 20844 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1676 "parser_cocci_menhir.mly"
+ ( "pure" )
+# 32357 "parser_cocci_menhir.ml"
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 )
-# 20861 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1677 "parser_cocci_menhir.mly"
+ ( "context" )
+# 32379 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_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 )
-# 20885 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1678 "parser_cocci_menhir.mly"
+ ( "generated" )
+# 32401 "parser_cocci_menhir.ml"
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 =
-# 1659 "parser_cocci_menhir.mly"
- ([])
-# 20902 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1679 "parser_cocci_menhir.mly"
+ ( "typedef" )
+# 32423 "parser_cocci_menhir.ml"
in
_menhir_env.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 : 'tv_plus_after_exp = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1660 "parser_cocci_menhir.mly"
- (_2)
-# 20930 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1680 "parser_cocci_menhir.mly"
+ ( "declarer" )
+# 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 = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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_plus_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1662 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 20960 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1681 "parser_cocci_menhir.mly"
+ ( "iterator" )
+# 32467 "parser_cocci_menhir.ml"
in
_menhir_env.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_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1663 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 20990 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1682 "parser_cocci_menhir.mly"
+ ( "name" )
+# 32489 "parser_cocci_menhir.ml"
in
_menhir_env.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_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_dots =
-# 1665 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 21020 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_kwd =
+# 1683 "parser_cocci_menhir.mly"
+ ( "position" )
+# 32511 "parser_cocci_menhir.ml"
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 =
-# 1655 "parser_cocci_menhir.mly"
- ([])
-# 21037 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1690 "parser_cocci_menhir.mly"
+ ( (None,P.id2name _1) )
+# 32535 "parser_cocci_menhir.ml"
in
_menhir_env.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 : 'tv_pure_ident_kwd = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_exp =
-# 1656 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 21067 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1691 "parser_cocci_menhir.mly"
+ ( (None,_1) )
+# 32559 "parser_cocci_menhir.ml"
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 =
-# 1668 "parser_cocci_menhir.mly"
- ([])
-# 21084 "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_meta_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident =
+# 1692 "parser_cocci_menhir.mly"
+ ( _1 )
+# 32583 "parser_cocci_menhir.ml"
in
_menhir_env.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 = optc;
+ MenhirLib.EngineTypes.startp = _startpos_optc_;
+ MenhirLib.EngineTypes.endp = _endpos_optc_;
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 : '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_after_stm =
-# 1669 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 21114 "parser_cocci_menhir.ml"
+ let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_optc_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
+# 1726 "parser_cocci_menhir.mly"
+ (
+ match optc with
+ None -> (i, Ast0.NoConstraint)
+ | Some c -> (i, c)
+ )
+# 32617 "parser_cocci_menhir.ml"
in
_menhir_env.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 = optc;
+ MenhirLib.EngineTypes.startp = _startpos_optc_;
+ MenhirLib.EngineTypes.endp = _endpos_optc_;
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 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_fundecl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1670 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 21144 "parser_cocci_menhir.ml"
+ let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_optc_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ =
+# 1726 "parser_cocci_menhir.mly"
+ (
+ match optc with
+ None -> (i, Ast0.NoConstraint)
+ | Some c -> (i, c)
+ )
+# 32651 "parser_cocci_menhir.ml"
in
_menhir_env.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;
- };
- } = _menhir_stack in
- let _2 : 'tv_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_after_stm =
-# 1672 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 21174 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
+# 1751 "parser_cocci_menhir.mly"
+ (
+ match c with
+ None -> (i, Ast.IdNoConstraint)
+ | Some constraint_ -> (i,constraint_)
+ )
+# 32685 "parser_cocci_menhir.ml"
in
_menhir_env.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 = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
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 = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ 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 =
-# 605 "parser_cocci_menhir.mly"
- ( Top_level.top_level (f@b@ew) )
-# 21210 "parser_cocci_menhir.ml"
+ let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
+# 1734 "parser_cocci_menhir.mly"
+ (
+ Common.Left
+ (match c with
+ None -> (i, Ast.IdNoConstraint)
+ | Some constraint_ -> (i,constraint_))
+ )
+# 32720 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _3;
+ 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.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.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 =
-# 619 "parser_cocci_menhir.mly"
- ( Top_level.top_level (f@[b]@ew) )
-# 21246 "parser_cocci_menhir.ml"
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
+# 1741 "parser_cocci_menhir.mly"
+ (
+ let nm = P.id2name _3 in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [nm]
+ !Iteration.parsed_virtual_identifiers;
+ Common.Right nm
+ )
+# 32758 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 143 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21274 "parser_cocci_menhir.ml"
- ) =
-# 179 "parser_cocci_menhir.mly"
- ( _1 )
-# 21278 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_seed =
+# 1695 "parser_cocci_menhir.mly"
+ ( (_1,Ast.NoVal) )
+# 32782 "parser_cocci_menhir.ml"
in
_menhir_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 = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
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.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_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)
-# 21306 "parser_cocci_menhir.ml"
- ) =
-# 179 "parser_cocci_menhir.mly"
- ( p )
-# 21310 "parser_cocci_menhir.ml"
+ let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in
+ let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_seed =
+# 1698 "parser_cocci_menhir.mly"
+ ( match _3 with
+ [Ast.SeedString s] -> (_1,Ast.StringSeed s)
+ | _ -> (_1,Ast.ListSeed _3) )
+# 32818 "parser_cocci_menhir.ml"
in
_menhir_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 = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
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)
-# 21338 "parser_cocci_menhir.ml"
- ) =
-# 180 "parser_cocci_menhir.mly"
- ( p )
-# 21342 "parser_cocci_menhir.ml"
+ let l : 'tv_loption_not_pos_ = Obj.magic l in
+ let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_l_ in
+ let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
+# 1720 "parser_cocci_menhir.mly"
+ (
+ (i, l)
+ )
+# 32850 "parser_cocci_menhir.ml"
in
_menhir_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 = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_plus_body = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 140 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21370 "parser_cocci_menhir.ml"
- ) =
-# 175 "parser_cocci_menhir.mly"
- ( _1 )
-# 21374 "parser_cocci_menhir.ml"
+ let re : 'tv_regexp_eqid = Obj.magic re in
+ let _startpos = _startpos_re_ in
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_re_or_not_eqe_or_sub =
+# 1812 "parser_cocci_menhir.mly"
+ (Ast0.NotIdCstrt re)
+# 32874 "parser_cocci_menhir.ml"
in
_menhir_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 = ne;
+ MenhirLib.EngineTypes.startp = _startpos_ne_;
+ MenhirLib.EngineTypes.endp = _endpos_ne_;
+ 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)
-# 21402 "parser_cocci_menhir.ml"
- ) =
-# 175 "parser_cocci_menhir.mly"
- ( p )
-# 21406 "parser_cocci_menhir.ml"
+ let ne : 'tv_not_eqe = Obj.magic ne in
+ let _startpos = _startpos_ne_ in
+ let _endpos = _endpos_ne_ in
+ let _v : 'tv_re_or_not_eqe_or_sub =
+# 1813 "parser_cocci_menhir.mly"
+ (Ast0.NotExpCstrt ne)
+# 32898 "parser_cocci_menhir.ml"
in
_menhir_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 = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ 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)
-# 21434 "parser_cocci_menhir.ml"
- ) =
-# 176 "parser_cocci_menhir.mly"
- ( p )
-# 21438 "parser_cocci_menhir.ml"
+ let s : 'tv_sub = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_re_or_not_eqe_or_sub =
+# 1814 "parser_cocci_menhir.mly"
+ (Ast0.SubExpCstrt s)
+# 32922 "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 = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_ctype = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_plus_start =
-# 1644 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 21462 "parser_cocci_menhir.ml"
+ let re : 'tv_regexp_eqid = Obj.magic re in
+ let _startpos = _startpos_re_ in
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_re_or_not_eqid =
+# 1758 "parser_cocci_menhir.mly"
+ (Ast.IdRegExpConstraint re)
+# 32946 "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 = ne;
+ MenhirLib.EngineTypes.startp = _startpos_ne_;
+ MenhirLib.EngineTypes.endp = _endpos_ne_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_top_init = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_plus_start =
-# 1645 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 21486 "parser_cocci_menhir.ml"
+ let ne : 'tv_not_eqid = Obj.magic ne in
+ let _startpos = _startpos_ne_ in
+ let _endpos = _endpos_ne_ in
+ let _v : 'tv_re_or_not_eqid =
+# 1759 "parser_cocci_menhir.mly"
+ (ne)
+# 32970 "parser_cocci_menhir.ml"
in
_menhir_env.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 = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_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 re : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 32995 "parser_cocci_menhir.ml"
+ ) = Obj.magic re in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1647 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 21516 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_regexp_eqid =
+# 1763 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
+ )
+# 33007 "parser_cocci_menhir.ml"
in
_menhir_env.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 = re;
+ MenhirLib.EngineTypes.startp = _startpos_re_;
+ MenhirLib.EngineTypes.endp = _endpos_re_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_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 re : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 33032 "parser_cocci_menhir.ml"
+ ) = Obj.magic re in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1649 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 21546 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_re_ in
+ let _v : 'tv_regexp_eqid =
+# 1770 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
+ )
+# 33044 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 : (
+# 202 "parser_cocci_menhir.mly"
+ (unit)
+# 33061 "parser_cocci_menhir.ml"
+ ) =
+# 243 "parser_cocci_menhir.mly"
+ ( )
+# 33065 "parser_cocci_menhir.ml"
in
_menhir_env.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 : 'tv_one_decl_var = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1650 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 21576 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_rule_elem_statement =
+# 1124 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
+# 33089 "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_plus_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33115 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_option_expr_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_plus_start =
-# 1652 "parser_cocci_menhir.mly"
- ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 21606 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 1125 "parser_cocci_menhir.mly"
+ ( P.exp_stm _1 _2 )
+# 33123 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33154 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21627 "parser_cocci_menhir.ml"
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33160 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pnrule =
-# 226 "parser_cocci_menhir.mly"
- ( Ast.Dep _1 )
-# 21634 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_rule_elem_statement =
+# 1126 "parser_cocci_menhir.mly"
+ ( P.ret_exp _1 _2 _3 )
+# 33167 "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 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21659 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33193 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
+ let _1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33198 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 227 "parser_cocci_menhir.mly"
- ( Ast.AntiDep _2 )
-# 21666 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 1127 "parser_cocci_menhir.mly"
+ ( P.ret _1 _2 )
+# 33205 "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 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21691 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33231 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
+ let _1 : (
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33236 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 228 "parser_cocci_menhir.mly"
- ( Ast.EverDep _2 )
-# 21698 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 1128 "parser_cocci_menhir.mly"
+ ( P.break _1 _2 )
+# 33243 "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 : (
-# 47 "parser_cocci_menhir.mly"
- (string)
-# 21723 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33269 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
+ let _1 : (
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33274 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_pnrule =
-# 229 "parser_cocci_menhir.mly"
- ( Ast.NeverDep _2 )
-# 21730 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 1129 "parser_cocci_menhir.mly"
+ ( P.cont _1 _2 )
+# 33281 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _3;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _2 : 'tv_dep = Obj.magic _2 in
+ let _3 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33312 "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 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 33318 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_pnrule =
-# 230 "parser_cocci_menhir.mly"
- ( _2 )
-# 21762 "parser_cocci_menhir.ml"
+ let _v : 'tv_rule_elem_statement =
+# 1131 "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)) )
+# 33329 "parser_cocci_menhir.ml"
in
_menhir_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 : 'tv_primary_expr_eexpr_dot_expressions_ = 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_postfix_expr_eexpr_dot_expressions_ =
-# 1312 "parser_cocci_menhir.mly"
- ( _1 )
-# 21786 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 224 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 33385 "parser_cocci_menhir.ml"
+ ) = let nm =
+
+# 39 "standard.mly"
+ ( None )
+# 33390 "parser_cocci_menhir.ml"
+
+ in
+
+# 273 "parser_cocci_menhir.mly"
+ ( P.make_cocci_rule_name_result nm d i a e ee )
+# 33396 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__8_;
+ MenhirLib.EngineTypes.endp = _endpos__8_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = ee;
+ MenhirLib.EngineTypes.startp = _startpos_ee_;
+ MenhirLib.EngineTypes.endp = _endpos_ee_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- 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;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ 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 _4 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21822 "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)
-# 21828 "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_ =
-# 1314 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 21837 "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 : (
+# 224 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 33458 "parser_cocci_menhir.ml"
+ ) = let nm =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 33464 "parser_cocci_menhir.ml"
+
+ in
+
+# 273 "parser_cocci_menhir.mly"
+ ( P.make_cocci_rule_name_result nm d i a e ee )
+# 33470 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__8_;
+ MenhirLib.EngineTypes.endp = _endpos__8_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ee;
+ MenhirLib.EngineTypes.startp = _startpos_ee_;
+ MenhirLib.EngineTypes.endp = _endpos_ee_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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 = 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 _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21869 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = 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__3_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1317 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 21877 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__8_ in
+ let _v : (
+# 224 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 33530 "parser_cocci_menhir.ml"
+ ) =
+# 278 "parser_cocci_menhir.mly"
+ ( P.make_generated_rule_name_result None d i a e ee )
+# 33534 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21909 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let d : 'tv_depends = Obj.magic d in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1319 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 21918 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : (
+# 224 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 33576 "parser_cocci_menhir.ml"
+ ) = let nm =
+
+# 39 "standard.mly"
+ ( None )
+# 33581 "parser_cocci_menhir.ml"
+
+ in
+
+# 280 "parser_cocci_menhir.mly"
+ ( P.make_script_rule_name_result lang nm d )
+# 33587 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21944 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let d : 'tv_depends = Obj.magic d in
+ let x0 : 'tv_pure_ident = Obj.magic x0 in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1322 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 21952 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__6_ in
+ let _v : (
+# 224 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 33635 "parser_cocci_menhir.ml"
+ ) = let nm =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 33641 "parser_cocci_menhir.ml"
+
+ in
+
+# 280 "parser_cocci_menhir.mly"
+ ( P.make_script_rule_name_result lang nm d )
+# 33647 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21978 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let d : 'tv_depends = Obj.magic d in
+ let lang : 'tv_pure_ident = Obj.magic lang in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1324 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 21986 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : (
+# 224 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 33689 "parser_cocci_menhir.ml"
+ ) =
+# 282 "parser_cocci_menhir.mly"
+ ( P.make_initial_script_rule_name_result lang d )
+# 33693 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = lang;
+ MenhirLib.EngineTypes.startp = _startpos_lang_;
+ MenhirLib.EngineTypes.endp = _endpos_lang_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.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.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)
-# 22022 "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)
-# 22028 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = 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__4_ in
- let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1326 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22038 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : (
+# 224 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 33735 "parser_cocci_menhir.ml"
+ ) =
+# 284 "parser_cocci_menhir.mly"
+ ( P.make_final_script_rule_name_result lang d )
+# 33739 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_primary_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1312 "parser_cocci_menhir.mly"
- ( _1 )
-# 22062 "parser_cocci_menhir.ml"
+ 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 py : 'tv_pure_ident = Obj.magic py in
+ let _startpos = _startpos_py_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 230 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33767 "parser_cocci_menhir.ml"
+ ) =
+# 2329 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name py), None), None) )
+# 33771 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- 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 = py;
+ MenhirLib.EngineTypes.startp = _startpos_py_;
+ MenhirLib.EngineTypes.endp = _endpos_py_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _4 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22098 "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)
-# 22104 "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_ =
-# 1314 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 22113 "parser_cocci_menhir.ml"
+ let _2 : 'tv_script_name_decl = Obj.magic _2 in
+ let py : 'tv_pure_ident = Obj.magic py in
+ let _startpos = _startpos_py_ in
+ let _endpos = _endpos__3_ in
+ let _v : (
+# 230 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33805 "parser_cocci_menhir.ml"
+ ) =
+# 2331 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name py), None), Some _2) )
+# 33809 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ast;
+ MenhirLib.EngineTypes.startp = _startpos_ast_;
+ MenhirLib.EngineTypes.endp = _endpos_ast_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22145 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _6 : 'tv_script_name_decl = Obj.magic _6 in
+ let ast : 'tv_pure_ident = Obj.magic ast in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1317 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 22153 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 230 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33859 "parser_cocci_menhir.ml"
+ ) =
+# 2333 "parser_cocci_menhir.mly"
+ ( ((None, Some (P.id2name ast)), Some _6) )
+# 33863 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = str;
+ MenhirLib.EngineTypes.startp = _startpos_str_;
+ MenhirLib.EngineTypes.endp = _endpos_str_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22185 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _6 : 'tv_script_name_decl = Obj.magic _6 in
+ let str : 'tv_pure_ident = Obj.magic str in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1319 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 22194 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 230 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33913 "parser_cocci_menhir.ml"
+ ) =
+# 2335 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name str), None), Some _6) )
+# 33917 "parser_cocci_menhir.ml"
in
_menhir_env.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__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ast;
+ MenhirLib.EngineTypes.startp = _startpos_ast_;
+ MenhirLib.EngineTypes.endp = _endpos_ast_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = str;
+ MenhirLib.EngineTypes.startp = _startpos_str_;
+ MenhirLib.EngineTypes.endp = _endpos_str_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22220 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _6 : 'tv_script_name_decl = Obj.magic _6 in
+ let ast : 'tv_pure_ident = Obj.magic ast in
+ let str : 'tv_pure_ident = Obj.magic str in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1322 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 22228 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : (
+# 230 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33969 "parser_cocci_menhir.ml"
+ ) =
+# 2337 "parser_cocci_menhir.mly"
+ ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
+# 33973 "parser_cocci_menhir.ml"
in
_menhir_env.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 = cocci;
+ MenhirLib.EngineTypes.startp = _startpos_cocci_;
+ MenhirLib.EngineTypes.endp = _endpos_cocci_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _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 cocci : 'tv_pure_ident = Obj.magic cocci in
let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22254 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 34008 "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_ =
-# 1324 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 22262 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_cocci_ in
+ let _v : 'tv_script_name_decl =
+# 2341 "parser_cocci_menhir.mly"
+ ( let nm = P.id2name cocci in
+ let mv = Parse_aux.lookup _2 nm in
+ ((_2, nm), mv) )
+# 34017 "parser_cocci_menhir.ml"
in
_menhir_env.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 = cocci;
+ MenhirLib.EngineTypes.startp = _startpos_cocci_;
+ MenhirLib.EngineTypes.endp = _endpos_cocci_;
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 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22298 "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)
-# 22304 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let cocci : 'tv_pure_ident = Obj.magic cocci in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1326 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22314 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_cocci_ in
+ let _v : 'tv_script_name_decl =
+# 2345 "parser_cocci_menhir.mly"
+ ( let nm = P.id2name cocci in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [nm]
+ !Iteration.parsed_virtual_identifiers;
+ let name = ("virtual", nm) in
+ let mv = Ast.MetaIdDecl(Ast.NONE,name) in
+ (name,mv) )
+# 34059 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 34080 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_seed_elem =
+# 1703 "parser_cocci_menhir.mly"
+ ( let (x,_) = _1 in Ast.SeedString x )
+# 34087 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_primary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.midinfo)
+# 34108 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1312 "parser_cocci_menhir.mly"
- ( _1 )
-# 22338 "parser_cocci_menhir.ml"
+ let _v : 'tv_seed_elem =
+# 1704 "parser_cocci_menhir.mly"
+ ( let (x,_,_,_,_) = _1 in Ast.SeedId x )
+# 34115 "parser_cocci_menhir.ml"
in
_menhir_env.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)
-# 22374 "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)
-# 22380 "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_ =
-# 1314 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 22389 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_seed_elem =
+# 1705 "parser_cocci_menhir.mly"
+ (failwith "tmeta")
+# 34137 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22421 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1317 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 22429 "parser_cocci_menhir.ml"
+ let _v : 'tv_seed_elem =
+# 1707 "parser_cocci_menhir.mly"
+ ( let nm = ("virtual",P.id2name _3) in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [snd nm]
+ !Iteration.parsed_virtual_identifiers;
+ try Ast.SeedString (List.assoc (snd nm) !Flag.defined_virtual_env)
+ with Not_found -> Ast.SeedId nm )
+# 34174 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__3_;
MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22461 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 34205 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1319 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 22470 "parser_cocci_menhir.ml"
+ let _v : 'tv_seed_elem =
+# 1714 "parser_cocci_menhir.mly"
+ ( let nm = (_1,P.id2name _3) in
+ P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
+ Ast.SeedId nm )
+# 34214 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 34235 "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 ] )
+# 34242 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22496 "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_ =
-# 1322 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 22504 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
+ let x : (
+# 156 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 34273 "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 )
+# 34280 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ 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 ] )
+# 34304 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22530 "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_ =
-# 1324 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 22538 "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 )
+# 34338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_ctype = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 34362 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22574 "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)
-# 22580 "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_ =
-# 1326 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22590 "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 )
+# 34396 "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_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_ =
-# 1312 "parser_cocci_menhir.mly"
- ( _1 )
-# 22614 "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 ] )
+# 34420 "parser_cocci_menhir.ml"
in
_menhir_env.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 = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _4 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22650 "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)
-# 22656 "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.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
- P.clt2mcode "]" _4)) )
-# 22665 "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 )
+# 34454 "parser_cocci_menhir.ml"
in
_menhir_env.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_ident = Obj.magic _3 in
- let _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22697 "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_ =
-# 1317 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 22705 "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 ] )
+# 34478 "parser_cocci_menhir.ml"
in
_menhir_env.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 : 'tv_ident = Obj.magic _3 in
- let _2 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22737 "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_ =
-# 1319 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
- _3)) )
-# 22746 "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 )
+# 34512 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22772 "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_ =
-# 1322 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 22780 "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 ] )
+# 34536 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22806 "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_ =
-# 1324 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 22814 "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 )
+# 34570 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = 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 ] )
+# 34594 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 22850 "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)
-# 22856 "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_ =
-# 1326 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
- _3,
- P.clt2mcode ")" _4)) )
-# 22866 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = 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 )
+# 34628 "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_func_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1331 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 22890 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 34652 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 22911 "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 (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 22919 "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 )
+# 34686 "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)
-# 22940 "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_ =
-# 1336 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 22948 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 34710 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 22969 "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_ =
-# 1339 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 22977 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 34744 "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)
-# 22998 "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_ =
-# 1342 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 23006 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 34768 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 23027 "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_ =
-# 1345 "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)) )
-# 23036 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 34802 "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 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 23057 "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_ =
-# 1349 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 23065 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 34826 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 23086 "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_ =
-# 1352 "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)) )
-# 23095 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 34860 "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)
-# 23116 "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_ =
-# 1356 "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)) )
-# 23125 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 34884 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 34918 "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)
-# 23146 "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_ =
-# 1360 "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)) )
-# 23155 "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 ] )
+# 34942 "parser_cocci_menhir.ml"
in
_menhir_env.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)
-# 23186 "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)
-# 23192 "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_ =
-# 1364 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 23200 "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 )
+# 34976 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 23231 "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)
-# 23237 "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_ =
-# 1367 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 23247 "parser_cocci_menhir.ml"
+ let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 35000 "parser_cocci_menhir.ml"
in
_menhir_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_dot_expressions = 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"
- ( _1 )
-# 23271 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in
+ let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 35034 "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_func_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1331 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 23295 "parser_cocci_menhir.ml"
+ let x : 'tv_typedef_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
+# 144 "standard.mly"
+ ( [ x ] )
+# 35058 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 23316 "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 (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 23324 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic xs in
+ let x : 'tv_typedef_ident = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 35092 "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)
-# 23345 "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_ =
-# 1336 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 23353 "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 ] )
+# 35116 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 23374 "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_ =
-# 1339 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 23382 "parser_cocci_menhir.ml"
+ let xs : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic xs in
+ let x : 'tv_seed_elem = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
+# 146 "standard.mly"
+ ( x :: xs )
+# 35150 "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)
-# 23403 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_statement = 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"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 23411 "parser_cocci_menhir.ml"
+ let _v : 'tv_single_statement =
+# 1139 "parser_cocci_menhir.mly"
+ ( _1 )
+# 35174 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35205 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23432 "parser_cocci_menhir.ml"
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35211 "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_ =
-# 1345 "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)) )
-# 23441 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_single_statement =
+# 1143 "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)) )
+# 35222 "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 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 23462 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_includes = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1349 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 23470 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 1065 "parser_cocci_menhir.mly"
+ ( _1 )
+# 35246 "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)
-# 23491 "parser_cocci_menhir.ml"
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 35267 "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_ =
-# 1352 "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)) )
-# 23500 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 1066 "parser_cocci_menhir.mly"
+ ( tmeta_to_statement _1)
+# 35274 "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)
-# 23521 "parser_cocci_menhir.ml"
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 35295 "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_ =
-# 1356 "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)) )
-# 23530 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 1068 "parser_cocci_menhir.mly"
+ ( P.meta_stm _1 )
+# 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.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 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23551 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35328 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_option_expr_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1360 "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)) )
-# 23560 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1070 "parser_cocci_menhir.mly"
+ ( P.exp_stm _1 _2 )
+# 35336 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _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 _3 : (
-# 77 "parser_cocci_menhir.mly"
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 23591 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
+# 35378 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35384 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 23597 "parser_cocci_menhir.ml"
+# 35389 "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_ =
-# 1364 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 23605 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 1072 "parser_cocci_menhir.mly"
+ ( P.ifthen _1 _2 _3 _4 _5 )
+# 35396 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _7;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _6;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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 _3 : (
-# 77 "parser_cocci_menhir.mly"
+ let _7 : 'tv_single_statement = Obj.magic _7 in
+ let _6 : (
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 23636 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+# 35448 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35454 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35460 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 23642 "parser_cocci_menhir.ml"
+# 35465 "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_ =
-# 1367 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 23652 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_invalid = 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"
- ( _1 )
-# 23676 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_statement =
+# 1074 "parser_cocci_menhir.mly"
+ ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
+# 35472 "parser_cocci_menhir.ml"
in
_menhir_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 _1 : 'tv_func_ident = Obj.magic _1 in
+ let _9 : 'tv_single_statement = Obj.magic _9 in
+ let _8 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35534 "parser_cocci_menhir.ml"
+ ) = Obj.magic _8 in
+ let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
+ let _6 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35540 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
+ let _4 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35546 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35552 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35557 "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_ =
-# 1331 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 23700 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_statement =
+# 1077 "parser_cocci_menhir.mly"
+ ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
+# 35564 "parser_cocci_menhir.ml"
in
_menhir_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 _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35606 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35612 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23721 "parser_cocci_menhir.ml"
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35617 "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_ =
-# 1333 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 23729 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 1079 "parser_cocci_menhir.mly"
+ ( P.whileloop _1 _2 _3 _4 _5 )
+# 35624 "parser_cocci_menhir.ml"
in
_menhir_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 = _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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35675 "parser_cocci_menhir.ml"
+ ) = Obj.magic _7 in
+ let _6 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35680 "parser_cocci_menhir.ml"
+ ) = Obj.magic _6 in
+ let _5 : 'tv_eexpr = Obj.magic _5 in
+ let _4 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35686 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35691 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_single_statement = Obj.magic _2 in
let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23750 "parser_cocci_menhir.ml"
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35697 "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_ =
-# 1336 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 23758 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_statement =
+# 1081 "parser_cocci_menhir.mly"
+ ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
+# 35704 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23779 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _5 : 'tv_single_statement = Obj.magic _5 in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35746 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35752 "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_primary_expr_eexpr_nest_expressions_ =
-# 1339 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 23787 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_statement =
+# 1083 "parser_cocci_menhir.mly"
+ ( P.iterator _1 _2 _3 _4 _5 )
+# 35760 "parser_cocci_menhir.ml"
in
_menhir_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 = _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 _8 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35816 "parser_cocci_menhir.ml"
+ ) = Obj.magic _8 in
+ let _7 : 'tv_list_case_line_ = Obj.magic _7 in
+ let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
+ let _5 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35823 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35828 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr = Obj.magic _3 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35834 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 23808 "parser_cocci_menhir.ml"
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35839 "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_ =
-# 1342 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 23816 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__8_ in
+ let _v : 'tv_statement =
+# 1085 "parser_cocci_menhir.mly"
+ ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
+# 35846 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35877 "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)
-# 23837 "parser_cocci_menhir.ml"
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35883 "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_ =
-# 1345 "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)) )
-# 23846 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_statement =
+# 1086 "parser_cocci_menhir.mly"
+ ( P.ret_exp _1 _2 _3 )
+# 35890 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35916 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 23867 "parser_cocci_menhir.ml"
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35921 "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_ =
-# 1349 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 23875 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1087 "parser_cocci_menhir.mly"
+ ( P.ret _1 _2 )
+# 35928 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35954 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23896 "parser_cocci_menhir.ml"
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35959 "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_ =
-# 1352 "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)) )
-# 23905 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1088 "parser_cocci_menhir.mly"
+ ( P.break _1 _2 )
+# 35966 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35992 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23926 "parser_cocci_menhir.ml"
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 35997 "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.ID,pure)) )
-# 23935 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1089 "parser_cocci_menhir.mly"
+ ( P.cont _1 _2 )
+# 36004 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 23956 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36030 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_mident = 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,ty,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 23965 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_statement =
+# 1090 "parser_cocci_menhir.mly"
+ ( P.label _1 _2 )
+# 36038 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Data.clt)
-# 23996 "parser_cocci_menhir.ml"
+# 36069 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _2 : 'tv_disj_ident = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 24002 "parser_cocci_menhir.ml"
+# 36075 "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_ =
-# 1364 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 24010 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 1091 "parser_cocci_menhir.mly"
+ ( P.goto _1 _2 _3 )
+# 36082 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 24041 "parser_cocci_menhir.ml"
+# 36113 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
- let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
+ let _2 : 'tv_fun_start = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 24047 "parser_cocci_menhir.ml"
+# 36119 "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_ =
-# 1367 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 24057 "parser_cocci_menhir.ml"
+ let _v : 'tv_statement =
+# 1093 "parser_cocci_menhir.mly"
+ ( P.seq _1 _2 _3 )
+# 36126 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 _1 : 'tv_nest_expressions = Obj.magic _1 in
+ let w : 'tv_list_whenppdecs_ = Obj.magic w in
+ let _1 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36153 "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"
- ( _1 )
-# 24081 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_w_ in
+ let _v : 'tv_stm_dots =
+# 1097 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
+# 36160 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.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 c : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36196 "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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36203 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_stm_dots =
+# 1099 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 36211 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.next = {
+ 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 _1 : 'tv_func_ident = Obj.magic _1 in
+ let c : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36247 "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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36254 "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_ =
-# 1331 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(_1)) )
-# 24105 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_stm_dots =
+# 1102 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 36262 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24126 "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 (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 24134 "parser_cocci_menhir.ml"
+ let s : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36283 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1026 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Static s )
+# 36290 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24155 "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_ =
-# 1336 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 24163 "parser_cocci_menhir.ml"
+ let s : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36311 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1027 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Auto s )
+# 36318 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24184 "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_ =
-# 1339 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 24192 "parser_cocci_menhir.ml"
+ let s : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36339 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1028 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Register s )
+# 36346 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24213 "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_ =
-# 1342 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 24221 "parser_cocci_menhir.ml"
+ let s : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36367 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_storage =
+# 1029 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Extern s )
+# 36374 "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 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 24242 "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_ =
-# 1345 "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)) )
-# 24251 "parser_cocci_menhir.ml"
+ let _v : 'tv_struct_decl =
+# 733 "parser_cocci_menhir.mly"
+ ( [] )
+# 36396 "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 : (
-# 63 "parser_cocci_menhir.mly"
- (Parse_aux.expinfo)
-# 24272 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_struct_decl_one = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_primary_expr_expr_invalid_ =
-# 1349 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 24280 "parser_cocci_menhir.ml"
+ let _v : 'tv_struct_decl =
+# 734 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 36420 "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)
-# 24301 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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_primary_expr_expr_invalid_ =
-# 1352 "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)) )
-# 24310 "parser_cocci_menhir.ml"
+ let _v : 'tv_struct_decl_list =
+# 758 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 36444 "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)
-# 24331 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_struct_decl = 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.ID,pure)) )
-# 24340 "parser_cocci_menhir.ml"
+ let _v : 'tv_struct_decl_list_start =
+# 761 "parser_cocci_menhir.mly"
+ ( _1 )
+# 36468 "parser_cocci_menhir.ml"
in
_menhir_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 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.typed_info)
-# 24361 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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__1_ in
- let _v : 'tv_primary_expr_expr_invalid_ =
-# 1360 "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)) )
-# 24370 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_struct_decl_list_start =
+# 762 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 36498 "parser_cocci_menhir.ml"
in
_menhir_env.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 = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
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 = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24401 "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)
-# 24407 "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_ =
-# 1364 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
- P.clt2mcode ")" _3)) )
-# 24415 "parser_cocci_menhir.ml"
+ let r : 'tv_continue_struct_decl_list = Obj.magic r in
+ let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_struct_decl_list_start =
+# 764 "parser_cocci_menhir.mly"
+ ( (P.mkddots_one "..." d)::r )
+# 36528 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24446 "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)
-# 24452 "parser_cocci_menhir.ml"
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 36549 "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_ =
-# 1367 "parser_cocci_menhir.mly"
- ( let (mids,code) = _2 in
- Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
- code, mids,
- P.clt2mcode ")" _3)) )
-# 24462 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_one =
+# 737 "parser_cocci_menhir.mly"
+ ( P.meta_field _1 )
+# 36556 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_invalid = Obj.magic _1 in
+ let _1 : (
+# 135 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 36577 "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"
- ( _1 )
-# 24486 "parser_cocci_menhir.ml"
+ let _v : 'tv_struct_decl_one =
+# 738 "parser_cocci_menhir.mly"
+ ( P.meta_field_list _1 )
+# 36584 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 36605 "parser_cocci_menhir.ml"
+ ) = 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 )
-# 24508 "parser_cocci_menhir.ml"
+ let _v : 'tv_struct_decl_one =
+# 739 "parser_cocci_menhir.mly"
+ ( tmeta_to_field _1 )
+# 36612 "parser_cocci_menhir.ml"
in
_menhir_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 = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure =
-# 191 "parser_cocci_menhir.mly"
- ( Ast0.Context )
-# 24530 "parser_cocci_menhir.ml"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36643 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one =
+# 741 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 36653 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 = 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 _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_pure =
-# 192 "parser_cocci_menhir.mly"
- ( Ast0.PureContext )
-# 24556 "parser_cocci_menhir.ml"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36714 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let rp2 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36719 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36725 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36730 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 168 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36736 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36741 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one =
+# 745 "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)) )
+# 36755 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 = 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 _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_pure =
-# 193 "parser_cocci_menhir.mly"
- ( Ast0.PureContext )
-# 24582 "parser_cocci_menhir.ml"
+ let pv : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36786 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one = let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 36796 "parser_cocci_menhir.ml"
+
+ in
+
+# 753 "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)) )
+# 36804 "parser_cocci_menhir.ml"
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 )
-# 24599 "parser_cocci_menhir.ml"
+ 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 : (
+# 176 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36840 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let d : 'tv_d_ident = Obj.magic d in
+ let i : 'tv_pure_ident = Obj.magic i in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_struct_decl_one = let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 36852 "parser_cocci_menhir.ml"
+
+ in
+
+# 753 "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)) )
+# 36860 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 59 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 24620 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident =
-# 1385 "parser_cocci_menhir.mly"
- ( _1 )
-# 24627 "parser_cocci_menhir.ml"
+ let s : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36881 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_s_ in
+ let _v : 'tv_struct_or_union =
+# 729 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Struct s )
+# 36888 "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 = u;
+ MenhirLib.EngineTypes.startp = _startpos_u_;
+ MenhirLib.EngineTypes.endp = _endpos_u_;
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 =
-# 1391 "parser_cocci_menhir.mly"
- ( (None,P.id2name _1) )
-# 24651 "parser_cocci_menhir.ml"
+ let u : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 36909 "parser_cocci_menhir.ml"
+ ) = Obj.magic u in
+ let _startpos = _startpos_u_ in
+ let _endpos = _endpos_u_ in
+ let _v : 'tv_struct_or_union =
+# 730 "parser_cocci_menhir.mly"
+ ( P.clt2mcode Ast.Union u )
+# 36916 "parser_cocci_menhir.ml"
in
_menhir_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.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 i : 'tv_meta_ident = Obj.magic i in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1392 "parser_cocci_menhir.mly"
- ( _1 )
-# 24675 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_sub =
+# 1858 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ let i =
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
+ [i] )
+# 36951 "parser_cocci_menhir.ml"
in
_menhir_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.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
+ let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1393 "parser_cocci_menhir.mly"
- ( (None,"list") )
-# 24697 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_sub =
+# 1867 "parser_cocci_menhir.mly"
+ ( (if !Data.in_iso
+ then failwith "constraints not allowed in iso file");
+ (if !Data.in_generating
+ then failwith "constraints not allowed in a generated rule file");
+ List.map
+ (function i ->
+ P.check_inherited_constraint i
+ (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
+ l)
+# 36995 "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_eexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1394 "parser_cocci_menhir.mly"
- ( (None,"error") )
-# 24719 "parser_cocci_menhir.ml"
+ let _v : 'tv_top_eexpr =
+# 1415 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
+# 37019 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37050 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37056 "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 =
-# 1395 "parser_cocci_menhir.mly"
- ( (None,"type") )
-# 24741 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_top_init =
+# 2118 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 37068 "parser_cocci_menhir.ml"
in
_menhir_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;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_pure_ident_or_meta_ident =
-# 1396 "parser_cocci_menhir.mly"
- ( (None,"name") )
-# 24763 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_toplevel_after_dots =
+# 2106 "parser_cocci_menhir.mly"
+ ([])
+# 37085 "parser_cocci_menhir.ml"
in
_menhir_env.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.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_ =
-# 1399 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24793 "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 =
+# 2107 "parser_cocci_menhir.mly"
+ (_2)
+# 37113 "parser_cocci_menhir.ml"
in
_menhir_env.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_ =
-# 1399 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24823 "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 =
+# 2108 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 37143 "parser_cocci_menhir.ml"
in
_menhir_env.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_ =
-# 1399 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24853 "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 =
+# 2109 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 37173 "parser_cocci_menhir.ml"
in
_menhir_env.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.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_ =
-# 1399 "parser_cocci_menhir.mly"
- ( (i,l) )
-# 24883 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.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)
-# 24900 "parser_cocci_menhir.ml"
- ) =
-# 172 "parser_cocci_menhir.mly"
- ( )
-# 24904 "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 =
+# 2097 "parser_cocci_menhir.mly"
+ (_2)
+# 37201 "parser_cocci_menhir.ml"
in
_menhir_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_one_decl_var = Obj.magic _1 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__1_ in
- let _v : 'tv_rule_elem_statement =
-# 905 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 24928 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_after_dots_init =
+# 2098 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 37231 "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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24954 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 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_rule_elem_statement =
-# 906 "parser_cocci_menhir.mly"
- ( P.exp_stm _1 _2 )
-# 24962 "parser_cocci_menhir.ml"
+ let _v : 'tv_toplevel_after_dots_init =
+# 2099 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 37261 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 24993 "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)
-# 24999 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_rule_elem_statement =
-# 907 "parser_cocci_menhir.mly"
- ( P.ret_exp _1 _2 _3 )
-# 25006 "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 =
+# 2102 "parser_cocci_menhir.mly"
+ ([])
+# 37278 "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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25032 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25037 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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_rule_elem_statement =
-# 908 "parser_cocci_menhir.mly"
- ( P.ret _1 _2 )
-# 25044 "parser_cocci_menhir.ml"
+ let _v : 'tv_toplevel_after_exp =
+# 2103 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 37308 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.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 =
+# 2112 "parser_cocci_menhir.mly"
+ ([])
+# 37325 "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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25070 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25075 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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_rule_elem_statement =
-# 909 "parser_cocci_menhir.mly"
- ( P.break _1 _2 )
-# 25082 "parser_cocci_menhir.ml"
+ let _v : 'tv_toplevel_after_stm =
+# 2113 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 37355 "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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25108 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
- (Data.clt)
-# 25113 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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_rule_elem_statement =
-# 910 "parser_cocci_menhir.mly"
- ( P.cont _1 _2 )
-# 25120 "parser_cocci_menhir.ml"
+ let _v : 'tv_toplevel_after_stm =
+# 2114 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 37385 "parser_cocci_menhir.ml"
in
_menhir_env.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"
- (Data.clt)
-# 25151 "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"
- (Data.clt)
-# 25157 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 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__3_ in
- let _v : 'tv_rule_elem_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)) )
-# 25168 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
+# 2092 "parser_cocci_menhir.mly"
+ ( _1::_2 )
+# 37415 "parser_cocci_menhir.ml"
in
_menhir_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 = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_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 _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__7_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25224 "parser_cocci_menhir.ml"
- ) = let nm =
-
-# 39 "standard.mly"
- ( None )
-# 25229 "parser_cocci_menhir.ml"
-
- in
-
-# 202 "parser_cocci_menhir.mly"
- ( P.make_cocci_rule_name_result nm d i a e ee )
-# 25235 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
+# 2093 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
+# 37445 "parser_cocci_menhir.ml"
in
_menhir_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 = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
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;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_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 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)
-# 25297 "parser_cocci_menhir.ml"
- ) = let nm =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 25303 "parser_cocci_menhir.ml"
-
- in
-
-# 202 "parser_cocci_menhir.mly"
- ( P.make_cocci_rule_name_result nm d i a e ee )
-# 25309 "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_ =
+# 2094 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 37475 "parser_cocci_menhir.ml"
in
_menhir_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 = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ee;
- MenhirLib.EngineTypes.startp = _startpos_ee_;
- MenhirLib.EngineTypes.endp = _endpos_ee_;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
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 = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
- };
- } = _menhir_stack in
- let ee : 'tv_is_expression = Obj.magic ee in
- let e : 'tv_exists = Obj.magic e in
- let a : 'tv_loption_disable_ = Obj.magic a in
- let i : 'tv_loption_choose_iso_ = Obj.magic i in
- let d : 'tv_depends = Obj.magic d in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__8_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25369 "parser_cocci_menhir.ml"
- ) =
-# 207 "parser_cocci_menhir.mly"
- ( P.make_generated_rule_name_result None d i a e ee )
-# 25373 "parser_cocci_menhir.ml"
+ };
+ } = _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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37508 "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
+
+# 1107 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
+# 37518 "parser_cocci_menhir.ml"
+
+ in
+
+# 2085 "parser_cocci_menhir.mly"
+ ( a::b )
+# 37524 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lang;
- MenhirLib.EngineTypes.startp = _startpos_lang_;
- MenhirLib.EngineTypes.endp = _endpos_lang_;
+ MenhirLib.EngineTypes.semv = b0;
+ MenhirLib.EngineTypes.startp = _startpos_b0_;
+ MenhirLib.EngineTypes.endp = _endpos_b0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let d : 'tv_depends = Obj.magic d in
- let lang : 'tv_pure_ident = Obj.magic lang in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : (
-# 153 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 25415 "parser_cocci_menhir.ml"
- ) =
-# 209 "parser_cocci_menhir.mly"
- ( P.make_script_rule_name_result lang d )
-# 25419 "parser_cocci_menhir.ml"
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let c0 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37566 "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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37573 "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
+
+# 1111 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 37586 "parser_cocci_menhir.ml"
+
+ in
+
+# 2086 "parser_cocci_menhir.mly"
+ ( a::b )
+# 37592 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = cocci;
- MenhirLib.EngineTypes.startp = _startpos_cocci_;
- MenhirLib.EngineTypes.endp = _endpos_cocci_;
+ MenhirLib.EngineTypes.semv = c0;
+ MenhirLib.EngineTypes.startp = _startpos_c0_;
+ MenhirLib.EngineTypes.endp = _endpos_c0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = b0;
+ MenhirLib.EngineTypes.startp = _startpos_b0_;
+ MenhirLib.EngineTypes.endp = _endpos_b0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = w0;
+ MenhirLib.EngineTypes.startp = _startpos_w0_;
+ MenhirLib.EngineTypes.endp = _endpos_w0_;
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 = a0;
+ MenhirLib.EngineTypes.startp = _startpos_a0_;
+ MenhirLib.EngineTypes.endp = _endpos_a0_;
+ 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)
-# 25463 "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))
-# 25471 "parser_cocci_menhir.ml"
- ) =
-# 1859 "parser_cocci_menhir.mly"
- ( (P.id2name py, (_3, P.id2name cocci)) )
-# 25475 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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)
-# 25496 "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 ] )
-# 25503 "parser_cocci_menhir.ml"
+ let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+ let c0 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37634 "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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37641 "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
+
+# 1114 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 37654 "parser_cocci_menhir.ml"
+
+ in
+
+# 2086 "parser_cocci_menhir.mly"
+ ( a::b )
+# 37660 "parser_cocci_menhir.ml"
in
_menhir_env.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_TString_ = Obj.magic xs in
- let x : (
-# 87 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 25534 "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 )
-# 25541 "parser_cocci_menhir.ml"
+ let c0 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37696 "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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37703 "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
+
+# 1111 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+ P.clt2mcode "...>" c, List.concat w, false)) )
+# 37716 "parser_cocci_menhir.ml"
+
+ in
+
+# 2087 "parser_cocci_menhir.mly"
+ ( [a] )
+# 37722 "parser_cocci_menhir.ml"
in
_menhir_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_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 ] )
-# 25565 "parser_cocci_menhir.ml"
+ let c0 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37758 "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 : (
+# 142 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37765 "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
+
+# 1114 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+ P.clt2mcode "...+>" c, List.concat w, true)) )
+# 37778 "parser_cocci_menhir.ml"
+
+ in
+
+# 2087 "parser_cocci_menhir.mly"
+ ( [a] )
+# 37784 "parser_cocci_menhir.ml"
in
_menhir_env.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 )
-# 25599 "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_ =
+# 2088 "parser_cocci_menhir.mly"
+ ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
+# 37814 "parser_cocci_menhir.ml"
in
_menhir_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 ] )
-# 25623 "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_ =
+# 2089 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 37844 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_separated_nonempty_list_TComma_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 )
-# 25657 "parser_cocci_menhir.ml"
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_type_ident =
+# 1943 "parser_cocci_menhir.mly"
+ ( _1 )
+# 37868 "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_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 ] )
-# 25681 "parser_cocci_menhir.ml"
+ let _1 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 37889 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_type_ident =
+# 1945 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 37896 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 25715 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let x : 'tv_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 ] )
-# 25739 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37928 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37933 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 37945 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37951 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 37958 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 37964 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 25773 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37996 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38001 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 38013 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 38019 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38026 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38032 "parser_cocci_menhir.ml"
in
_menhir_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_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 ] )
-# 25797 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38064 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38069 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 38081 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 38087 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38094 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38100 "parser_cocci_menhir.ml"
in
_menhir_env.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.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_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 )
-# 25831 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 38132 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38137 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 38150 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 38156 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38163 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38169 "parser_cocci_menhir.ml"
in
_menhir_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.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 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 ] )
-# 25855 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 38210 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 38215 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38220 "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
+
+# 640 "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*))) )
+# 38239 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 38245 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38252 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38258 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 25889 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38290 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38295 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 38307 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 38313 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38320 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38326 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 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 ] )
-# 25913 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38363 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38368 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38373 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 38390 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 38396 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38403 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38409 "parser_cocci_menhir.ml"
in
_menhir_env.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_ = 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 )
-# 25947 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38441 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38446 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 38458 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38464 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38471 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38477 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 ] )
-# 25971 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38509 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38514 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 38526 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38532 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38539 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38545 "parser_cocci_menhir.ml"
in
_menhir_env.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_ = 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 )
-# 26005 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38577 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38582 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 38594 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38600 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38607 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38613 "parser_cocci_menhir.ml"
in
_menhir_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_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 ] )
-# 26029 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 38645 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38650 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 38663 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38669 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38676 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38682 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 )
-# 26063 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 38723 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 38728 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38733 "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
+
+# 640 "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*))) )
+# 38752 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38758 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38765 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38771 "parser_cocci_menhir.ml"
in
_menhir_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_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 ] )
-# 26087 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38803 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38808 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 38820 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38826 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38833 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38839 "parser_cocci_menhir.ml"
in
_menhir_env.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 = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
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 = 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 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 )
-# 26121 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38876 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38881 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38886 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 38903 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38909 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38916 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38922 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38949 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 38960 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 38966 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38973 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38979 "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;
- } = _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 ] )
-# 26145 "parser_cocci_menhir.ml"
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39006 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 39017 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 39023 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39030 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39036 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ 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 )
-# 26179 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39063 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 39074 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 39080 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39087 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39093 "parser_cocci_menhir.ml"
in
_menhir_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.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 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 ] )
-# 26203 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 39120 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 39132 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 39138 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39145 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39151 "parser_cocci_menhir.ml"
in
_menhir_env.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__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 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 )
-# 26237 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 39187 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 39192 "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
+
+# 640 "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*))) )
+# 39210 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 39216 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39223 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39229 "parser_cocci_menhir.ml"
in
_menhir_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_statement = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_single_statement =
-# 920 "parser_cocci_menhir.mly"
- ( _1 )
-# 26261 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39256 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 39267 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 39273 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39280 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39286 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26292 "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)
-# 26298 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_single_statement =
-# 924 "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)) )
-# 26309 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- 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_includes = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_statement =
-# 847 "parser_cocci_menhir.mly"
- ( _1 )
-# 26333 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39318 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39323 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 39339 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 39345 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39352 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39358 "parser_cocci_menhir.ml"
in
_menhir_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)
-# 26354 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_statement =
-# 849 "parser_cocci_menhir.mly"
- ( P.meta_stm _1 )
-# 26361 "parser_cocci_menhir.ml"
+ 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 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39385 "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
+
+# 657 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 39396 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39402 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39409 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39415 "parser_cocci_menhir.ml"
in
_menhir_env.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)
-# 26387 "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 =
-# 851 "parser_cocci_menhir.mly"
- ( P.exp_stm _1 _2 )
-# 26395 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39442 "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
+
+# 659 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 39453 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39459 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39466 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39472 "parser_cocci_menhir.ml"
in
_menhir_env.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 _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26437 "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)
-# 26443 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26448 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_statement =
-# 853 "parser_cocci_menhir.mly"
- ( P.ifthen _1 _2 _3 _4 _5 )
-# 26455 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39499 "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
+
+# 661 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 39510 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39516 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39523 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39529 "parser_cocci_menhir.ml"
in
_menhir_env.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 : 'tv_single_statement = Obj.magic _7 in
- let _6 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26507 "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)
-# 26513 "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)
-# 26519 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26524 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_statement =
-# 855 "parser_cocci_menhir.mly"
- ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 26531 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39556 "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
+
+# 663 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 39567 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39573 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39580 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39586 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _9;
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
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.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 _9 : 'tv_single_statement = Obj.magic _9 in
- let _8 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26593 "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)
-# 26599 "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)
-# 26605 "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)
-# 26611 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26616 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__9_ in
- let _v : 'tv_statement =
-# 858 "parser_cocci_menhir.mly"
- ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 26623 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39613 "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
+
+# 665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 39624 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39630 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39637 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39643 "parser_cocci_menhir.ml"
in
_menhir_env.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 _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26665 "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)
-# 26671 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26676 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_statement =
-# 860 "parser_cocci_menhir.mly"
- ( P.whileloop _1 _2 _3 _4 _5 )
-# 26683 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39670 "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
+
+# 667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 39681 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39687 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39694 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39700 "parser_cocci_menhir.ml"
in
_menhir_env.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 = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
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 = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _7 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26734 "parser_cocci_menhir.ml"
- ) = Obj.magic _7 in
- let _6 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26739 "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)
-# 26745 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26750 "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)
-# 26756 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_statement =
-# 862 "parser_cocci_menhir.mly"
- ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 26763 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39733 "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
+
+# 669 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 39746 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39752 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39759 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39765 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ 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 = _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 _5 : 'tv_single_statement = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26805 "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"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 26811 "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 =
-# 864 "parser_cocci_menhir.mly"
- ( P.iterator _1 _2 _3 _4 _5 )
-# 26819 "parser_cocci_menhir.ml"
+# 39807 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39813 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39818 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 39836 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 39845 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39851 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39858 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39864 "parser_cocci_menhir.ml"
in
_menhir_env.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 = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
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 = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
};
} = _menhir_stack in
- let _7 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26870 "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)
-# 26876 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26881 "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)
-# 26887 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26892 "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.switch _1 _2 _3 _4 _5 _6 _7 )
-# 26899 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39911 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39917 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39923 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 39944 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 39953 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 39959 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39966 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39972 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26930 "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)
-# 26936 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 867 "parser_cocci_menhir.mly"
- ( P.ret_exp _1 _2 _3 )
-# 26943 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_type_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
+
+# 676 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 40014 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 40020 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 40027 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40033 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 26969 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 26974 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 868 "parser_cocci_menhir.mly"
- ( P.ret _1 _2 )
-# 26981 "parser_cocci_menhir.ml"
+# 40075 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40081 "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 )
+# 40100 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 40110 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 40116 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 40123 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40129 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 _2 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27007 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 27012 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 869 "parser_cocci_menhir.mly"
- ( P.break _1 _2 )
-# 27019 "parser_cocci_menhir.ml"
+# 40176 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40182 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_type_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 )
+# 40205 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 40215 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 40221 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 40228 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40234 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27045 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 58 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 27050 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_statement =
-# 870 "parser_cocci_menhir.mly"
- ( P.cont _1 _2 )
-# 27057 "parser_cocci_menhir.ml"
+# 40276 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40282 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 40287 "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
+
+# 685 "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)) )
+# 40306 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 40312 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 40319 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40325 "parser_cocci_menhir.ml"
in
_menhir_env.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 = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27083 "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 =
-# 871 "parser_cocci_menhir.mly"
- ( P.label _1 _2 )
-# 27091 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 40352 "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
+
+# 689 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 40363 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 40369 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 40376 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40382 "parser_cocci_menhir.ml"
in
_menhir_env.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_;
+ let {
+ 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.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 : (
-# 107 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27122 "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)
-# 27128 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 872 "parser_cocci_menhir.mly"
- ( P.goto _1 _2 _3 )
-# 27135 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40419 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40424 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 40437 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40443 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 40451 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40457 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27166 "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)
-# 27172 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_statement =
-# 874 "parser_cocci_menhir.mly"
- ( P.seq _1 _2 _3 )
-# 27179 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40494 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40499 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 40512 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40518 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 40526 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40532 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 w : 'tv_list_whenppdecs_ = Obj.magic w in
- let _1 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27206 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_w_ in
- let _v : 'tv_stm_dots =
-# 878 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 27213 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40569 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40574 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 40587 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40593 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 40601 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40607 "parser_cocci_menhir.ml"
in
_menhir_env.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 = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ 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 = _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 c : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27249 "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"
- (Data.clt)
-# 27256 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_stm_dots =
-# 880 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
- P.clt2mcode "...>" c, List.concat w, false)) )
-# 27264 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 40644 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40649 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 40663 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40669 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 40677 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40683 "parser_cocci_menhir.ml"
in
_menhir_env.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 = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ 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 = 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 c : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27300 "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"
- (Data.clt)
-# 27307 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_stm_dots =
-# 883 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
- P.clt2mcode "...+>" c, List.concat w, true)) )
-# 27315 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 40729 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 40734 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40739 "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
+
+# 640 "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*))) )
+# 40759 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40765 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 40773 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40779 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 27336 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 805 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Static s )
-# 27343 "parser_cocci_menhir.ml"
+# 40816 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40821 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 40834 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40840 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 40848 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40854 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 s : (
-# 53 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 27364 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 806 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Auto s )
-# 27371 "parser_cocci_menhir.ml"
+# 40896 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40901 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40906 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 40924 "parser_cocci_menhir.ml"
+
+ in
+
+# 694 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40930 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 40938 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 40944 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 27392 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 807 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Register s )
-# 27399 "parser_cocci_menhir.ml"
+# 40981 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40986 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 40999 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41005 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41013 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41019 "parser_cocci_menhir.ml"
in
_menhir_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 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 27420 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_storage =
-# 808 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Extern s )
-# 27427 "parser_cocci_menhir.ml"
+# 41056 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41061 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 41074 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41080 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41088 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41094 "parser_cocci_menhir.ml"
in
_menhir_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 =
-# 512 "parser_cocci_menhir.mly"
- ( [] )
-# 27449 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41131 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41136 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 41149 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41155 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41163 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41169 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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)
-# 27480 "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 =
-# 514 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 27490 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 41206 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41211 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 41225 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41231 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41239 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41245 "parser_cocci_menhir.ml"
in
_menhir_env.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.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.semv = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
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)
-# 27551 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let rp2 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27556 "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)
-# 27562 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 77 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27567 "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)
-# 27573 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27578 "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 =
-# 518 "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))] )
-# 27592 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 41291 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 41296 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41301 "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
+
+# 640 "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*))) )
+# 41321 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41327 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41335 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41341 "parser_cocci_menhir.ml"
in
_menhir_env.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 = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- 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)
-# 27623 "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 =
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41378 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41383 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 41396 "parser_cocci_menhir.ml"
+
+ in
-# 39 "standard.mly"
- ( None )
-# 27633 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41402 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41410 "parser_cocci_menhir.ml"
in
-# 526 "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))] )
-# 27641 "parser_cocci_menhir.ml"
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41416 "parser_cocci_menhir.ml"
in
_menhir_env.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.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.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)
-# 27677 "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 ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41458 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41463 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41468 "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 ty20 = ty200 in
+ let ty10 = ty100 in
+ let r = r0 in
+ let ty =
+ let ty2 = ty20 in
+ let ty1 = ty10 in
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 41486 "parser_cocci_menhir.ml"
+
+ in
+
+# 696 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41492 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 27689 "parser_cocci_menhir.ml"
+# 41500 "parser_cocci_menhir.ml"
in
-# 526 "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))] )
-# 27697 "parser_cocci_menhir.ml"
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41506 "parser_cocci_menhir.ml"
in
_menhir_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_struct_decl_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list =
-# 531 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 27721 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41538 "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
+
+# 631 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 41550 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 41556 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41564 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41570 "parser_cocci_menhir.ml"
in
_menhir_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_struct_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list_start =
-# 534 "parser_cocci_menhir.mly"
- ( _1 )
-# 27745 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41602 "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
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 41614 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 41620 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41628 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41634 "parser_cocci_menhir.ml"
in
_menhir_env.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_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 =
-# 535 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 27775 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41666 "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
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 41678 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 41684 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41692 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41698 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 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 =
-# 537 "parser_cocci_menhir.mly"
- ( (P.mkddots "..." d)::r )
-# 27805 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 41730 "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
+
+# 637 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 41743 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 41749 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41757 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41763 "parser_cocci_menhir.ml"
in
_menhir_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 = 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 s : (
-# 50 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27826 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_s_ in
- let _v : 'tv_struct_or_union =
-# 508 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Struct s )
-# 27833 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 41804 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 41809 "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
+
+# 640 "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*))) )
+# 41828 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 41834 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41842 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41848 "parser_cocci_menhir.ml"
in
_menhir_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.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 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 27854 "parser_cocci_menhir.ml"
- ) = Obj.magic u in
- let _startpos = _startpos_u_ in
- let _endpos = _endpos_u_ in
- let _v : 'tv_struct_or_union =
-# 509 "parser_cocci_menhir.mly"
- ( P.clt2mcode Ast.Union u )
-# 27861 "parser_cocci_menhir.ml"
+# 41880 "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
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 41892 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 41898 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41906 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41912 "parser_cocci_menhir.ml"
in
_menhir_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_eexpr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_top_eexpr =
-# 1199 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 27885 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41949 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41954 "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
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 41971 "parser_cocci_menhir.ml"
+
+ in
+
+# 697 "parser_cocci_menhir.mly"
+ ( ty )
+# 41977 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 41985 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 41991 "parser_cocci_menhir.ml"
in
_menhir_env.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 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 27916 "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)
-# 27922 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_top_init =
-# 1637 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 27929 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42023 "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
+
+# 657 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 42035 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42041 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42049 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42055 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_toplevel_after_dots =
-# 1625 "parser_cocci_menhir.mly"
- ([])
-# 27946 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42087 "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
+
+# 659 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 42099 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42105 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42113 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42119 "parser_cocci_menhir.ml"
in
_menhir_env.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 =
-# 1626 "parser_cocci_menhir.mly"
- (_2)
-# 27974 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42151 "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
+
+# 661 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 42163 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42169 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42177 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42183 "parser_cocci_menhir.ml"
in
_menhir_env.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 =
-# 1627 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 28004 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42215 "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
+
+# 663 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 42227 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42233 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42241 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42247 "parser_cocci_menhir.ml"
in
_menhir_env.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 =
-# 1628 "parser_cocci_menhir.mly"
- (_1@_2)
-# 28034 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42279 "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
+
+# 665 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 42291 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42297 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42305 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42311 "parser_cocci_menhir.ml"
in
_menhir_env.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 =
-# 1616 "parser_cocci_menhir.mly"
- (_2)
-# 28062 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42343 "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
+
+# 667 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 42355 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42361 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42369 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42375 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 _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 =
-# 1617 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 28092 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42413 "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
+
+# 669 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 42427 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42433 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42441 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42447 "parser_cocci_menhir.ml"
in
_menhir_env.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 = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _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 =
-# 1618 "parser_cocci_menhir.mly"
- (_1@_2)
-# 28122 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42494 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42500 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42505 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 42524 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 42533 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42539 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42547 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42553 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_toplevel_after_exp =
-# 1621 "parser_cocci_menhir.mly"
- ([])
-# 28139 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42605 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42611 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42617 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42639 "parser_cocci_menhir.ml"
+
+ in
+
+# 671 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 42648 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42654 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42662 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42668 "parser_cocci_menhir.ml"
in
_menhir_env.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 = 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 _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 =
-# 1622 "parser_cocci_menhir.mly"
- (_1::_2)
-# 28169 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_type_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
+
+# 676 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 42716 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42722 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42730 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42736 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_toplevel_after_stm =
-# 1631 "parser_cocci_menhir.mly"
- ([])
-# 28186 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42783 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42789 "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 )
+# 42809 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 42819 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42825 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42833 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42839 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 _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 =
-# 1632 "parser_cocci_menhir.mly"
- (_1::_2)
-# 28216 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42891 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42897 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_type_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 )
+# 42921 "parser_cocci_menhir.ml"
+
+ in
+
+# 679 "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)) )
+# 42931 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 42937 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42945 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 42951 "parser_cocci_menhir.ml"
in
_menhir_env.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.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 _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 =
-# 1633 "parser_cocci_menhir.mly"
- (_1@_2)
-# 28246 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42998 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43004 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 43009 "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
+
+# 685 "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)) )
+# 43029 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 43035 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 43043 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 43049 "parser_cocci_menhir.ml"
in
_menhir_env.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_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_ =
-# 1611 "parser_cocci_menhir.mly"
- ( _1::_2 )
-# 28276 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 43081 "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
+
+# 689 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 43093 "parser_cocci_menhir.ml"
+
+ in
+
+# 698 "parser_cocci_menhir.mly"
+ ( ty )
+# 43099 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 43107 "parser_cocci_menhir.ml"
+
+ in
+
+# 719 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 43113 "parser_cocci_menhir.ml"
in
_menhir_env.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_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43144 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43150 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_typedef_ctype =
+# 721 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 43159 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ 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 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 43180 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1612 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 28306 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ctype =
+# 724 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 43187 "parser_cocci_menhir.ml"
in
_menhir_env.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_toplevel_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1613 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 28336 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ident =
+# 1963 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
+# 43211 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = 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 = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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)
-# 28369 "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
-
-# 888 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
-# 28379 "parser_cocci_menhir.ml"
-
- in
-
-# 1604 "parser_cocci_menhir.mly"
- ( a::b )
-# 28385 "parser_cocci_menhir.ml"
+ let _1 : (
+# 133 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 43232 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ident =
+# 1964 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 43239 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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)
-# 28427 "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)
-# 28434 "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
-
-# 892 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
- P.clt2mcode "...>" c, List.concat w, false)) )
-# 28447 "parser_cocci_menhir.ml"
-
- in
-
-# 1605 "parser_cocci_menhir.mly"
- ( a::b )
-# 28453 "parser_cocci_menhir.ml"
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 43260 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ident =
+# 1966 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 43268 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c0;
- MenhirLib.EngineTypes.startp = _startpos_c0_;
- MenhirLib.EngineTypes.endp = _endpos_c0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ 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)
-# 28495 "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)
-# 28502 "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
-
-# 895 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
- P.clt2mcode "...+>" c, List.concat w, true)) )
-# 28515 "parser_cocci_menhir.ml"
-
- in
-
-# 1605 "parser_cocci_menhir.mly"
- ( a::b )
-# 28521 "parser_cocci_menhir.ml"
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
+# 1540 "parser_cocci_menhir.mly"
+ ( _1 )
+# 43292 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
- } = _menhir_stack in
- let c0 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28557 "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)
-# 28564 "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
-
-# 892 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
- P.clt2mcode "...>" c, List.concat w, false)) )
-# 28577 "parser_cocci_menhir.ml"
-
- in
-
-# 1606 "parser_cocci_menhir.mly"
- ( [a] )
-# 28583 "parser_cocci_menhir.ml"
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 154 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43319 "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_ =
+# 1542 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 43326 "parser_cocci_menhir.ml"
in
_menhir_env.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 = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b0;
- MenhirLib.EngineTypes.startp = _startpos_b0_;
- MenhirLib.EngineTypes.endp = _endpos_b0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w0;
- MenhirLib.EngineTypes.startp = _startpos_w0_;
- MenhirLib.EngineTypes.endp = _endpos_w0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a0;
- MenhirLib.EngineTypes.startp = _startpos_a0_;
- MenhirLib.EngineTypes.endp = _endpos_a0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let c0 : (
-# 73 "parser_cocci_menhir.mly"
- (Data.clt)
-# 28619 "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"
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 28626 "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
-
-# 895 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
- P.clt2mcode "...+>" c, List.concat w, true)) )
-# 28639 "parser_cocci_menhir.ml"
-
- in
-
-# 1606 "parser_cocci_menhir.mly"
- ( [a] )
-# 28645 "parser_cocci_menhir.ml"
+# 43353 "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_ =
+# 1544 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 43360 "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_toplevel_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
-# 1607 "parser_cocci_menhir.mly"
- ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 28675 "parser_cocci_menhir.ml"
+ let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
+# 1546 "parser_cocci_menhir.mly"
+ ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43390 "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_toplevel_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43417 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
-# 1608 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 28705 "parser_cocci_menhir.ml"
+ let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
+# 1548 "parser_cocci_menhir.mly"
+ ( let mcode = P.clt2mcode Ast.Not _1 in
+ Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43425 "parser_cocci_menhir.ml"
in
_menhir_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_pure_ident = Obj.magic _1 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43452 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_typedef_ident =
-# 1516 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 28729 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
+# 1551 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 43459 "parser_cocci_menhir.ml"
in
_menhir_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 = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 28750 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_typedef_ident =
-# 1518 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 28758 "parser_cocci_menhir.ml"
+ let rp : (
+# 146 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43495 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43501 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let s : (
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43506 "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_ =
+# 1553 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+ P.clt2mcode "(" lp,t,
+ P.clt2mcode ")" rp)) )
+# 43515 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1288 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1540 "parser_cocci_menhir.mly"
( _1 )
-# 28782 "parser_cocci_menhir.ml"
+# 43539 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 28809 "parser_cocci_menhir.ml"
+# 43566 "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_ =
-# 1290 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1542 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 28816 "parser_cocci_menhir.ml"
+# 43573 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 28843 "parser_cocci_menhir.ml"
+# 43600 "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_ =
-# 1292 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1544 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 28850 "parser_cocci_menhir.ml"
+# 43607 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1294 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1546 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 28880 "parser_cocci_menhir.ml"
+# 43637 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 28907 "parser_cocci_menhir.ml"
+# 43664 "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_ =
-# 1296 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1548 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 28915 "parser_cocci_menhir.ml"
+# 43672 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 28942 "parser_cocci_menhir.ml"
+# 43699 "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_ =
-# 1299 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1551 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 28949 "parser_cocci_menhir.ml"
+# 43706 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 28985 "parser_cocci_menhir.ml"
+# 43742 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 28991 "parser_cocci_menhir.ml"
+# 43748 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 28996 "parser_cocci_menhir.ml"
+# 43753 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_invalid_ =
+# 1553 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29005 "parser_cocci_menhir.ml"
+# 43762 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1288 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1540 "parser_cocci_menhir.mly"
( _1 )
-# 29029 "parser_cocci_menhir.ml"
+# 43786 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 29056 "parser_cocci_menhir.ml"
+# 43813 "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_ =
-# 1290 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1542 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 29063 "parser_cocci_menhir.ml"
+# 43820 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 29090 "parser_cocci_menhir.ml"
+# 43847 "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_ =
-# 1292 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1544 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 29097 "parser_cocci_menhir.ml"
+# 43854 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1294 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1546 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29127 "parser_cocci_menhir.ml"
+# 43884 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 29154 "parser_cocci_menhir.ml"
+# 43911 "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_ =
-# 1296 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1548 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29162 "parser_cocci_menhir.ml"
+# 43919 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29189 "parser_cocci_menhir.ml"
+# 43946 "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_ =
-# 1299 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1551 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 29196 "parser_cocci_menhir.ml"
+# 43953 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 29232 "parser_cocci_menhir.ml"
+# 43989 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 29238 "parser_cocci_menhir.ml"
+# 43995 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29243 "parser_cocci_menhir.ml"
+# 44000 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
+# 1553 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29252 "parser_cocci_menhir.ml"
+# 44009 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1288 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1540 "parser_cocci_menhir.mly"
( _1 )
-# 29276 "parser_cocci_menhir.ml"
+# 44033 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 29303 "parser_cocci_menhir.ml"
+# 44060 "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_ =
-# 1290 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1542 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 29310 "parser_cocci_menhir.ml"
+# 44067 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 29337 "parser_cocci_menhir.ml"
+# 44094 "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_ =
-# 1292 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1544 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 29344 "parser_cocci_menhir.ml"
+# 44101 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1294 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1546 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29374 "parser_cocci_menhir.ml"
+# 44131 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 29401 "parser_cocci_menhir.ml"
+# 44158 "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_ =
-# 1296 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1548 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29409 "parser_cocci_menhir.ml"
+# 44166 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29436 "parser_cocci_menhir.ml"
+# 44193 "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_ =
-# 1299 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1551 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 29443 "parser_cocci_menhir.ml"
+# 44200 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 29479 "parser_cocci_menhir.ml"
+# 44236 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 29485 "parser_cocci_menhir.ml"
+# 44242 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29490 "parser_cocci_menhir.ml"
+# 44247 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_expr_invalid_ =
+# 1553 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29499 "parser_cocci_menhir.ml"
+# 44256 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_unary_expr_expr_invalid_ =
-# 1288 "parser_cocci_menhir.mly"
- ( _1 )
-# 29523 "parser_cocci_menhir.ml"
+ let _v : 'tv_unary_expr_bis =
+# 1559 "parser_cocci_menhir.mly"
+ ( _1 )
+# 44280 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 29550 "parser_cocci_menhir.ml"
+# 44307 "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_ =
-# 1290 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_bis =
+# 1561 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 29557 "parser_cocci_menhir.ml"
+# 44314 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
(Data.clt)
-# 29584 "parser_cocci_menhir.ml"
+# 44341 "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_ =
-# 1292 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_bis =
+# 1563 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 29591 "parser_cocci_menhir.ml"
+# 44348 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
let _1 : 'tv_unary_op = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_unary_expr_expr_invalid_ =
-# 1294 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_bis =
+# 1565 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29621 "parser_cocci_menhir.ml"
+# 44378 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 29648 "parser_cocci_menhir.ml"
+# 44405 "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_ =
-# 1296 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_bis =
+# 1567 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 29656 "parser_cocci_menhir.ml"
+# 44413 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29683 "parser_cocci_menhir.ml"
+# 44440 "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_ =
-# 1299 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_bis =
+# 1570 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 29690 "parser_cocci_menhir.ml"
+# 44447 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
(Data.clt)
-# 29726 "parser_cocci_menhir.ml"
+# 44483 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 29732 "parser_cocci_menhir.ml"
+# 44489 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29737 "parser_cocci_menhir.ml"
+# 44494 "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_ =
-# 1301 "parser_cocci_menhir.mly"
+ let _v : 'tv_unary_expr_bis =
+# 1572 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 29746 "parser_cocci_menhir.ml"
+# 44503 "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 : (
-# 93 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 29767 "parser_cocci_menhir.ml"
+# 44524 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1305 "parser_cocci_menhir.mly"
+# 1576 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.GetRef _1 )
-# 29774 "parser_cocci_menhir.ml"
+# 44531 "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 : (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 29795 "parser_cocci_menhir.ml"
+# 44552 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1306 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.DeRef _1 )
-# 29802 "parser_cocci_menhir.ml"
+# 44559 "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 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 29823 "parser_cocci_menhir.ml"
+# 44580 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1307 "parser_cocci_menhir.mly"
+# 1578 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnPlus _1 )
-# 29830 "parser_cocci_menhir.ml"
+# 44587 "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 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 29851 "parser_cocci_menhir.ml"
+# 44608 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1308 "parser_cocci_menhir.mly"
+# 1579 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnMinus _1 )
-# 29858 "parser_cocci_menhir.ml"
+# 44615 "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 : (
-# 99 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
(Data.clt)
-# 29879 "parser_cocci_menhir.ml"
+# 44636 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1309 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Tilde _1 )
-# 29886 "parser_cocci_menhir.ml"
+# 44643 "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 =
-# 1730 "parser_cocci_menhir.mly"
+# 2216 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 29916 "parser_cocci_menhir.ml"
+# 44673 "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 =
-# 1732 "parser_cocci_menhir.mly"
+# 2218 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 29946 "parser_cocci_menhir.ml"
+# 44703 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos_w_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let w : 'tv_whens_when_start_rule_elem_statement_ = Obj.magic w in
+ let w : 'tv_whens_when_start_rule_elem_statement_any_strict_ = Obj.magic w in
let _startpos = _startpos_w_ in
let _endpos = _endpos_w_ in
let _v : 'tv_whenppdecs =
-# 899 "parser_cocci_menhir.mly"
+# 1118 "parser_cocci_menhir.mly"
( w )
-# 29970 "parser_cocci_menhir.ml"
+# 44727 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let w : 'tv_when_start = Obj.magic w in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
- let _v : 'tv_whens_when_start_rule_elem_statement_ =
-# 1798 "parser_cocci_menhir.mly"
+ let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
+# 2263 "parser_cocci_menhir.mly"
( [Ast0.WhenNot w] )
-# 30006 "parser_cocci_menhir.ml"
+# 44763 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let w : 'tv_rule_elem_statement = Obj.magic w in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
- let _v : 'tv_whens_when_start_rule_elem_statement_ =
-# 1799 "parser_cocci_menhir.mly"
+ let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
+# 2264 "parser_cocci_menhir.mly"
( [Ast0.WhenAlways w] )
-# 30042 "parser_cocci_menhir.ml"
+# 44799 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _2 : 'tv_comma_list_any_strict_ = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_whens_when_start_rule_elem_statement_ =
-# 1801 "parser_cocci_menhir.mly"
+ let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
+# 2266 "parser_cocci_menhir.mly"
( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 30074 "parser_cocci_menhir.ml"
+# 44831 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let e : 'tv_eexpr = Obj.magic e in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
- let _v : 'tv_whens_when_start_rule_elem_statement_ =
-# 1802 "parser_cocci_menhir.mly"
+ let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
+# 2267 "parser_cocci_menhir.mly"
( [Ast0.WhenNotTrue e] )
-# 30110 "parser_cocci_menhir.ml"
+# 44867 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let e : 'tv_eexpr = Obj.magic e in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
- let _v : 'tv_whens_when_start_rule_elem_statement_ =
-# 1803 "parser_cocci_menhir.mly"
+ let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
+# 2268 "parser_cocci_menhir.mly"
( [Ast0.WhenNotFalse e] )
-# 30146 "parser_cocci_menhir.ml"
+# 44903 "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 1534 lexer lexbuf) : (
-# 159 "parser_cocci_menhir.mly"
- (string * (string * string))
-# 30170 "parser_cocci_menhir.ml"
+ (Obj.magic (MenhirInterpreter.entry 2059 lexer lexbuf) : (
+# 230 "parser_cocci_menhir.mly"
+ ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 44927 "parser_cocci_menhir.ml"
))
and rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1470 lexer lexbuf) : (
-# 153 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1984 lexer lexbuf) : (
+# 224 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 30178 "parser_cocci_menhir.ml"
+# 44935 "parser_cocci_menhir.ml"
))
and reinit =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1468 lexer lexbuf) : (
-# 131 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1982 lexer lexbuf) : (
+# 202 "parser_cocci_menhir.mly"
(unit)
-# 30186 "parser_cocci_menhir.ml"
+# 44943 "parser_cocci_menhir.ml"
))
and plus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1432 lexer lexbuf) : (
-# 140 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1946 lexer lexbuf) : (
+# 211 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30194 "parser_cocci_menhir.ml"
+# 44951 "parser_cocci_menhir.ml"
))
and plus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1423 lexer lexbuf) : (
-# 143 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1938 lexer lexbuf) : (
+# 214 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30202 "parser_cocci_menhir.ml"
+# 44959 "parser_cocci_menhir.ml"
))
and never_used =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1417 lexer lexbuf) : (
-# 168 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1932 lexer lexbuf) : (
+# 239 "parser_cocci_menhir.mly"
(unit)
-# 30210 "parser_cocci_menhir.ml"
+# 44967 "parser_cocci_menhir.ml"
))
and minus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1331 lexer lexbuf) : (
-# 134 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1847 lexer lexbuf) : (
+# 205 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30218 "parser_cocci_menhir.ml"
+# 44975 "parser_cocci_menhir.ml"
))
and minus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1307 lexer lexbuf) : (
-# 137 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1835 lexer lexbuf) : (
+# 208 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 30226 "parser_cocci_menhir.ml"
+# 44983 "parser_cocci_menhir.ml"
))
and meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1304 lexer lexbuf) : (
-# 157 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1832 lexer lexbuf) : (
+# 228 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 30234 "parser_cocci_menhir.ml"
+# 44991 "parser_cocci_menhir.ml"
))
and iso_rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1300 lexer lexbuf) : (
-# 149 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1828 lexer lexbuf) : (
+# 220 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 30242 "parser_cocci_menhir.ml"
+# 44999 "parser_cocci_menhir.ml"
))
and iso_meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1104 lexer lexbuf) : (
-# 165 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1538 lexer lexbuf) : (
+# 236 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 30250 "parser_cocci_menhir.ml"
+# 45007 "parser_cocci_menhir.ml"
))
and iso_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 10 lexer lexbuf) : (
-# 162 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
+# 233 "parser_cocci_menhir.mly"
(Ast0_cocci.anything list list)
-# 30258 "parser_cocci_menhir.ml"
+# 45015 "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)
-# 30266 "parser_cocci_menhir.ml"
+# 217 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 45023 "parser_cocci_menhir.ml"
))